Measured against Google Sheets itself.
Expected values come from Google Sheets, not from a specification. 12,885 cases, checked on every change.
- 12,885
- Cases in the corpus
- 12,671
- Matching Google Sheets
- 214
- Known divergences
- 98.34%
- Passing
How it works
Where the expected values come from.
Each expression is evaluated in Google Sheets and the result recorded. Those recorded answers are fixed, and every change to the engine is checked against them.
An engine checked against its own output can only ever agree with itself. Ours is checked against the system it claims to match.
Building that reference is most of the work, and it is why the numbers below mean something.
Where a naive engine drifts
=ROUND(2.5, 0)3Sheets rounds half away from zero. Banker’s rounding — the IEEE 754 default, and what Python’s round() does — returns 2.
="10" + 515Text coerces to a number in arithmetic. It does not in a comparison: ="10" = 10 is FALSE.
=1/0#DIV/0!An error is a value that flows onward through the sheet, not an exception that stops it.
=TEXT(DATE(2026, 13, 1), "yyyy-mm-dd")2027-01-01There is no month 13, so the date rolls forward into the next year rather than erroring.
By category
Every category, including the ones that fail.
A change that breaks any of these cannot ship. Published in full, including where we come up short.
| Category | Passing | Cases | Share passing |
|---|---|---|---|
| statistical | 3,191 | 3,191 | 3,191 of 3,191 passing |
| math | 2,006 | 2,006 | 2,006 of 2,006 passing |
| financial | 1,208 | 1,208 | 1,208 of 1,208 passing |
| engineering | 886 | 888 | 886 of 888 passing |
| text | 803 | 804 | 803 of 804 passing |
| array | 552 | 552 | 552 of 552 passing |
| date | 418 | 418 | 418 of 418 passing |
| lookup | 393 | 393 | 393 of 393 passing |
| logical | 267 | 267 | 267 of 267 passing |
| info | 256 | 256 | 256 of 256 passing |
| operator | 251 | 251 | 251 of 251 passing |
| database | 182 | 182 | 182 of 182 passing |
| parser | 93 | 93 | 93 of 93 passing |
| filter | 81 | 81 | 81 of 81 passing |
| web | 59 | 59 | 59 of 59 passing |
Known failures
- engineering — 2 of 888 cases do not match.
- text — 1 of 804 cases do not match.
These are tracked as bugs, not as accepted behaviour. They are listed here for the same reason they are listed in CI: a number you cannot check is not evidence.
What we do not match
214 cases we already know we fail.
Out of 12,885. Each one is a real Google Sheets behaviour the engine does not reproduce yet — found, recorded, and kept in the count rather than dropped from it.
We publish this number because a conformance claim you cannot check is a marketing claim. Figures as of 2026-08-05.
Found one we miss?
A formula that disagrees with Google Sheets is a bug. Send it to us and it joins the reference — permanently, for everyone.