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.
Which functions the core understands
Section titled “Which functions the core understands”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.
Operations on this page — 17
build_lookup_indicescalculateconsolidate_plandata_analysis_toolpakdefined_name_valuesdefined_names_lifecycledelete_defined_name_boundedevaluate_formula_traceformula_audit_watchformula_builder_catalogformula_trust_windowrecalc_frontierrecalculate_used_range_boundedset_calculation_optionstrace_formula_dependenciesupsert_defined_name_boundedwhat_if_analysis
build_lookup_indices
Section titled “build_lookup_indices”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"}calculate
Section titled “calculate”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"}consolidate_plan
Section titled “consolidate_plan”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"}data_analysis_toolpak
Section titled “data_analysis_toolpak”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"}defined_name_values
Section titled “defined_name_values”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"}defined_names_lifecycle
Section titled “defined_names_lifecycle”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"}delete_defined_name_bounded
Section titled “delete_defined_name_bounded”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"}evaluate_formula_trace
Section titled “evaluate_formula_trace”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"}formula_audit_watch
Section titled “formula_audit_watch”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"}formula_builder_catalog
Section titled “formula_builder_catalog”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>"}formula_trust_window
Section titled “formula_trust_window”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>"}recalc_frontier
Section titled “recalc_frontier”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"}recalculate_used_range_bounded
Section titled “recalculate_used_range_bounded”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"}set_calculation_options
Section titled “set_calculation_options”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"}trace_formula_dependencies
Section titled “trace_formula_dependencies”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"}upsert_defined_name_bounded
Section titled “upsert_defined_name_bounded”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
Section titled “what_if_analysis”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"}