FIXED Function (LibreOffice Calc)
The FIXED function in LibreOffice Calc formats a number as text with a specified number of decimal places and optional thousands separators. It is ideal for financial labels, reports, and consistent numeric presentation.
Compatibility
▾| Excel | ✔ |
| Gnumeric | ✔ |
| Google_sheets | ✔ |
| Libreoffice | ✔ |
| Numbers | ✔ |
| Onlyoffice | ✔ |
| Openoffice | ✔ |
| Wps | ✔ |
| Zoho | ✔ |
What the FIXED Function Does ▾
- Formats a number as text
- Controls decimal places
- Optionally includes thousands separators
- Useful for financial reporting and labels
- Output is always text, not numeric
It is designed to be simple, predictable, and formatting‑focused.
Syntax ▾
FIXED(number; decimals; [no_thousands])
Arguments
-
number:
The number to format. -
decimals:
Number of decimal places. -
no_thousands: (optional)
TRUE → do not use thousands separators
FALSE or omitted → include thousands separators
Basic Examples ▾
Format with two decimals
=FIXED(1234.567; 2)
Returns "1,234.57".
Format with no decimals
=FIXED(1234.567; 0)
Returns "1,235".
Format without thousands separators
=FIXED(1234.567; 2; TRUE)
Returns "1234.57".
Format negative numbers
=FIXED(-42.5; 1)
Returns "-42.5".
Advanced Examples ▾
Build a financial label
=CONCAT("Total: "; FIXED(A1; 2))
Format a percentage manually
=FIXED(A1 * 100; 2) & "%"
Format a number for CSV export
=FIXED(A1; 3; TRUE)
Format with dynamic decimals
=FIXED(A1; B1)
Format a column of values for display
=TEXTJOIN(", "; TRUE; FIXED(A1:A10; 2))
Format with conditional logic
=IF(A1<0; "(" & FIXED(ABS(A1); 2) & ")"; FIXED(A1; 2))
Format a number with padded decimals
=FIXED(A1; 4)
Format a number without rounding (truncate first)
=FIXED(TRUNC(A1; 2); 2)
Format a number for alignment
=FIXED(A1; 2; TRUE)
(Useful for monospaced output.)
Edge Cases and Behavior Details ▾
FIXED always returns text
=TYPE(FIXED(42; 2)) → 2 (text)
FIXED rounds the number
=FIXED(1.2345; 3) → "1.235"
decimals < 0 → rounds to left of decimal
=FIXED(1234.567; -1) → "1,230"
no_thousands defaults to FALSE
=FIXED(1000; 2) → "1,000.00"
no_thousands = TRUE removes separators
=FIXED(1000; 2; TRUE) → "1000.00"
FIXED of an error propagates the error
=FIXED(#N/A; 2) → #N/A
FIXED respects locale settings
Decimal and thousands separators follow system locale.
FIXED does not accept ranges
Use array formulas or TEXTJOIN.
FIXED converts numbers only
Text input returns Err:502.
Common Errors and Fixes ▾
Err:502 — Invalid argument
Occurs when:
- number is text
- decimals is non-numeric
- no_thousands is invalid
FIXED returns unexpected separators
Cause:
- Locale mismatch
- no_thousands argument misused
FIXED returns unexpected rounding
Cause:
- decimals too small
- negative decimals
Best Practices ▾
- Use FIXED for simple, consistent numeric formatting
- Use TEXT for advanced formatting (dates, times, custom codes)
- Use VALUE to convert FIXED output back to numbers
- Use TRIM and CLEAN before concatenation
- Use FIXED with CONCAT/TEXTJOIN for labels and reports
- Use negative decimals for rounding to tens/hundreds
Related Patterns and Alternatives ▾
- Use TEXT for custom formatting
- Use VALUE to convert formatted text back to numbers
- Use ROUND, TRUNC, INT for numeric manipulation
- Use CONCAT, TEXTJOIN for assembly
- Use SUBSTITUTE and REPLACE for editing
By mastering FIXED and its companion functions, you can build clean, readable, and consistent numeric‑presentation workflows in LibreOffice Calc.