DV-0015
hyperformula, libreoffice: function not implemented — CONCAT, IFS, XOR
Subjects (3)
Tests (17)
matches canonical diverges no fixture in this DV's cluster
| Test | Formula | Canonical | gsheets | excel | lattice | ironcalc | hyperformula | libreoffice | formulas | pycel |
|---|---|---|---|---|---|---|---|---|---|---|
CONCAT/concat-vs-concatenate-arity |
=CONCAT("a", "b", "c") |
abc | gsheets#N/A | excelabc | latticeabc | ironcalcabc | hyperformula#NAME? | libreoffice— | formulasabc | pycelabc |
XOR/xor-odd-trues |
=XOR(TRUE, TRUE, TRUE) |
true | gsheetstrue | exceltrue | latticetrue | ironcalctrue | hyperformula#NAME? | libreoffice— | formulastrue | pycel1 |
XOR/xor-even-trues |
=XOR(TRUE, TRUE) |
false | gsheetsfalse | excelfalse | latticefalse | ironcalcfalse | hyperformula#NAME? | libreoffice— | formulasfalse | pycel0 |
XOR/xor-all-false |
=XOR(FALSE, FALSE) |
false | gsheetsfalse | excelfalse | latticefalse | ironcalcfalse | hyperformula#NAME? | libreoffice— | formulasfalse | pycel0 |
IFS/ifs-first-match |
=IFS(TRUE, "a", TRUE, "b") |
a | gsheetsa | excela | latticea | ironcalca | hyperformula#NAME? | libreoffice— | formulasa | pycela |
IFS/ifs-second-match |
=IFS(FALSE, "a", TRUE, "b") |
b | gsheetsb | excelb | latticeb | ironcalcb | hyperformula#NAME? | libreoffice— | formulasb | pycelb |
IFS/ifs-no-match |
=IFS(FALSE, "a", FALSE, "b") |
#N/A | gsheets#N/A | excel#N/A | lattice#N/A | ironcalc#N/A | hyperformula#NAME? | libreoffice— | formulas#N/A | pycel#N/A |
CONCAT/concat-strings |
=CONCAT("hello", " ", "world") |
hello world | gsheets#N/A | excelhello world | latticehello world | ironcalchello world | hyperformula#NAME? | libreoffice— | formulashello world | pycelhello world |
CONCAT/concat-two-strings |
=CONCAT("foo", "bar") |
foobar | gsheetsfoobar | excelfoobar | latticefoobar | ironcalcfoobar | hyperformula#NAME? | libreoffice— | formulasfoobar | pycelfoobar |
CONCAT/concat-numbers-become-strings |
=CONCAT(1, 2) |
12 | gsheets12 | excel12 | lattice12 | ironcalc12 | hyperformula#NAME? | libreoffice— | formulas12 | pycel12 |
CONCAT/concat-mixed-types |
=CONCAT("x=", 42) |
x=42 | gsheetsx=42 | excelx=42 | latticex=42 | ironcalcx=42 | hyperformula#NAME? | libreoffice— | formulasx=42 | pycelx=42 |
CONCAT/concat-booleans |
=CONCAT(TRUE, FALSE) |
TRUEFALSE | gsheetsTRUEFALSE | excelTRUEFALSE | latticeTRUEFALSE | ironcalcTRUEFALSE | hyperformula#NAME? | libreoffice— | formulasTRUEFALSE | pycelTRUEFALSE |
CONCAT/concat-float-formatting |
=CONCAT(1.5, 2.25) |
1.52.25 | gsheets1.52.25 | excel1.52.25 | lattice1.52.25 | ironcalc1.52.25 | hyperformula#NAME? | libreoffice— | formulas1.52.25 | pycel1.52.25 |
CONCAT/concat-empty-string |
=CONCAT("", "abc") |
abc | gsheetsabc | excelabc | latticeabc | ironcalcabc | hyperformula#NAME? | libreoffice— | formulasabc | pycelabc |
CONCAT/concat-matches-ampersand-operator |
=CONCAT("a", "b")="a"&"b" |
true | gsheetstrue | exceltrue | latticetrue | ironcalctrue | hyperformula#NAME? | libreoffice— | formulastrue | pycel#NAME? |
CONCAT/concat-two-args |
=CONCAT("hello", " world") |
hello world | gsheetshello world | excelhello world | latticehello world | ironcalchello world | hyperformula#NAME? | libreoffice— | formulashello world | pycelhello world |
CONCAT/concat-with-numbers |
=CONCAT("value:", 42) |
value:42 | gsheetsvalue:42 | excelvalue:42 | latticevalue:42 | ironcalcvalue:42 | hyperformula#NAME? | libreoffice— | formulasvalue:42 | pycelvalue:42 |