Advanced Spreadsheets and Reporting Documentation
Index

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 123 button 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)):

  1. 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).
  2. Every amount now renders like 12,345 and (1,234) in red — on every page of the region.
  3. 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.052 becomes ▲ 5.2% in green, -0.031 becomes ▼ 3.1% in red, and zero stays plain.
  4. Month header cells computed with =CalcDate(...) get {"k":"d","p":"mmm yyyy"} — Jan 2027 instead 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).