WHAT YOU WILL LEAVE WITH

Create a repeatable calculation contract instead of copying spreadsheet expressions without checking their meaning.

Understand the Calculation Model

The official guide describes formula columns that apply their expression across rows. Column references use identifiers such as $Hours, and identifiers are case-sensitive. Python functions and Grist’s uppercase spreadsheet-like functions have different naming conventions.

Before converting an existing data column, preserve its values in a copy or export. A computed column and a manually entered column serve different purposes: the former expresses a rule, while the latter may contain historical overrides. Decide whether those overrides are valid business exceptions before replacing them.

Documentation: Grist: Intro to Formulas

Write the Business Rule First

For a hypothetical repair team, a labor charge is Hours multiplied by HourlyRate. Two hours at 75 produces 150; half an hour at 80 produces 40. Those arithmetic expectations are examples, not observed Grist output.

Decide what a missing rate means. It may mean “not priced yet,” which is different from a genuine zero-cost visit. A calculation that silently treats both as zero can produce a polished but misleading invoice. Add a separate review condition for incomplete inputs rather than hiding the distinction in formatting.

Translate the Rule Into a Test Column

Check the exact column IDs shown by your document before entering an expression such as $Hours * $HourlyRate. Use a synthetic table first. If a column was renamed, verify its identifier rather than guessing that the visible label is the expression name.

Review the current guide for column behavior and helper syntax. When a rule changes, keep its business definition and example expectations together so a future editor can tell whether a different output is an intended change or an error.

  1. Create ordinary, fractional, zero and incomplete example rows.
  2. Calculate expected results independently.
  3. Enter the expression using the document’s actual identifiers.
  4. Inspect errors and data types rather than only cell formatting.
  5. Change one input and confirm the relevant output recalculates.

Documentation: Grist: Intro to Formulas

Keep Totals and Exceptions Understandable

If the task is a subtotal across many rows, use a separate summary rather than inventing a special total row inside a table of visits. That keeps one row’s meaning consistent and makes row-level calculations easier to reason about.

For a lookup-based calculation, verify which record is selected and what happens when no match exists. A correct multiplication cannot repair an incorrect customer rate. Save the expected-output worksheet with the calculation’s owner and the date its rule was approved.

WORKING EXAMPLE / SYNTHETIC DATA

Hypothetical labor-charge expectations

This is an illustrative worksheet to adapt to your own evaluation. It is not a measured product test or a claim about results in your installation.

Hypothetical labor-charge expectations
InputsExpected OutcomeReason
2 hours × 75150Ordinary multiplication
0.5 hours × 8040Fractional quantity
0 hours × 750Genuine zero quantity
2 hours × missing rateNeeds reviewUnpriced is not the same as free

A useful formula includes an explicit rule, a known set of expected outputs and a visible treatment of incomplete data.

Inspect the official interface evidence

These previously captured interfaces provide orientation. Their versions and dates are distinct from the documentation review above.

INTERFACE SPECIMENS / ANNOTATED

Inspect the interface, with its context.

Open a specimen to see the source image and the observations it supports. A vendor demonstration is distinct from a self-hosted installation.

GristOfficial public demo · Demo identifies v1.7.20
Official public demoDemo identifies v1.7.20
Grist official Lightweight CRM demo showing a contact list, selected contact card and interactions table with fictional sample data.
The official Lightweight CRM template combines a contact grid, a detail card and an interactions table. The demo identifies its sample data as fictional. This hosted v1.7.20 demo is separate from the v1.7.21 core licence check.
  1. Contact gridThe left widget lists sample companies and follow-up tasks.
  2. Detail cardThe upper-right widget presents fields for the selected contact.
  3. Related interactionsThe lower-right widget displays the sample interaction history.
Interface and sample template © Grist Labs. Browser capture by OwnStack Atlas; numbered annotations are separate overlays. Reviewed 25 October 2026.Open official source ↗Enlarge original ↗
SOURCE REGISTER

Check the facts and their boundaries.

Official documentation supports the product statements. The evaluation procedures and synthetic examples are editorial guidance. We have not independently run the installation, migration or recovery procedures described here.

Grist: Intro to FormulasPrimary source ↗

Python expressions, column behavior and case-sensitive identifiers. Reviewed 2026-11-01.