Skip to content
SumOfficeSumOfficeSumOffice

Formulas and calculation

Recalculation, calculation modes, dependency tracing, formula auditing, named ranges, and what-if analysis. Operations on this page: 17.

Recalculation, calculation modes, dependency tracing, formula auditing, named ranges, and what-if analysis. Terms are in the glossary.

The list is taken from the registry in the delivery — it holds 508 functions, one entry per name; each records its category and the stage at which it goes live. The names are canonical English ones — that is how the core accepts them; in the Russian-language interface they are shown in Russian.

Category Functions Count
Math ABS, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, ASIN, ASINH, ATAN, ATAN2, ATANH, AVERAGE, AVERAGEIF, AVERAGEIFS, CEILING, CEILING.MATH, CEILING.PRECISE, COMBIN, COMBINA, COS, COSH, COT, COTH, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS, CSC, CSCH, DEGREES, EVEN, EXP, FACT, FACTDOUBLE, FLOOR, FLOOR.MATH, FLOOR.PRECISE, GCD, INT, ISO.CEILING, LCM, LN, LOG, LOG10, MAX, MAXA, MAXIFS, MDETERM, MIN, MINA, MINIFS, MINVERSE, MMULT, MOD, MROUND, MULTINOMIAL, MUNIT, ODD, PERCENTOF, PERMUT, PERMUTATIONA, PI, POWER, PRODUCT, QUOTIENT, RADIANS, RAND, RANDBETWEEN, ROUND, ROUNDDOWN, ROUNDUP, SEC, SECH, SERIESSUM, SIGN, SIN, SINH, SQRT, SQRTPI, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, TAN, TANH, TRUNC 92
Text ARRAYTOTEXT, ASC, BAHTTEXT, CHAR, CLEAN, CODE, CONCAT, CONCATENATE, DBCS, DOLLAR, ENCODEURL, EXACT, FILTERXML, FIND, FINDB, FIXED, JIS, LEFT, LEFTB, LEN, LENB, LOWER, MID, MIDB, NUMBERVALUE, PHONETIC, PROPER, REGEXEXTRACT, REGEXREPLACE, REGEXTEST, REPLACE, REPLACEB, REPT, RIGHT, RIGHTB, SEARCH, SEARCHB, SUBSTITUTE, TEXT, TEXTAFTER, TEXTBEFORE, TEXTJOIN, TEXTSPLIT, TRIM, UNICHAR, UNICODE, UPPER, VALUETOTEXT, WEBSERVICE 49
Lookup and reference ADDRESS, ANCHORARRAY, AREAS, BYCOL, BYROW, CHOOSECOLS, CHOOSEROWS, COLUMN, COLUMNS, DROP, EXPAND, FILTER, GETPIVOTDATA, GROUPBY, HLOOKUP, HSTACK, HYPERLINK, IMAGE, INDEX, INDIRECT, LOOKUP, MAKEARRAY, MAP, MATCH, OFFSET, PIVOTBY, RANDARRAY, REDUCE, ROW, ROWS, SCAN, SEQUENCE, SHEET, SHEETS, SORT, SORTBY, TAKE, TOCOL, TOROW, TRANSPOSE, TRIMRANGE, UNIQUE, VLOOKUP, VSTACK, WRAPCOLS, WRAPROWS, XLOOKUP, XMATCH 48
Date and time DATE, DATEDIF, DATEVALUE, DAY, DAYS, DAYS360, EDATE, EOMONTH, HOUR, ISOWEEKNUM, MINUTE, MONTH, NETWORKDAYS, NETWORKDAYS.INTL, NOW, SECOND, TIME, TIMEVALUE, TODAY, WEEKDAY, WEEKNUM, WORKDAY, WORKDAY.INTL, YEAR, YEARFRAC 25
Statistical AVEDEV, AVERAGEA, BETA.DIST, BETA.INV, BETADIST, BETAINV, BINOM.DIST, BINOM.DIST.RANGE, BINOM.INV, BINOMDIST, CHIDIST, CHIINV, CHISQ.DIST, CHISQ.DIST.RT, CHISQ.INV, CHISQ.INV.RT, CHISQ.TEST, CHITEST, CONFIDENCE, CONFIDENCE.NORM, CONFIDENCE.T, CORREL, COVAR, COVARIANCE.P, COVARIANCE.S, CRITBINOM, DEVSQ, EXPON.DIST, EXPONDIST, F.DIST, F.DIST.RT, F.INV, F.INV.RT, F.TEST, FDIST, FINV, FISHER, FISHERINV, FORECAST, FORECAST.ETS, FORECAST.ETS.CONFINT, FORECAST.ETS.SEASONALITY, FORECAST.ETS.STAT, FORECAST.LINEAR, FREQUENCY, FTEST, GAMMA, GAMMA.DIST, GAMMA.INV, GAMMADIST, GAMMAINV, GAMMALN, GAMMALN.PRECISE, GAUSS, GEOMEAN, GROWTH, HARMEAN, HYPGEOM.DIST, HYPGEOMDIST, INTERCEPT, KURT, LARGE, LINEST, LOGEST, LOGINV, LOGNORM.DIST, LOGNORM.INV, LOGNORMDIST, MEDIAN, MODE, MODE.MULT, MODE.SNGL, NEGBINOM.DIST, NEGBINOMDIST, NORM.DIST, NORM.INV, NORM.S.DIST, NORM.S.INV, NORMDIST, NORMINV, NORMSDIST, NORMSINV, PEARSON, PERCENTILE, PERCENTILE.EXC, PERCENTILE.INC, PERCENTRANK.EXC, PERCENTRANK.INC, PHI, POISSON, POISSON.DIST, PROB, QUARTILE, QUARTILE.EXC, QUARTILE.INC, RANK, RANK.AVG, RANK.EQ, RSQ, SKEW, SKEW.P, SLOPE, SMALL, STANDARDIZE, STDEV, STDEV.P, STDEV.S, STDEVA, STDEVP, STDEVPA, STEYX, T.DIST, T.DIST.2T, T.DIST.RT, T.INV, T.INV.2T, T.TEST, TDIST, TINV, TREND, TRIMMEAN, TTEST, VAR, VAR.P, VAR.S, VARA, VARP, VARPA, WEIBULL, WEIBULL.DIST, Z.TEST, ZTEST 132
Logical AND, CHOOSE, FALSE, IF, IFERROR, IFNA, IFS, ISOMITTED, LAMBDA, LET, NOT, OR, SWITCH, TRUE, XOR 15
Information CELL, ERROR.TYPE, FORMULATEXT, INFO, ISBLANK, ISERR, ISERROR, ISEVEN, ISFORMULA, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISODD, ISREF, ISTEXT, N, NA, T, TYPE, VALUE 21
Financial ACCRINT, ACCRINTM, AMORDEGRC, AMORLINC, COUPDAYBS, COUPDAYS, COUPDAYSNC, COUPNCD, COUPNUM, COUPPCD, CUMIPMT, CUMPRINC, DB, DDB, DISC, DOLLARDE, DOLLARFR, DURATION, EFFECT, FV, FVSCHEDULE, INTRATE, IPMT, IRR, ISPMT, MDURATION, MIRR, NOMINAL, NPER, NPV, ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD, PDURATION, PMT, PPMT, PRICE, PRICEDISC, PRICEMAT, PV, RATE, RECEIVED, RRI, SLN, SYD, TBILLEQ, TBILLPRICE, TBILLYIELD, VDB, XIRR, XNPV, YIELD, YIELDDISC, YIELDMAT 55
Engineering ARABIC, BASE, BESSELI, BESSELJ, BESSELK, BESSELY, BIN2DEC, BIN2HEX, BIN2OCT, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, COMPLEX, CONVERT, DEC2BIN, DEC2HEX, DEC2OCT, DECIMAL, DELTA, ERF, ERF.PRECISE, ERFC, ERFC.PRECISE, GESTEP, HEX2BIN, HEX2DEC, HEX2OCT, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, OCT2BIN, OCT2DEC, OCT2HEX, ROMAN 58
Database DAVERAGE, DCOUNT, DCOUNTA, DGET, DMAX, DMIN, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP 12
Compatibility PERCENTRANK 1

A name being on the list means the function is known to the core and has an owner of its meaning. The stage at which it goes live is recorded in the same registry entry — that’s a matter for the capability profile, not a blanket promise.

Builds lookup indexes.

Request

Field TypeScript type Req.
operation "build_lookup_indices" yes
subsetId string yes
ranges CellRange[] yes
mode LookupIndexMode yes
requestedBackend ComputeBackendKind | null no

Response on success · build_lookup_indices

Field TypeScript type Req.
operation "build_lookup_indices" yes
subsetId string yes
session ContractSubsetSessionInfo yes
supportedSubset string yes
mode LookupIndexMode yes
duplicatePolicy string yes
indexHandles LookupIndexHandleInfo[] yes

Minimal JSON template

{
"operation": "build_lookup_indices",
"subsetId": "<subsetId>",
"ranges": [],
"mode": "<LookupIndexMode>",
"requestedBackend": "native-desktop"
}

Formula recalculation: what controls the workbook’s calculation engine.

Request

Field TypeScript type Req.
operation "calculate" yes
subsetId string yes
scope ContractCalculationScope yes
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · calculate

Field TypeScript type Req.
operation "calculate" yes
subsetId string yes
session ContractSubsetSessionInfo yes
supportedSubset string yes
scope ContractCalculationScope yes
formulaTrustSnapshot ContractFormulaTrustSnapshot | null no
delta DeltaSummary yes
changedKeys string[] yes
dirtyCellCount number yes
completionState "settled" | “incomplete” yes
supportedFormulaCount number yes
settledSupportedFormulaCount number yes
supportedDirtyCellCount number yes
supportedUnpublishedCellCount number yes
boundaryFormulaCount number yes
startedStatus ContractCalculationStatus yes
resultStatus ContractCalculationStatus yes
workbookGeneration number yes
loadedSheetCountBefore number yes
loadedSheetCountAfter number yes
dependencyBoundarySheetCount number yes
activeSheet ContractActiveSheetMeta yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes

Minimal JSON template

{
"operation": "calculate",
"subsetId": "<subsetId>",
"scope": "<ContractCalculationScope>",
"requestedBackend": "native-desktop"
}

Plans a consolidation — “Data” → “Consolidate” — in one atomic action.

Request

Field TypeScript type Req.
operation "consolidate_plan" yes
subsetId string yes
sourceRanges CellRange[] yes
destination CellRange yes
function ContractConsolidateFunction no
useTopRowLabels boolean no
useLeftColumnLabels boolean no
createLinks boolean no
expectedRevision number no
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · consolidate_plan

Field TypeScript type Req.
operation "consolidate_plan" yes
outputRange CellRange yes
sourceValueCount number yes
outputCellCount number yes
function ContractConsolidateFunction yes
useTopRowLabels boolean yes
useLeftColumnLabels boolean yes
createLinks false yes
mutation ContractConsolidationMutation yes

Minimal JSON template

{
"operation": "consolidate_plan",
"subsetId": "<subsetId>",
"sourceRanges": [],
"destination": "<CellRange>",
"requestedBackend": "native-desktop"
}

The Analysis Toolpak: descriptive statistics, a forecast sheet, and other tools from the “Data” tab.

Request

Field TypeScript type Req.
operation "data_analysis_toolpak" yes
subsetId string yes
intent ContractDataAnalysisAction yes
expectedWorkbookGeneration number | null no
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · data_analysis_toolpak

Field TypeScript type Req.
operation "data_analysis_toolpak" yes
subsetId string yes
targetSubsetId string yes
session ContractSubsetSessionInfo yes
delta DeltaSummary yes
action "run" | “undo” | “redo” | “cancel” yes
status string yes
tool ContractDataAnalysisTool["tool"] | null no
applied boolean yes
createdSheet boolean yes
createdWorkbook boolean yes
workbookGeneration number yes
outputRange CellRange | null no
chartPlan ContractDataAnalysisChartPlan | null no
changedKeys string[] yes
activeSheet ContractActiveSheetMeta yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes

Minimal JSON template

{
"operation": "data_analysis_toolpak",
"subsetId": "<subsetId>",
"intent": "<ContractDataAnalysisAction>",
"requestedBackend": "native-desktop"
}

Named-range values: reading what a name currently points to.

Request

Field TypeScript type Req.
operation "defined_name_values" yes
subsetId string yes
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · defined_name_values

Field TypeScript type Req.
operation "defined_name_values" yes
subsetId string yes
values ContractDefinedNameValue[] yes

Minimal JSON template

{
"operation": "defined_name_values",
"subsetId": "<subsetId>",
"requestedBackend": "native-desktop"
}

Named ranges in full: creating, changing, and deleting them with a scope, creating one from a selection, a single history entry, and rewriting formulas on rename.

Request

Field TypeScript type Req.
operation "defined_names_lifecycle" yes
subsetId string yes
intent ContractDefinedNamesIntent yes
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · defined_names_lifecycle

Field TypeScript type Req.
operation "defined_names_lifecycle" yes
subsetId string yes
session ContractSubsetSessionInfo yes
result ContractDefinedNamesResult yes
activeSheet ContractActiveSheetMeta yes
sheetCount number yes
workbookSheets ContractWorkbookSheetMeta[] yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes
layoutMetrics ContractLayoutMetricsSubset no

Minimal JSON template

{
"operation": "defined_names_lifecycle",
"subsetId": "<subsetId>",
"intent": "<ContractDefinedNamesIntent>",
"requestedBackend": "native-desktop"
}

Deletes a named range within given bounds.

Request

Field TypeScript type Req.
operation "delete_defined_name_bounded" yes
subsetId string yes
name string yes
scope "workbook" | “sheet” yes
scopeSheetKey string | null no
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · delete_defined_name_bounded

Field TypeScript type Req.
operation "delete_defined_name_bounded" yes
subsetId string yes
session ContractSubsetSessionInfo yes
supportedSubset string yes
delta DeltaSummary yes
deletedName string yes
activeSheet ContractActiveSheetMeta yes
sheetCount number yes
workbookSheets ContractWorkbookSheetMeta[] yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes
layoutMetrics ContractLayoutMetricsSubset no
definedNameDeleteClaim string yes

Minimal JSON template

{
"operation": "delete_defined_name_bounded",
"subsetId": "<subsetId>",
"name": "<string>",
"scope": "workbook",
"requestedBackend": "native-desktop"
}

Computes a formula trace.

Request

Field TypeScript type Req.
operation "evaluate_formula_trace" yes
subsetId string yes
action ContractFormulaEvaluationAction yes
anchorKey string no
traceId string no
expectedWorkbookGeneration number no
activeSheetKey string yes
requestedBackend ComputeBackendKind | null no

Response on success · evaluate_formula_trace

Field TypeScript type Req.
operation "evaluate_formula_trace" yes
subsetId string yes
traceId string | null yes
requestWorkbookGeneration number | null yes
workbookGeneration number yes
deterministicTraceHash string yes
anchorKey string yes
resolvedAnchorKey string yes
formulaSource string | null yes
currentStep ContractFormulaEvaluationStep | null yes
stepIndex number yes
stepCount number yes
stack ContractFormulaEvaluationStackFrame[] yes
value ContractFormulaEvaluationValue yes
trust ContractFormulaEvaluationTrust yes
referenceTargetKey string | null yes
diagnostic ContractFormulaEvaluationDiagnostic | null yes
outcome ContractFormulaEvaluationOutcome yes
actions ContractFormulaEvaluationActions yes
persistence ContractFormulaAuditingStatePersistence no

Minimal JSON template

{
"operation": "evaluate_formula_trace",
"subsetId": "<subsetId>",
"action": "<ContractFormulaEvaluationAction>",
"activeSheetKey": "<string>",
"requestedBackend": "native-desktop"
}

Error checking and the Watch Window — what lives on Excel’s “Formulas” tab.

Request

Field TypeScript type Req.
operation "formula_audit_watch" yes
subsetId string yes
action ContractFormulaAuditWatchAction yes
expectedWorkbookGeneration number yes
activeSheetKey string yes
targetKey string no
findingKind ContractFormulaAuditFindingKind no
requestedBackend ComputeBackendKind | null no

Response on success · formula_audit_watch

Field TypeScript type Req.
operation "formula_audit_watch" yes
subsetId string yes
requestWorkbookGeneration number yes
workbookGeneration number yes
deterministicSnapshotHash string yes
calculationMode ContractWorkbookCalculationMode yes
outcome ContractFormulaAuditOutcome yes
didChange boolean yes
findings ContractFormulaAuditFinding[] yes
watches ContractFormulaAuditWatchRow[] yes
counts ContractFormulaAuditCounts yes
actions ContractFormulaAuditActions yes
persistence ContractFormulaAuditingStatePersistence no

Minimal JSON template

{
"operation": "formula_audit_watch",
"subsetId": "<subsetId>",
"action": "<ContractFormulaAuditWatchAction>",
"expectedWorkbookGeneration": 0,
"activeSheetKey": "<string>",
"requestedBackend": "native-desktop"
}

Request

Field TypeScript type Req.
operation “formula_builder_catalog” yes
locale string yes

Response on success · formula_builder_catalog

Field TypeScript type Req.
operation “formula_builder_catalog” yes
catalog ContractFormulaBuilderCatalog yes

Minimal JSON template

{
"operation": "formula_builder_catalog",
"locale": "<locale>"
}

Request

Field TypeScript type Req. What it is
operation “formula_trust_window” yes A snapshot of formula trust over an arbitrary window of a live session (scroll-through).
subsetId string yes
sheetKey string yes
viewport ViewportWindow yes

Response on success · formula_trust_window

Field TypeScript type Req. What it is
operation “formula_trust_window” yes
subsetId string yes
sheetKey string yes
viewport ViewportWindow yes An echo of the requested window: the response cannot be fitted to a different window.
hydrated boolean yes false — the sheet index is still being built: the response is incomplete, and the window should not be considered covered.
formulaTrustSnapshot ContractFormulaTrustSnapshot yes

Minimal JSON template

{
"operation": "formula_trust_window",
"subsetId": "<subsetId>",
"sheetKey": "<sheetKey>",
"viewport": "<ViewportWindow>"
}

Recalculates a bound area.

Request

Field TypeScript type Req.
operation "recalc_frontier" yes
subsetId string yes
frontierKeys string[] yes
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · recalc_frontier

Field TypeScript type Req.
operation "recalc_frontier" yes
subsetId string yes
session ContractSubsetSessionInfo yes
supportedSubset string yes
delta DeltaSummary yes
changedKeys string[] yes
dirtyCellCount number yes
activeSheet ContractActiveSheetMeta yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes

Minimal JSON template

{
"operation": "recalc_frontier",
"subsetId": "<subsetId>",
"frontierKeys": [],
"requestedBackend": "native-desktop"
}

Recalculates the used range within given bounds.

Request

Field TypeScript type Req.
operation "recalculate_used_range_bounded" yes
subsetId string yes
sheetKey string yes
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · recalculate_used_range_bounded

Field TypeScript type Req.
operation "recalculate_used_range_bounded" yes
subsetId string yes
session ContractSubsetSessionInfo yes
supportedSubset string yes
delta DeltaSummary yes
changedSheet ContractActiveSheetMeta yes
previousUsedRange string yes
usedRange string yes
activeSheet ContractActiveSheetMeta yes
sheetCount number yes
workbookSheets ContractWorkbookSheetMeta[] yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes
layoutMetrics ContractLayoutMetricsSubset | null no
workbookHistory ContractWorkbookHistoryProjection yes
usedRangeRecalculateClaim "live_verified" yes
usedRangeRecalculateScope "same_workbook_worksheet_dimension_from_present_cells_and_metadata" yes
usedRangeDirtyCleared true yes

Minimal JSON template

{
"operation": "recalculate_used_range_bounded",
"subsetId": "<subsetId>",
"sheetKey": "<sheetPath>",
"requestedBackend": "native-desktop"
}

Sets recalculation settings.

Request

Field TypeScript type Req.
operation "set_calculation_options" yes
subsetId string yes
calculationMode Exclude< ContractWorkbookCalculationMode, "unknown" > | null no
recalculateBeforeSave boolean | null no
iterativeCalculationEnabled boolean | null no
maximumIterations number | null no
maximumChange number | null no
historyAction ContractCalculationOptionsHistoryAction no
expectedWorkbookGeneration number | null no
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · set_calculation_options

Field TypeScript type Req.
operation "set_calculation_options" yes
subsetId string yes
session ContractSubsetSessionInfo yes
previousCalculationMode ContractWorkbookCalculationMode yes
calculationMode ContractWorkbookCalculationMode yes
previousIterativeSettings ContractIterativeCalculationSettings yes
iterativeSettings ContractIterativeCalculationSettings yes
recalculateBeforeSave boolean | null no
historyAction ContractCalculationOptionsHistoryAction yes
workbookGeneration number yes
undoAvailable boolean yes
redoAvailable boolean yes
optionsChanged boolean yes
formulaTrustSnapshot ContractFormulaTrustSnapshot | null no
calculationPerformed boolean yes
changedKeys string[] yes
dirtyCellCount number yes
activeSheet ContractActiveSheetMeta yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes

Minimal JSON template

{
"operation": "set_calculation_options",
"subsetId": "<subsetId>",
"requestedBackend": "native-desktop"
}

Traces a formula’s dependencies.

Request

Field TypeScript type Req.
operation "trace_formula_dependencies" yes
subsetId string yes
anchorKey string yes
requestedBackend ComputeBackendKind | null no

Response on success · trace_formula_dependencies

Field TypeScript type Req.
operation "trace_formula_dependencies" yes
subsetId string yes
session ContractSubsetSessionInfo yes
supportedSubset string yes
anchorKey string yes
anchorFormula string | null yes
anchorStatus FormulaSubsetStatus yes
directPrecedentKeys string[] yes
directDependentKeys string[] yes
unsupportedReferences string[] yes
graphVersion number no
graphHash string no
maxDepth number no
edges ContractFormulaTraceEdge[] no
precedentTruncated boolean no
dependentTruncated boolean no
cycleGroups string[][] no
missingOrDeletedReferences string[] no
persistence ContractFormulaAuditingStatePersistence no

Minimal JSON template

{
"operation": "trace_formula_dependencies",
"subsetId": "<subsetId>",
"anchorKey": "<string>",
"requestedBackend": "native-desktop"
}

Creates or updates a named range within given bounds.

Request

Field TypeScript type Req.
operation "upsert_defined_name_bounded" yes
subsetId string yes
name string yes
refersTo string yes
scope "workbook" | “sheet” yes
scopeSheetKey string | null no
previousName string | null no
comment string | null no
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · upsert_defined_name_bounded

Field TypeScript type Req.
operation "upsert_defined_name_bounded" yes
subsetId string yes
session ContractSubsetSessionInfo yes
supportedSubset string yes
delta DeltaSummary yes
upsertedName string yes
refersTo string yes
activeSheet ContractActiveSheetMeta yes
sheetCount number yes
workbookSheets ContractWorkbookSheetMeta[] yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes
layoutMetrics ContractLayoutMetricsSubset no
definedNameUpsertClaim string yes

Minimal JSON template

{
"operation": "upsert_defined_name_bounded",
"subsetId": "<subsetId>",
"name": "<string>",
"refersTo": "<string>",
"scope": "workbook",
"requestedBackend": "native-desktop"
}

What-if analysis: goal seek, data tables, scenarios.

Request

Field TypeScript type Req.
operation "what_if_analysis" yes
subsetId string yes
intent ContractWhatIfAction yes
viewport ViewportWindow | null no
requestedBackend ComputeBackendKind | null no

Response on success · what_if_analysis

Field TypeScript type Req.
operation "what_if_analysis" yes
subsetId string yes
session ContractSubsetSessionInfo yes
delta DeltaSummary yes
action string yes
status string yes
previewToken string | null no
applied boolean yes
iterations number yes
solution number | null no
resultValue ContractWhatIfValue | null no
tableValues ContractWhatIfValue[][] yes
scenarios ContractWhatIfScenarioView[] yes
workbookHistory ContractWorkbookHistoryProjection yes
changedKeys string[] yes
dirtyCellCount number yes
activeSheet ContractActiveSheetMeta yes
geometry ContractGeometrySubset yes
recalcNeeded boolean yes
viewport ViewportWindow yes
previewCells ContractPreviewCell[] yes

Minimal JSON template

{
"operation": "what_if_analysis",
"subsetId": "<subsetId>",
"intent": "<ContractWhatIfAction>",
"requestedBackend": "native-desktop"
}

Documentation assistant

Answers are assembled from the documentation and may be inaccurate — check the sources.