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.
Verification status: Consult the documentation, examples and any stated test scope below. How formula examples are checked
Availability and version history
- Introduced: Documented by LibreOffice 26.8.1.1; original introduction not established.
- Availability: Supported in LibreOffice 26.8.1.1, verified against its function registry. This identifies a supported release, not a final working version.
- Scope: Desktop Calc, using the English function name. Availability in other spreadsheet applications is separate.
- Checked: 2026-10-14 — function reference; versioned support. Documentation/source check; not a new native test. Existing example-specific test claims below retain their stated scope.
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.
Reproducible example (tested in LibreOffice Calc)
This standalone example was calculated in LibreOffice Calc 25.2.3.2 and matched the expected value. It is a practical cross-check of one usage, not proof that every example elsewhere on this page is correct.
=ROMAN(14)
Expected result: XIV.
Display a number as a Roman numeral.
If the result differs, check the referenced cells, argument separators and number formatting. For more information, consult the LibreOffice Calc official help.