CEILING.PRECISE Function (LibreOffice Calc)
Learn the CEILING.PRECISE function in LibreOffice Calc: Rounds a number up to the nearest multiple of significance, regardless of sign of significance.
Verification status: Identified examples were recalculated through XLSX import in LibreOfficeDev 26.8.0.0.alpha0, build 2c87e51eeaa2b413ff4ae097b2705eea1995d8e5. No stable LibreOffice 25.2.3.2 or 26.8.1 execution is claimed for this guide. How formula examples are checked
Availability and version history
- Introduced: LibreOffice 4.3, explicitly stated in official CEILING.PRECISE Help.
- Availability: Supported in LibreOffice 26.8.1.1, confirmed by the versioned function registry. This is not a final supported version.
- Scope: Desktop Calc; formula names and separators depend on language/settings. Other spreadsheet products need separate compatibility checks.
- Checked: October 14, 2026. Documentation/source evidence; supplementary development-build XLSX tests are scoped separately below.
At a glance
CEILING.PRECISE rounds toward positive infinity using the magnitude of the step. A negative input therefore moves toward zero, and a negative step does not reverse the result.
=CEILING.PRECISE(125;24) returns 144. Use it when your rule specifies a permitted multiple rather than a count of decimal places. Official CEILING.PRECISE definition.
Syntax and arguments
=CEILING.PRECISE(Number [; Significance])
| Argument | Required | Meaning |
|---|---|---|
| Number | Yes | Numeric value, cell reference or expression to round. |
| Significance | No | Optional; defaults to 1. Only its absolute magnitude is used. |
Square brackets indicate optional input and are not characters to type. Omit the second argument only when a step of one is intended. The examples use English names, semicolons and decimal points. Use the separators accepted by your Calc configuration.
Reproducible examples
| Formula | Expected result | Interpretation |
|---|---|---|
=CEILING.PRECISE(3.45) |
4 | Default step is one. |
=CEILING.PRECISE(3.45;2) |
4 | Next allowed multiple. |
=CEILING.PRECISE(3.45;-2) |
4 | Negative step has the same magnitude. |
=CEILING.PRECISE(-45.67;2) |
-44 | Moves toward zero, upward on the number line. |
=CEILING.PRECISE(-45.67;-2) |
-44 | Step sign does not change the direction. |
=CEILING.PRECISE(6;3) |
6 | An exact multiple is unchanged. |
=CEILING.PRECISE(-6;3) |
-6 | An exact negative multiple is unchanged. |
=CEILING.PRECISE(1.26;0.25) |
1.5 | Upper quarter increment. |
=CEILING.PRECISE(-0.01;0.05) |
0 | The first allowed multiple above -0.01. |
=CEILING.PRECISE(125;24) |
144 | Enough units for six complete cartons. |
These outputs were independently calculated with Decimal arithmetic and checked through imported XLSX recalculation in LibreOfficeDev 26.8.0.0.alpha0 (build 2c87e51eeaa2b413ff4ae097b2705eea1995d8e5). They are not direct-entry tests in the stable 26.8.1 release. For ordinary nonzero steps, think of permitted points on a number line, then select the point dictated by the sign rule. Binary floating-point boundary handling can differ from an exact decimal model for carefully chosen near-boundary inputs.
Understand negative values before copying down
The same rule applies on both sides of zero. For example, -44 is greater than -45.67, so -44 is the upward multiple of two. “Up” does not mean increasing magnitude. If negative adjustments must move away from zero, CEILING.MATH has a separate mode argument; CEILING.PRECISE does not.
Practical worksheet: complete cartons
You need to ship at least 125 units in sealed cartons holding 24 units. Rounding upward gives 144 units, which is six cartons. Five cartons would provide only 120 units, below the requirement.
- Enter 125 in A2 and 24 in B2.
- In C2 enter
=CEILING.PRECISE(A2;B2)to get 144 units. - In D2 enter
=C2/B2to get 6 cartons. - Keep the units in the column headings. The formula does not know whether the values represent units, metres or minutes.
The literal equivalent is included in the checked table. The cell-reference arrangement and division are reproducible worksheet instructions, not a separate claim of a saved UI session. Before filling down, decide whether zero, negative or blank quantities make sense in your operation.
Fractional increments and signed adjustments
For quarter increments, =CEILING.PRECISE(1.26;0.25) gives 1.5. A quarter-step is a multiple of 0.25, not “two decimal places.” Merely formatting a cell to two decimals changes its display, not its stored number or permitted increment.
The calculation =CEILING.PRECISE(-45.67;2) gives -44. This is useful only if “up” really means a greater number. A policy requiring a larger negative magnitude needs a different function or an explicitly checked rule. Keep the signed source value so reviewers can see what changed.
A comparison near a step boundary should use the underlying numeric values and a tolerance appropriate to the model. Do not require a displayed rounded string to prove that two formulas are mathematically identical. If your input originated as imported text, first establish that it is a number in the intended locale.
Advanced validation pattern
If B2 must be a strictly positive step, validate it before rounding. One possible worksheet pattern is:
=IF(AND(ISNUMBER(A2);ISNUMBER(B2);B2>0);CEILING.PRECISE(A2;B2);NA())
This intentionally rejects nonnumeric inputs and zero or negative steps. It is a proposed composition of documented functions, not separately executed in the native test set. The guard may be too restrictive for signed legacy models; choose validation to match the rule, rather than blindly applying it to every workbook.
For the carton example you can independently check that the rounded quantity is a multiple of 24 and lies at or above 125. Such checks catch a wrong rounding direction even when the result looks plausible. They do not certify every floating-point or error-handling edge case.
Errors and migration traps
- The significance sign is ignored; a negative sign does not request opposite rounding.
- A zero step returned 0 for =CEILING.PRECISE(3.45;0) in the development-build import test; the release implementation explicitly returns zero in this case. Pinned implementation. Validate the step if zero is nonsensical in your model.
- Nonnumeric inputs, missing required arguments and upstream formula errors need explicit handling. This guide does not promise one error display across every locale and version.
- There is no Mode argument; use CEILING.MATH only after checking its different contract.
- ROUND, MROUND and ROUNDUP do different jobs. Select by direction and increment, not by a similar-looking name.
Compatibility and history
LibreOffice explicitly documents CEILING.PRECISE and ISO.CEILING as numerically identical. They remain separately documented names with distinct compatibility namespaces. CEILING.MATH adds a negative-number mode. ROUNDUP rounds by decimal digits and away from zero, so it is not a general replacement for this positive-infinity multiple calculation.
Official Help dates this function to LibreOffice 4.3 and identifies the compatibility namespace COM.MICROSOFT.CEILING.PRECISE. Its statement about exclusion from the ODF 1.3 function set is scoped to that standard version. It does not mean an ODS document cannot store an extension function. Validate important workbooks in the receiving application instead of assuming that matching display names prove interoperability.
Verification and official sources
- Official CEILING.PRECISE Help: syntax, signs, examples and introduction
- Pinned LibreOffice 26.8.1.1 registration
- Calc formula options: names and separators
Checked October 14, 2026. Expected numerical outputs were derived independently; the stated native checks used imported OOXML formulas in the named development build. Windows/macOS, direct GUI entry, stable 26.8.1 execution and an Excel import/export round trip were not tested for this revision.