Formulas

Computed columns, no glue code.

The formula bar autocompletes as you type.

fx
Σ Total = SUM([Q1]+[Q2]+[Q3]+[Q4])
SUMSUM(value, …)
AVGAVG(value, …)
IFIF(test, then, else)
ROUNDROUND(value, places)
PCTPCT(part, whole)
Preview · row 4$74,600

The grammar

A column, that adds itself.

Reference. Combine. Roll up. The math sits next to the cells it touches.

// Three columns of revenue, one total.
Σ Total =
SUM([Q1] + [Q2] + [Q3])
// A guard rail, in one line.
Risk = IF([Churn] > 5, "watch", "ok")
// Round before you publish.
NRR = ROUND(PCT([Retained], [Start]) * 100, 1)

Engine

A real parser, with cycle protection.

Hand built tokenizer, Pratt parser, tree walker. No eval. No new Function. Cycles short circuit at zero.

  • Reference any column with [Name in brackets]. Spaces are welcome.
  • Reference any other source with the [Source!Column] syntax. Cross sheet feels native.
  • String concatenation, comparisons, logic, modulo. The grammar reads like the cell.

The kit

The motions, laid out.

Functions, operators, and the column they fill. Three views of the same act.

SUMAVGMINMAXCOUNTIFROUNDABSCONCATLENLOWERUPPERPCTROWROWS

Functions

Fifteen, ready.

Aggregates, math, text, and structure. Each one autocompletes from the bar with a one line hint.

+ −

add subtract

× ÷ %

multiply divide modulo

> < =

compare

AND OR

logic

[col]

reference

Operators

Plain and complete.

Arithmetic, compare, logic. Strings concat with plus when one side is text. Reference with brackets.

Totalfx
$62,300
$49,500
$91,000
$41,500

The column

Always live.

The header tints. A small fx tag marks it. Cells render read only and recompute the moment a source row changes.

Why a parser

No eval, no surprises.

15

functions, no plugins

0

eval, in the engine

depth, with cycles caught

A formula in Donum cannot pull network. It cannot read globals. It does math, returns a value, and steps aside.

In short

Questions, answered.

Which functions ship?+

SUM, AVG, MIN, MAX, COUNT, IF, ROUND, ABS, CONCAT, LEN, LOWER, UPPER, PCT, ROW, ROWS. More on the way.

Can a formula reference another column?+

Yes. Wrap the column name in square brackets, like [Q1] or [Plan Total]. Spaces are fine.

Can a formula reach another source?+

Yes. Use [Other Source!Column] to pull a value from any source in the workspace.

What if I make a cycle?+

The engine catches it. The cell shows the cycle marker and the rest of the sheet keeps running.

Type fx. Watch the math run.