ASC |
=ASC("A123 ") |
A123U+0020executed 2026-08-31 |
A123U+3000executed 2026-08-31 · all 4 builds agree |
A123U+3000executed 2026-09-01 |
— |
All three differ |
— |
IMSQRT |
=IMSQRT("-4") |
1.22464679914735E-16+2iexecuted 2026-08-31 |
2iexecuted 2026-08-31 · all 4 builds agree |
1.22514845490862E-16+2iexecuted 2026-09-01 |
— |
All three differ |
SORT descending in Google Sheets: is_ascending vs sort_order |
IMSQRT |
=IMSQRT("-1") |
6.12323399573677E-17+iexecuted 2026-08-31 |
iexecuted 2026-08-31differs across builds: 24.2.0.3 → 1i; 24.8.7.2 → 1i |
6.1257422745431E-17+iexecuted 2026-09-01 |
— |
All three differ |
SORT descending in Google Sheets: is_ascending vs sort_order |
MIDB |
=MIDB("EXCEL",2,2) |
Xexecuted 2026-08-31 |
U+0020U+0020executed 2026-08-31 · all 4 builds agree |
XCexecuted 2026-09-01 |
— |
All three differ |
LENB and CJK text: byte counts that don't match the docs |
ACOT |
=ROUND(ACOT(-2),9) |
-0.463647609executed 2026-08-31 |
2.677945045executed 2026-09-04 · all 4 builds agree |
2.677945045executed 2026-09-01 |
3.14 |
Google Sheets differs |
ACOT of a negative number is off by pi in Google Sheets versus Excel and LibreOffice |
CONFIDENCE |
=ROUND(CONFIDENCE(A2,A3,A4),9) |
0.692951913executed 2026-08-31 |
0.692951912executed 2026-08-31 · all 4 builds agree |
0.692951912executed 2026-09-01 |
1e-09 |
Google Sheets differs |
— |
CONFIDENCE |
=ROUND(CONFIDENCE(A2,A3,50.9),9) |
0.692951913executed 2026-08-31 |
0.692951912executed 2026-08-31 · all 4 builds agree |
0.692951912executed 2026-09-01 |
1e-09 |
Google Sheets differs |
— |
CONFIDENCE.NORM |
=ROUND(CONFIDENCE.NORM(A2,A3,A4),9) |
0.692951913executed 2026-08-31 |
0.692951912executed 2026-08-31 · all 4 builds agree |
0.692951912executed 2026-09-01 |
1e-09 |
Google Sheets differs |
— |
CONFIDENCE.NORM |
=ROUND(CONFIDENCE.NORM(A2,A3,50.9),9) |
0.692951913executed 2026-08-31 |
0.692951912executed 2026-08-31 · all 4 builds agree |
0.692951912executed 2026-09-01 |
1e-09 |
Google Sheets differs |
— |
DISC |
=ROUND(DISC(DATE(2018,7,1),DATE(2048,1,1),97.975,100,1),12) |
0.000686345065executed 2026-08-31 |
0.000686384169executed 2026-08-31 · all 4 builds agree |
0.000686384169executed 2026-09-01 |
3.91e-08 |
Google Sheets differs |
Bond and treasury functions after a migration: what actually breaks When the documentation is wrong: 29 vendor doc defects found by execution |
HYPGEOMDIST |
=ROUND(HYPGEOMDIST(1.9,4.9,8.9,20.9),12) |
0.2724458204executed 2026-08-31 |
0.363261093911executed 2026-08-31 · all 4 builds agree |
0.363261093911executed 2026-09-01 |
0.0908 |
Google Sheets differs |
— |
LOGINV |
=ROUND(LOGINV(A2,A3,A4),10) |
4.00002521executed 2026-08-31 |
4.0000252187executed 2026-08-31 · all 4 builds agree |
4.0000252187executed 2026-09-01 |
8.7e-09 |
Google Sheets differs |
— |
LOGINV |
=ROUND(LOGINV(LOGNORMDIST(4,3.5,1.2),3.5,1.2),10) |
3.999999991executed 2026-08-31 |
4executed 2026-08-31 · all 4 builds agree |
4executed 2026-09-01 |
9e-09 |
Google Sheets differs |
— |
LOGNORM.INV |
=ROUND(LOGNORM.INV(A2,A3,A4),10) |
4.00002521executed 2026-08-31 |
4.0000252187executed 2026-08-31 · all 4 builds agree |
4.0000252187executed 2026-09-01 |
8.7e-09 |
Google Sheets differs |
— |
LOGNORM.INV |
=ROUND(LOGNORM.INV(LOGNORM.DIST(4,3.5,1.2,TRUE),3.5,1.2),10) |
3.999999991executed 2026-08-31 |
4executed 2026-08-31 · all 4 builds agree |
4executed 2026-09-01 |
9e-09 |
Google Sheets differs |
— |
NORMSINV |
=ROUND(NORMSINV(0.9088),8) |
1.33340174executed 2026-08-31 |
1.33340175executed 2026-08-31 · all 4 builds agree |
1.33340175executed 2026-09-01 |
1e-08 |
Google Sheets differs |
— |
SORT |
=SORT(A1:A5,1,-1) |
1executed 2026-08-29 |
5executed 2026-07-29differs across builds: 24.2.0.3 → #NAME? |
5executed 2026-09-01 |
4 |
Google Sheets differs |
Which LibreOffice version for VSTACK, TEXTSPLIT, TAKE & DROP? SORT descending in Google Sheets: is_ascending vs sort_order Your function exists but your file cannot say so: _xlfn storage tokens |
TO_DOLLARS |
=ISNUMBER(TO_DOLLARS(5)) |
TRUEexecuted 2026-09-01 |
FALSEexecuted 2026-09-01 · all 4 builds agree |
FALSEexecuted 2026-09-01 |
— |
Google Sheets differs |
Google-only functions: what ports to Excel and LibreOffice, and what does not |
TO_PERCENT |
=ISNUMBER(TO_PERCENT(0.5)) |
TRUEexecuted 2026-09-01 |
FALSEexecuted 2026-09-01 · all 4 builds agree |
FALSEexecuted 2026-09-01 |
— |
Google Sheets differs |
Google-only functions: what ports to Excel and LibreOffice, and what does not |
TO_PURE_NUMBER |
=ISTEXT(TO_PURE_NUMBER("abc")) |
TRUEexecuted 2026-09-01 |
FALSEexecuted 2026-09-01 · all 4 builds agree |
FALSEexecuted 2026-09-01 |
— |
Google Sheets differs |
Google-only functions: what ports to Excel and LibreOffice, and what does not When the documentation is wrong: 29 vendor doc defects found by execution |
TO_TEXT |
=ISTEXT(TO_TEXT(24)) |
TRUEexecuted 2026-09-01 |
FALSEexecuted 2026-09-01 · all 4 builds agree |
FALSEexecuted 2026-09-01 |
— |
Google Sheets differs |
Google-only functions: what ports to Excel and LibreOffice, and what does not |
TRIM |
=TRIM(CHAR(9)&"Hello") |
Helloexecuted 2026-08-29 |
U+0009Helloexecuted 2026-09-04 · all 4 builds agree |
U+0009Helloexecuted 2026-09-01 |
— |
Google Sheets differs |
TRIM strips tabs and line breaks in Google Sheets but keeps them in Excel and LibreOffice |
COUNT |
=COUNT(A1:A1) |
0executed 2026-08-29 |
1executed 2026-07-29 · all 4 builds agree |
0executed 2026-09-01 |
1 |
LibreOffice differs |
COUNT counts booleans differently in LibreOffice vs Excel |
COUNT |
=COUNT(A1:A6) |
2executed 2026-08-29 |
3executed 2026-07-29 · all 4 builds agree |
2executed 2026-09-01 |
1 |
LibreOffice differs |
COUNT counts booleans differently in LibreOffice vs Excel |
DURATION |
=ROUND(DURATION(DATE(2018,7,1),DATE(2048,1,1),0.08,0.09,2,1),7) |
10.9191453executed 2026-08-31 |
10.921574executed 2026-08-31 · all 4 builds agree |
10.9191453executed 2026-09-01 |
0.00243 |
LibreOffice differs |
Bond and treasury functions after a migration: what actually breaks Every error code LibreOffice reports as #VALUE! |
INTRATE |
=ROUND(INTRATE(A2,A3,A4,A5),10) |
0.05768executed 2026-08-31 |
0.0583280899executed 2026-08-31 · all 4 builds agree |
0.05768executed 2026-09-01 |
0.000648 |
LibreOffice differs |
Bond and treasury functions after a migration: what actually breaks |
INTRATE |
=ROUND(INTRATE(A2,A3,A4,A5,0),10) |
0.05768executed 2026-08-31 |
0.0583280899executed 2026-08-31 · all 4 builds agree |
0.05768executed 2026-09-01 |
0.000648 |
LibreOffice differs |
Bond and treasury functions after a migration: what actually breaks |
ISNUMBER |
=ISNUMBER(TRUE) |
FALSEexecuted 2026-08-29 |
TRUEexecuted 2026-07-29 · all 4 builds agree |
FALSEexecuted 2026-09-01 |
— |
LibreOffice differs |
MAXA, MINA, AVERAGEA, VARPA vs MAX, MIN, AVERAGE, VAR.P DOLLARDE and DOLLARFR: fractional bond prices across engines FVSCHEDULE: LibreOffice drops text in the rate schedule ISNUMBER(TRUE) is FALSE in Excel but TRUE in LibreOffice TYPE(TRUE): Excel 4 vs LibreOffice 1 |
MDURATION |
=ROUND(MDURATION(A2,A3,A4,A5,A6,A7),10) |
5.735669814executed 2026-08-31 |
5.7339235771executed 2026-08-31 · all 4 builds agree |
5.7356698139executed 2026-09-01 |
0.00175 |
LibreOffice differs |
Bond and treasury functions after a migration: what actually breaks Every error code LibreOffice reports as #VALUE! |
MDURATION |
=ROUND(MDURATION(A2,A3,A4,A5,A6,A7),3) |
5.736executed 2026-08-31 |
5.734executed 2026-08-31 · all 4 builds agree |
5.736executed 2026-09-01 |
0.002 |
LibreOffice differs |
Bond and treasury functions after a migration: what actually breaks Every error code LibreOffice reports as #VALUE! |
MINA |
=MINA(A1:A5) |
0executed 2026-08-31 |
FALSEexecuted 2026-08-31 · all 4 builds agree |
0executed 2026-09-01 |
— |
LibreOffice differs |
MAXA, MINA, AVERAGEA, VARPA vs MAX, MIN, AVERAGE, VAR.P When the documentation is wrong: 29 vendor doc defects found by execution |
MINA |
=MINA(A1:A2) |
1executed 2026-08-31 |
TRUEexecuted 2026-08-31 · all 4 builds agree |
1executed 2026-09-01 |
— |
LibreOffice differs |
MAXA, MINA, AVERAGEA, VARPA vs MAX, MIN, AVERAGE, VAR.P When the documentation is wrong: 29 vendor doc defects found by execution |
REGEX |
=ISNA(REGEX("abc","z")) |
FALSEexecuted 2026-09-01 |
TRUEexecuted 2026-09-01 · all 4 builds agree |
FALSEexecuted 2026-09-01 |
— |
LibreOffice differs |
Google-only functions: what ports to Excel and LibreOffice, and what does not |
TRIM |
=TRIM(CHAR(160)&"Hello"&CHAR(160)) |
U+00A0HelloU+00A0executed 2026-08-29 |
U+FFFDHelloU+FFFDexecuted 2026-09-04 · all 4 builds agree |
U+00A0HelloU+00A0executed 2026-09-01 |
— |
LibreOffice differs |
TRIM strips tabs and line breaks in Google Sheets but keeps them in Excel and LibreOffice |
TYPE |
=TYPE(TRUE) |
4executed 2026-08-29 |
1executed 2026-07-29 · all 4 builds agree |
4executed 2026-09-01 |
3 |
LibreOffice differs |
MAXA, MINA, AVERAGEA, VARPA vs MAX, MIN, AVERAGE, VAR.P TYPE(TRUE): Excel 4 vs LibreOffice 1 |
VAR.P |
=ROUND(VAR.P(A1:A3),4) |
4executed 2026-08-31 |
8.2222executed 2026-08-31 · all 4 builds agree |
4executed 2026-09-01 |
4.22 |
LibreOffice differs |
MAXA, MINA, AVERAGEA, VARPA vs MAX, MIN, AVERAGE, VAR.P |
ASC |
=ASC("EXCEL") |
EXCELexecuted 2026-08-31 |
EXCELexecuted 2026-08-31 · all 4 builds agree |
EXCELexecuted 2026-09-01 |
— |
Excel for the web differs |
— |
DAY |
=DAY(1) |
31executed 2026-08-29 |
31executed 2026-07-29 · all 4 builds agree |
1executed 2026-09-01 |
30 |
Excel for the web differs |
DAY(1), MONTH(1) and YEAR(1): Excel disagrees with Sheets and LibreOffice |
FINDB |
=FINDB("b",A3) |
5executed 2026-08-31 |
5executed 2026-08-31 · all 4 builds agree |
3executed 2026-09-01 |
2 |
Excel for the web differs |
LENB and CJK text: byte counts that don't match the docs |
IMSQRT |
=IMSQRT("i") |
0.707106781186548+0.707106781186548iexecuted 2026-08-31 |
0.707106781186548+0.707106781186548iexecuted 2026-08-31 · all 4 builds agree |
0.707106781186548+0.707106781186547iexecuted 2026-09-01 |
— |
Excel for the web differs |
SORT descending in Google Sheets: is_ascending vs sort_order |
ISERROR |
=ISERROR(INDIRECT("'Nope'!B2")) |
TRUEexecuted 2026-08-29 |
TRUEexecuted 2026-08-28 · all 4 builds agree |
FALSEexecuted 2026-09-01 |
— |
Excel for the web differs |
DOLLARDE and DOLLARFR: fractional bond prices across engines ERROR.TYPE: LibreOffice returns #N/A where Excel returns 4 and 6 IFERROR doesn't catch INDIRECT's #REF! in LibreOffice Every error code LibreOffice reports as #VALUE! #NUM! vs #VALUE!: Excel vs LibreOffice PERCENTRANK significance: Excel truncates, both other engines round TYPE(TRUE): Excel 4 vs LibreOffice 1 VLOOKUP bad column index: Excel #REF! vs LibreOffice #VALUE! |
ISREF |
=ISREF(INDIRECT("'Nope'!B2")) |
FALSEexecuted 2026-08-29 |
FALSEexecuted 2026-08-28 · all 4 builds agree |
TRUEexecuted 2026-09-01 |
— |
Excel for the web differs |
IFERROR doesn't catch INDIRECT's #REF! in LibreOffice |
LEFTB |
=LEFTB("EXCEL",2) |
Eexecuted 2026-08-31 |
Eexecuted 2026-08-31 · all 4 builds agree |
EXexecuted 2026-09-01 |
— |
Excel for the web differs |
LENB and CJK text: byte counts that don't match the docs |
LENB |
=LENB("日本") |
4executed 2026-08-31 |
4executed 2026-08-31 · all 4 builds agree |
2executed 2026-09-01 |
2 |
Excel for the web differs |
LENB and CJK text: byte counts that don't match the docs |
MONTH |
=MONTH(1) |
12executed 2026-08-29 |
12executed 2026-07-29 · all 4 builds agree |
1executed 2026-09-01 |
11 |
Excel for the web differs |
DAY(1), MONTH(1) and YEAR(1): Excel disagrees with Sheets and LibreOffice |
PERCENTRANK |
=PERCENTRANK(A1:A4,30) |
0.667executed 2026-08-29 |
0.667executed 2026-08-04 · all 4 builds agree |
0.666executed 2026-09-01 |
0.001 |
Excel for the web differs |
PERCENTRANK significance: Excel truncates, both other engines round |
PERCENTRANK.EXC |
=PERCENTRANK.EXC(A2:A10,5.43,1) |
0.4executed 2026-08-31 |
0.4executed 2026-08-31 · all 4 builds agree |
0.3executed 2026-09-01 |
0.1 |
Excel for the web differs |
Every error code LibreOffice reports as #VALUE! PERCENTRANK significance: Excel truncates, both other engines round |
PERCENTRANK.INC |
=PERCENTRANK.INC(A2:A11,4) |
0.556executed 2026-08-31 |
0.556executed 2026-08-31 · all 4 builds agree |
0.555executed 2026-09-01 |
0.001 |
Excel for the web differs |
Every error code LibreOffice reports as #VALUE! PERCENTRANK significance: Excel truncates, both other engines round |
PERCENTRANK.INC |
=PERCENTRANK.INC(A2:A11,8) |
0.667executed 2026-08-31 |
0.667executed 2026-08-31 · all 4 builds agree |
0.666executed 2026-09-01 |
0.001 |
Excel for the web differs |
Every error code LibreOffice reports as #VALUE! PERCENTRANK significance: Excel truncates, both other engines round |
REGEXEXTRACT |
=COUNTA(REGEXEXTRACT(A2,"[A-Z][a-z]+",1)) |
1executed 2026-08-31 |
1executed 2026-08-31 · all 4 builds agree |
2executed 2026-09-01 |
1 |
Excel for the web differs |
Google-only functions: what ports to Excel and LibreOffice, and what does not |
REPLACEB |
=REPLACEB("ABC",1,2,"x") |
xBCexecuted 2026-08-31 |
xBCexecuted 2026-08-31 · all 4 builds agree |
xCexecuted 2026-09-01 |
— |
Excel for the web differs |
LENB and CJK text: byte counts that don't match the docs |
RIGHTB |
=RIGHTB("ABC",2) |
Cexecuted 2026-08-31 |
Cexecuted 2026-08-31 · all 4 builds agree |
BCexecuted 2026-09-01 |
— |
Excel for the web differs |
LENB and CJK text: byte counts that don't match the docs |
SEARCHB |
=SEARCHB("B","ABC") |
3executed 2026-08-31 |
3executed 2026-08-31 · all 4 builds agree |
2executed 2026-09-01 |
1 |
Excel for the web differs |
LENB and CJK text: byte counts that don't match the docs |
TRIMRANGE |
=COUNT(TRIMRANGE(A1:E10)) |
0executed 2026-08-31 |
0executed 2026-08-31 · all 4 builds agree |
4executed 2026-09-01 |
4 |
Excel for the web differs |
When the documentation is wrong: 29 vendor doc defects found by execution |
YEAR |
=YEAR(1) |
1899executed 2026-08-29 |
1899executed 2026-07-29 · all 4 builds agree |
1900executed 2026-09-01 |
1 |
Excel for the web differs |
DAY(1), MONTH(1) and YEAR(1): Excel disagrees with Sheets and LibreOffice |