Number Formats
A content format controls how a cell's raw value displays — decimals, thousand separators, percent, currency, or a date pattern. It is part of the cell's style, so it persists, copies, travels in templates and undoes exactly like bold or a fill colour, and changing it never recalculates anything.
Applying a Format
- On cells: select them and press Ctrl+1 (or the
123button on the style bar). The Format Cells dialog offers General, Number, Percent, Currency and Date with a live preview. - On a table-region column: the Format column in the region's field list. Every data cell the column renders picks it up, whatever page it lands on; a format set on an individual cell wins over the column's.
The Format Object (Reference)
A format is stored as a compact JSON object under the nf key of the cell's style. You normally never type it — the dialogs write it — but region column formats, templates and the AI agent use it directly:
| Key | Meaning |
|---|---|
k |
Kind: n number, p percent, c currency, d date |
d |
Decimals 0–6 (number kinds; default 2) |
ts |
1 = thousand separators (number kinds) |
ng |
Negatives: p parentheses, r red, pr both (number kinds) |
x |
Percent only: 1 = the value is a fraction, multiply by 100 (default 1) |
tr |
Percent only: 1 = trend indication — ▲ green above zero, ▼ red below, zero plain; the sign is dropped (the arrow carries it) |
cu |
Currency symbol text; cp 1 = suffix (default prefix) |
p |
Date pattern: d dd ddd dddd m mm mmm mmmm yy yyyy plus literal separators (< and > are not allowed) |
Examples
| Format | Effect |
|---|---|
{"k":"n","d":0,"ts":1} |
12,345 — integer with thousands (the standard amount format) |
{"k":"n","d":2,"ts":1,"ng":"pr"} |
(1,234.50) in red for negatives |
{"k":"p","d":1} |
0.423 → 42.3% |
{"k":"p","d":1,"tr":1} |
0.05 → ▲ 5.0% in green; -0.05 → ▼ 5.0% in red |
{"k":"c","d":2,"ts":1,"cu":"$"} |
$1,234.50 |
{"k":"d","p":"dd mmm yyyy"} |
31 Jan 2026 |
{"k":"d","p":"mmm yyyy"} |
Jan 2026 |
Decimal and thousand separators follow your regional settings, like the rest of the sheet.
Recipe: Make a Column Read Like a Financial Statement
For an amounts column in a table region (say Remaining Amt. (LCY)):
- Open the region's field list and put
{"k":"n","d":0,"ts":1,"ng":"pr"}in the column's Format (or pick Negatives red in parentheses from the preset menu and adjust). - Every amount now renders like
12,345and(1,234)in red — on every page of the region. - For a variance column that should read as movement, use the trend format
{"k":"p","d":1,"tr":1}on the cells holding the period-over-period fractions:0.052becomes ▲ 5.2% in green,-0.031becomes ▼ 3.1% in red, and zero stays plain. - Month header cells computed with
=CalcDate(...)get{"k":"d","p":"mmm yyyy"}—Jan 2027instead of a full date.
How Formats Interact with Other Styling
- The format renders from the cell's raw value (number or date); text cells are unaffected.
- Red-negative and trend colouring are injected into the cell's style, but a conditional format that matches the cell still wins.
- A user style on a region cell wins over region-supplied styling wholesale — except a region column's format still shows through when the user style carries no format of its own.
- On writable region cells the unformatted value remains the edit seed, so editing a formatted cell shows the plain number.
Default Display Without a Format
- Numeric literals: whole numbers show plain (
100), fractional values show two decimals (3.50). - Formula results and region numbers: decimals show with two decimals; integers plain.
- Trend and negative colours use the same green/red pair as the rest of the app (
#2f9e44/#c42b1c).