ROMAN Function (LibreOffice Calc)
The ROMAN function in LibreOffice Calc converts an Arabic number into a Roman numeral. It supports multiple formatting modes, from classic Roman numerals to simplified modern variants.
Compatibility
▾| Excel | ✔ |
| Gnumeric | ✔ |
| Google_sheets | ✔ |
| Libreoffice | ✔ |
| Numbers | ✔ |
| Onlyoffice | ✔ |
| Openoffice | ✔ |
| Wps | ✔ |
| Zoho | ✔ |
What the ROMAN Function Does ▾
- Converts Arabic numbers → Roman numerals
- Supports multiple formatting styles
- Works with integers from 0 to 3999
- Useful for outlines, labels, formatting, and historical references
It is designed to be simple, flexible, and universally compatible.
Syntax ▾
ROMAN(number; [mode])
Arguments
-
number:
An integer between 0 and 3999. -
mode: (optional)
Controls the style of Roman numeral formatting.
Lower values = more classic; higher values = more simplified.
| Mode | Style Description |
|---|---|
| 0 | Classic (default) |
| 1 | More concise |
| 2 | Even more concise |
| 3 | Highly simplified |
| 4 | Minimalist modern form |
Basic Examples ▾
Convert 499 to a Roman numeral
=ROMAN(499)
Returns CDXCIX.
Convert 2024 to a Roman numeral
=ROMAN(2024)
Returns MMXXIV.
Convert a cell value
=ROMAN(A1)
Use a simplified style
=ROMAN(499; 1)
Returns LDVLIV.
Advanced Examples ▾
Generate Roman numeral list labels
=ROMAN(ROW())
Useful for outlines or section numbering.
Convert page numbers to Roman numerals
=ROMAN(A1)
Common in front‑matter formatting.
Use minimalist modern style
=ROMAN(A1; 4)
Produces the shortest possible Roman numeral.
Combine with CONCATENATE for headings
=CONCATENATE("Chapter "; ROMAN(A1))
Roman numerals for date formatting (year only)
=ROMAN(YEAR(A1))
Roman numerals for month names
=ROMAN(MONTH(A1))
Roman numeral sequence for tables
=ROMAN(ROW(A1))
Roman numeral for ordinal labels
=ROMAN(A1) & "."
Common Errors and Fixes ▾
Err:502 — Invalid argument
Occurs when:
- number < 0
- number > 3999
- number is text
- mode is invalid
ROMAN returns unexpected results
Cause:
- mode changes formatting style
- non-integer values are truncated
Example:ROMAN(5.8)→ROMAN(5)→V.
ROMAN returns empty string
Occurs when:
- number = 0
(Roman numerals have no representation for zero)
Best Practices ▾
- Use ROMAN for formatting, labeling, and outlines
- Use mode to control style (0 = classic, 4 = minimal)
- Use ARABIC to convert Roman numerals back to numbers
- Avoid values outside 1–3999
- Use CONCATENATE or & for headings and labels
Related Patterns and Alternatives ▾
- Use ARABIC to convert Roman → Arabic
- Use TEXT for formatting numbers
- Use UPPER to enforce uppercase (though ROMAN already outputs uppercase)
- Use CONCATENATE or & for building labels
By mastering ROMAN and its companion functions, you can create elegant, structured, and stylistically rich documents and spreadsheets in LibreOffice Calc.