FLOOR
Quirk foundCategory: Compatibility · Last tested 2026-09-01
Real compatibility results for the FLOOR function: executed in Excel for the web, Google Sheets and LibreOffice Calc, with desktop Excel behavior from Microsoft’s official documentation (we do not run desktop Excel — Excel for the web is a different application and is executed separately). Syntax and links to that documentation are below.
Support matrix
| Engine | Documented | Live-tested | Verdict |
|---|---|---|---|
| Excel (desktop) | Yes | No — documented only | n/a |
| Excel for the web | — | Yes (recalc, 2026-09-01) | Supported, behaves as documented |
| Google Sheets | Yes | Yes (Drive import, 2026-08-29) | Supported, behaves as documented |
| LibreOffice Calc | Yes | Yes (25.8.7.3, 2026-07-29) | Quirk found |
LibreOffice version history
We executed the same test cases under each LibreOffice release to show exactly when FLOOR’s support changed — not documentation claims, real results.
| LibreOffice version | Verdict | Tested |
|---|---|---|
| 24.2.0.3 | Quirk found | 2026-08-29 |
| 24.8.7.2 | Quirk found | 2026-08-29 |
| 25.2.0.3 | Quirk found | 2026-08-29 |
| 25.8.7.3 | Quirk found | 2026-07-29 |
Why isn't FLOOR working in LibreOffice?
FLOOR exists in LibreOffice 25.8.7.3, but it is not a drop-in match for
Excel — our executed tests found real behavioral differences (detailed in the test results on this
page). If a formula that works in Excel or Google Sheets misbehaves in LibreOffice, compare your usage
against the failing cases above before assuming your data is wrong.
Discovered quirks
-
=FLOOR(2.5,-2) on
LibreOffice Calc returned
#VALUE!, but the documented/expected
result is #NUM!.
Provenance
MISMATCH vs expected: expected '#NUM!', got '#VALUE!'
Executed test cases
Excel for the web (executed 2026-09-01 via OneDrive recalculation)
These values come from Excel for the web, not from desktop Excel. They are two different implementations of the calculation engine, and this run measured only the web one: the corpus was uploaded to OneDrive as .xlsx, recalculated by Excel for the web on open, and downloaded again for readback. Excel for the web is a rolling service with no pinnable version, so the run is identified by its date. Where a value here disagrees with the Expected column — which is Microsoft’s documentation of the desktop product — we cannot tell you whether the web engine diverges from the desktop one or the documentation is wrong about both, because we do not run desktop Excel.
| 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 | -2ProvenanceMicrosoft'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.' | #NUM! | #NUM! | Matched |
| =FLOOR(-45.67,-2) | GOLD QUIRK CANDIDATE: mirror image of the CEILING default-Mode divergence. Both Number and significance negative, Mode omitted. | -44 | -44ProvenanceDerived 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 |
Google Sheets (executed 2026-08-29 via Drive import)
Google Sheets is a rolling service with no pinnable version, so this run is identified by its date. The corpus was imported to Drive as .xlsx, recalculated by Sheets, and exported back for readback.
| 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 | -2ProvenanceMicrosoft'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.' | #NUM! | #NUM! | Matched |
| =FLOOR(-45.67,-2) | GOLD QUIRK CANDIDATE: mirror image of the CEILING default-Mode divergence. Both Number and significance negative, Mode omitted. | -44 | -44ProvenanceDerived 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 |
LibreOffice Calc 25.8.7.3 (tested 2026-07-29)
| 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 | -2ProvenanceMicrosoft'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 | -44ProvenanceDerived 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 (desktop): official documentation
- Google Sheets: official documentation
- LibreOffice Calc: official documentation
Where FLOOR behaves differently
- CEILING, FLOOR & MROUND: Excel vs LibreOffice rounding
Rounding to a multiple with negative numbers: what the legacy CEILING/FLOOR Mode argument does, why the documented default divergence did not reproduce in four LibreOffice builds, and the #NUM! vs #VALUE! split. - Every error code LibreOffice reports as #VALUE!
Across our 2,334-case executed corpus, 272 cases in 135 functions return #VALUE! in LibreOffice Calc 25.8.7.3 where Microsoft documents #NUM! (244), #N/A (15), #DIV/0! (10) or #REF! (3). Google Sheets returns the documented code on 239 of the 249 it has a function for. Identical in all four LibreOffice builds tested. - #NUM! vs #VALUE!: Excel vs LibreOffice
Domain errors Microsoft documents as #NUM! - LN(0), SQRT(-16), out-of-range LARGE - return #VALUE! in LibreOffice. Google Sheets returns #NUM! on all 16, executed: LibreOffice is alone.