Choose an environment, investigate the existing implementation and use the tests to check your change. Sign in to open a workspace; execution and Ono usage follow your plan’s allowances.
Evaluate a bounded workbook with 1..4 ASCII-named sheets and at most 80 stored cells. A1 addresses support columns A..IV and rows 1..9999. Literals are finite numbers up to 10^9, booleans or strings of at most 300 characters. Missing cells evaluate to zero; unknown sheets are #REF!.
Formulas support numeric/string/boolean literals, cross-sheet references, absolute anchors, rectangular ranges, parentheses, unary signs, right-associative powers, arithmetic, concatenation and typed comparisons. Multiplication/division bind above addition/subtraction. Numeric results above 10^12 are #NUM!; zero division is #DIV/0!.
SUM, COUNT, MIN, MAX and AVERAGE flatten ranges and use numeric values only. Empty MIN/MAX are zero; empty AVERAGE fails. IF takes exactly three arguments and evaluates only its selected branch. Range results cannot be used as scalars. Ranges are inclusive and limited to 256 cells.
Return before and after snapshots sorted by sheet, row and column, containing stored cells with value or error. Validate the entire update batch before applying it, then invalidate all transitive dependents using both old and new dependency graphs. Qualify recursion identities by sheet and cell. Unselected IF branches do not introduce evaluation cycles.
Optional translate shifts relative A1 coordinates while preserving absolute row/column anchors, sheet names, function names, strings and original spacing. Reject fractional shifts and references moved outside the grid. Return translated formula or null. All snapshots, formula errors and request validation are deterministic.
Evaluate a bounded workbook with 1..4 ASCII-named sheets and at most 80 stored cells. A1 addresses support columns A..IV and rows 1..9999. Literals are finite numbers up to 10^9, booleans or strings of at most 300 characters. Missing cells evaluate to zero; unknown sheets are #REF!.
Formulas support numeric/string/boolean literals, cross-sheet references, absolute anchors, rectangular ranges, parentheses, unary signs, right-associative powers, arithmetic, concatenation and typed comparisons. Multiplication/division bind above addition/subtraction. Numeric results above 10^12 are #NUM!; zero division is #DIV/0!.
SUM, COUNT, MIN, MAX and AVERAGE flatten ranges and use numeric values only. Empty MIN/MAX are zero; empty AVERAGE fails. IF takes exactly three arguments and evaluates only its selected branch. Range results cannot be used as scalars. Ranges are inclusive and limited to 256 cells.
Return before and after snapshots sorted by sheet, row and column, containing stored cells with value or error. Validate the entire update batch before applying it, then invalidate all transitive dependents using both old and new dependency graphs. Qualify recursion identities by sheet and cell. Unselected IF branches do not introduce evaluation cycles.
Optional translate shifts relative A1 coordinates while preserving absolute row/column anchors, sheet names, function names, strings and original spacing. Reject fractional shifts and references moved outside the grid. Return translated formula or null. All snapshots, formula errors and request validation are deterministic.
Evaluate a bounded workbook with 1..4 ASCII-named sheets and at most 80 stored cells. A1 addresses support columns A..IV and rows 1..9999. Literals are finite numbers up to 10^9, booleans or strings of at most 300 characters. Missing cells evaluate to zero; unknown sheets are #REF!.
Formulas support numeric/string/boolean literals, cross-sheet references, absolute anchors, rectangular ranges, parentheses, unary signs, right-associative powers, arithmetic, concatenation and typed comparisons. Multiplication/division bind above addition/subtraction. Numeric results above 10^12 are #NUM!; zero division is #DIV/0!.
SUM, COUNT, MIN, MAX and AVERAGE flatten ranges and use numeric values only. Empty MIN/MAX are zero; empty AVERAGE fails. IF takes exactly three arguments and evaluates only its selected branch. Range results cannot be used as scalars. Ranges are inclusive and limited to 256 cells.
Return before and after snapshots sorted by sheet, row and column, containing stored cells with value or error. Validate the entire update batch before applying it, then invalidate all transitive dependents using both old and new dependency graphs. Qualify recursion identities by sheet and cell. Unselected IF branches do not introduce evaluation cycles.
Optional translate shifts relative A1 coordinates while preserving absolute row/column anchors, sheet names, function names, strings and original spacing. Reject fractional shifts and references moved outside the grid. Return translated formula or null. All snapshots, formula errors and request validation are deterministic.
Evaluate a bounded workbook with 1..4 ASCII-named sheets and at most 80 stored cells. A1 addresses support columns A..IV and rows 1..9999. Literals are finite numbers up to 10^9, booleans or strings of at most 300 characters. Missing cells evaluate to zero; unknown sheets are #REF!.
Formulas support numeric/string/boolean literals, cross-sheet references, absolute anchors, rectangular ranges, parentheses, unary signs, right-associative powers, arithmetic, concatenation and typed comparisons. Multiplication/division bind above addition/subtraction. Numeric results above 10^12 are #NUM!; zero division is #DIV/0!.
SUM, COUNT, MIN, MAX and AVERAGE flatten ranges and use numeric values only. Empty MIN/MAX are zero; empty AVERAGE fails. IF takes exactly three arguments and evaluates only its selected branch. Range results cannot be used as scalars. Ranges are inclusive and limited to 256 cells.
Return before and after snapshots sorted by sheet, row and column, containing stored cells with value or error. Validate the entire update batch before applying it, then invalidate all transitive dependents using both old and new dependency graphs. Qualify recursion identities by sheet and cell. Unselected IF branches do not introduce evaluation cycles.
Optional translate shifts relative A1 coordinates while preserving absolute row/column anchors, sheet names, function names, strings and original spacing. Reject fractional shifts and references moved outside the grid. Return translated formula or null. All snapshots, formula errors and request validation are deterministic.