Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/guide/list-of-differences.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ See a full list of differences between HyperFormula, Microsoft Excel, and Google
| Functionality | Examples | HyperFormula | Google Sheets | Microsoft Excel |
|----------------------------------------------------|---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------|
| Dependency collection | A1:=IF(FALSE(), A1, 0)<br><br>ISREF(A1) | Dependencies are collected during the parsing phase, which finds cycles that wouldn't appear in the evaluation.<br><br>`CYCLE` error for both examples. | Dependencies are collected during evaluation.<br><br>`0` for both examples. | Same as Google Sheets. |
| Circular references | A1:=A1+1 | Always returns a `CYCLE` error. (Iterative calculation, which would allow this to converge to a value instead, is not yet part of a released version — see [#1545](https://github.com/handsontable/hyperformula/issues/1545).) | Not verified. | Iterative calculation is off by default: no cell-level error, the cell silently settles to a computed value (`0` for a simple self-reference) with no way to detect the cycle from the result alone. |
| Named expressions and named ranges | SALARY:=$A$10 COST:=10*$B$5+100<br>PROFIT:=SALARY-COST<br>A1:=SALARY-COST | Only absolute addresses are allowed<br>(e.g., SALARY:= $A$10).<br><br>Named expressions can be global or scoped to one sheet only.<br><br>They can contain other named expressions. | Named expressions are not available.<br><br>Named ranges can be used to create aliases for addresses and ranges. | Named ranges and scoped named expressions are available. |
| Named expression names | ProductPrice1:=42 | A name must be distinctive from a cell reference (case-insensitive), so `ProductPrice1` is invalid. See [complete naming rules](named-expressions.md#name-rules). | A name that is a valid cell reference is allowed if the column address is at least 4-letter long, so `ProductPrice1` is valid. | A name that is a valid cell reference is allowed if the column address is at least 4-letter long, so `ProductPrice1` is valid. |
| Applying a scalar value to a function taking range | COLUMNS(A1) | `CellRangeExpected` error. | Treats the element as length-1 range. Returns 1 for the example. | Same as Google Sheets. |
Expand Down
Loading