FLOOR
Quirk foundCategory: Compatibility · Last tested 2026-07-04
Support matrix
| Engine | Documented | Live-tested | Verdict |
|---|---|---|---|
| Excel | Yes | Not yet | n/a |
| Google Sheets | Yes | Not yet | n/a |
| LibreOffice Calc | No | Yes (24.2.7.2, 2026-07-04) | Quirk found |
Discovered quirks
- =FLOOR(2.5,-2) on LibreOffice Calc returned #VALUE!, but the documented/expected result is #NUM!. MISMATCH vs expected: expected '#NUM!', got '#VALUE!'
Executed test cases
LibreOffice Calc 24.2.7.2 (tested 2026-07-04)
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =FLOOR(3.7,2) | Basic case, rounds 3.7 down to the nearest multiple of 2. Source: https://support.microsoft.com/en-us/office/floor-function-14bb497c-24f2-4e04-b327-b0b4de5a8886 (worked example table) | 2 | 2 | Matched |
| =FLOOR(0.234,0.01) | Rounds 0.234 down to the nearest multiple of 0.01. Source: Microsoft FLOOR docs worked example table. | 0.23 | 0.23 | Matched |
| =FLOOR(-2.5,-2) | Number and significance both negative -> Microsoft's own worked example rounds this TOWARD zero (-2), which is the opposite direction CEILING takes for the same-signed case. | -2 | -2 Microsoft's worked example table gives FLOOR(-2.5,-2) = -2 exactly (https://support.microsoft.com/en-us/office/floor-function-14bb497c-24f2-4e04-b327-b0b4de5a8886). Note this is the OPPOSITE rounding direction of CEILING(-2.5,-2)=-4 for the identical arguments -- FLOOR and CEILING deliberately diverge on both-negative inputs, not a bug. |
Matched |
| =FLOOR(2.5,-2) | Number positive, significance negative (opposite signs) -> #NUM!, explicitly documented by Microsoft: 'If Number is positive and Significance is negative, FLOOR returns the #NUM! error value.' | #VALUE! | #NUM! | Mismatch |
| =FLOOR(-45.67,-2) | GOLD QUIRK CANDIDATE: mirror image of the CEILING default-Mode divergence. Both Number and significance negative, Mode omitted. | -44 | -44 Derived from Microsoft's own worked FLOOR(-2.5,-2)=-2 example (both-negative case rounds TOWARD zero): ratio -45.67/-2=22.835, truncating toward zero gives 22, 22*-2=-44. LibreOffice's own FLOOR docs (https://help.libreoffice.org/latest/en-US/text/scalc/01/func_floor.html) define an optional 3rd Mode argument that only applies when both Number and Significance are negative, stating 'Mode = 0 or omitted: negative numbers are rounded down (away from zero)' with LO's own worked example FLOOR(-45.67;-2;0) = -46. So the identical 2-arg formula (Mode omitted) is documented to resolve to -46 under LibreOffice's default vs -44 under Microsoft's documented behavior -- a genuine divergence, and the exact mirror image of the CEILING case above (there Excel defaults away-from-zero and LO defaults toward-zero; here Excel defaults toward-zero and LO defaults away-from-zero). If LO's executed result is -46, matched_expected:false is the correct, intended signal -- do not 'fix' this expectation to match LO. |
Matched |
| =FLOOR("abc",1) | Nonnumeric first argument -> #VALUE!, per Microsoft docs: 'If either argument is nonnumeric, FLOOR returns the #VALUE! error value.' | #VALUE! | #VALUE! | Matched |
Docs & syntax
- Excel: official documentation
- Google Sheets: official documentation