CEILING
Supported, behaves as documentedCategory: Compatibility · Last tested 2026-09-01
Real compatibility results for the CEILING 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) | Supported, behaves as documented |
LibreOffice version history
We executed the same test cases under each LibreOffice release to show exactly when CEILING’s support changed — not documentation claims, real results.
| LibreOffice version | Verdict | Tested |
|---|---|---|
| 24.2.0.3 | Supported, behaves as documented | 2026-08-29 |
| 24.8.7.2 | Supported, behaves as documented | 2026-08-29 |
| 25.2.0.3 | Supported, behaves as documented | 2026-08-29 |
| 25.8.7.3 | Supported, behaves as documented | 2026-07-29 |
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 |
|---|---|---|---|---|
| =CEILING(2.5,1) | Basic case, rounds 2.5 up to the nearest multiple of 1. Source: https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f (worked example table) | 3 | 3 | Matched |
| =CEILING(0.234,0.01) | Rounds 0.234 up to the nearest multiple of 0.01. Source: Microsoft CEILING docs worked example table. | 0.24 | 0.24 | Matched |
| =CEILING(-2.5,-2) | Number and significance both negative -> rounds away from zero (more negative), per Microsoft's documented rule and worked example. | -4 | -4ProvenanceMicrosoft: 'If number is negative, and significance is negative, the value is rounded down, away from zero.' Worked example CEILING(-2.5,-2)=-4 at https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f |
Matched |
| =CEILING(-2.5,2) | Number negative, significance positive -> rounds up toward zero (less negative), per Microsoft's documented rule and worked example. | -2 | -2ProvenanceMicrosoft: 'If number is negative, and significance is positive, the value is rounded up towards zero.' Worked example CEILING(-2.5,2)=-2 at the same doc page. |
Matched |
| =CEILING(-45.67,-2) | GOLD QUIRK CANDIDATE: identical 2-argument call (Mode omitted) with number and significance both negative. Per Microsoft's documented CEILING rule this must round AWAY from zero. | -46 | -46ProvenanceMicrosoft (https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f): both-negative case rounds away from zero, so CEILING(-45.67,-2) -> -46 (ratio -45.67/-2=22.835, ceiling(22.835)=23, 23*-2=-46). LibreOffice's own CEILING docs (https://help.libreoffice.org/latest/en-US/text/scalc/01/func_ceiling.html) define a 3rd optional Mode argument that ONLY applies when both Number and Significance are negative, and state: 'if Mode is equal to zero or not given, negative numbers are rounded up (towards zero)' -- with LO's own worked example CEILING(-45.67;-2;0) = -44. That means the identical 2-arg formula (Mode omitted) is documented to resolve to -44 under LibreOffice's own default, vs -46 under Microsoft's documented default -- a genuine cross-engine default-behavior divergence for the exact same formula text, not just a wording difference. If LO's executed result is -44, matched_expected:false here is the intended, correct signal of that divergence -- do not 'fix' this expectation to match LO. |
Matched |
| =CEILING("abc",1) | Nonnumeric first argument -> #VALUE!, per Microsoft docs: 'If either argument is nonnumeric, CEILING 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 |
|---|---|---|---|---|
| =CEILING(2.5,1) | Basic case, rounds 2.5 up to the nearest multiple of 1. Source: https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f (worked example table) | 3 | 3 | Matched |
| =CEILING(0.234,0.01) | Rounds 0.234 up to the nearest multiple of 0.01. Source: Microsoft CEILING docs worked example table. | 0.24 | 0.24 | Matched |
| =CEILING(-2.5,-2) | Number and significance both negative -> rounds away from zero (more negative), per Microsoft's documented rule and worked example. | -4 | -4ProvenanceMicrosoft: 'If number is negative, and significance is negative, the value is rounded down, away from zero.' Worked example CEILING(-2.5,-2)=-4 at https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f |
Matched |
| =CEILING(-2.5,2) | Number negative, significance positive -> rounds up toward zero (less negative), per Microsoft's documented rule and worked example. | -2 | -2ProvenanceMicrosoft: 'If number is negative, and significance is positive, the value is rounded up towards zero.' Worked example CEILING(-2.5,2)=-2 at the same doc page. |
Matched |
| =CEILING(-45.67,-2) | GOLD QUIRK CANDIDATE: identical 2-argument call (Mode omitted) with number and significance both negative. Per Microsoft's documented CEILING rule this must round AWAY from zero. | -46 | -46ProvenanceMicrosoft (https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f): both-negative case rounds away from zero, so CEILING(-45.67,-2) -> -46 (ratio -45.67/-2=22.835, ceiling(22.835)=23, 23*-2=-46). LibreOffice's own CEILING docs (https://help.libreoffice.org/latest/en-US/text/scalc/01/func_ceiling.html) define a 3rd optional Mode argument that ONLY applies when both Number and Significance are negative, and state: 'if Mode is equal to zero or not given, negative numbers are rounded up (towards zero)' -- with LO's own worked example CEILING(-45.67;-2;0) = -44. That means the identical 2-arg formula (Mode omitted) is documented to resolve to -44 under LibreOffice's own default, vs -46 under Microsoft's documented default -- a genuine cross-engine default-behavior divergence for the exact same formula text, not just a wording difference. If LO's executed result is -44, matched_expected:false here is the intended, correct signal of that divergence -- do not 'fix' this expectation to match LO. |
Matched |
| =CEILING("abc",1) | Nonnumeric first argument -> #VALUE!, per Microsoft docs: 'If either argument is nonnumeric, CEILING returns the #VALUE! error value.' | #VALUE! | #VALUE! | Matched |
LibreOffice Calc 25.8.7.3 (tested 2026-07-29)
| Formula | Description | Result | Expected | Verdict |
|---|---|---|---|---|
| =CEILING(2.5,1) | Basic case, rounds 2.5 up to the nearest multiple of 1. Source: https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f (worked example table) | 3 | 3 | Matched |
| =CEILING(0.234,0.01) | Rounds 0.234 up to the nearest multiple of 0.01. Source: Microsoft CEILING docs worked example table. | 0.24 | 0.24 | Matched |
| =CEILING(-2.5,-2) | Number and significance both negative -> rounds away from zero (more negative), per Microsoft's documented rule and worked example. | -4 | -4ProvenanceMicrosoft: 'If number is negative, and significance is negative, the value is rounded down, away from zero.' Worked example CEILING(-2.5,-2)=-4 at https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f |
Matched |
| =CEILING(-2.5,2) | Number negative, significance positive -> rounds up toward zero (less negative), per Microsoft's documented rule and worked example. | -2 | -2ProvenanceMicrosoft: 'If number is negative, and significance is positive, the value is rounded up towards zero.' Worked example CEILING(-2.5,2)=-2 at the same doc page. |
Matched |
| =CEILING(-45.67,-2) | GOLD QUIRK CANDIDATE: identical 2-argument call (Mode omitted) with number and significance both negative. Per Microsoft's documented CEILING rule this must round AWAY from zero. | -46 | -46ProvenanceMicrosoft (https://support.microsoft.com/en-us/office/ceiling-function-0a5cd7c8-0720-4f0a-bd2c-c943e510899f): both-negative case rounds away from zero, so CEILING(-45.67,-2) -> -46 (ratio -45.67/-2=22.835, ceiling(22.835)=23, 23*-2=-46). LibreOffice's own CEILING docs (https://help.libreoffice.org/latest/en-US/text/scalc/01/func_ceiling.html) define a 3rd optional Mode argument that ONLY applies when both Number and Significance are negative, and state: 'if Mode is equal to zero or not given, negative numbers are rounded up (towards zero)' -- with LO's own worked example CEILING(-45.67;-2;0) = -44. That means the identical 2-arg formula (Mode omitted) is documented to resolve to -44 under LibreOffice's own default, vs -46 under Microsoft's documented default -- a genuine cross-engine default-behavior divergence for the exact same formula text, not just a wording difference. If LO's executed result is -44, matched_expected:false here is the intended, correct signal of that divergence -- do not 'fix' this expectation to match LO. |
Matched |
| =CEILING("abc",1) | Nonnumeric first argument -> #VALUE!, per Microsoft docs: 'If either argument is nonnumeric, CEILING returns the #VALUE! error value.' | #VALUE! | #VALUE! | Matched |
Docs & syntax
- Excel (desktop): official documentation
- Google Sheets: official documentation
- LibreOffice Calc: official documentation
Related how-to recipes
Where CEILING 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. - When the documentation is wrong: 29 vendor doc defects found by execution
Independent derivation across 586 executed functions found 29 places where a vendor's own page is contradicted by its own inputs, its own table, or the live engine: 23 Microsoft, 5 Google, 1 LibreOffice. Includes T.INV.2T's doubly-wrong Remark, DISC's stale figure, ISDATE's page against the live engine, and RAWSUBTRACT's help against LibreOffice's own result.