Formulas & functions
Type = in any cell and you’re writing a formula. The engine follows the conventions you know
from Google Sheets and Excel — same reference style, same function names, same error values.
Writing a formula
Section titled “Writing a formula”- Select a cell and type
=. - Reference other cells by their coordinates:
=A1*B1. - Press Enter — the cell shows the result; the formula bar shows the formula whenever the cell is selected.
- Ranges use the
A1:B10form:=SUM(A1:A10)totals a column segment. - Absolute references use
$to pin an axis:=$A$1never moves when copied;=A$1pins just the row. This matters when copying formulas. - Formulas recalculate instantly as their inputs change — including inputs edited by someone else in the sheet.
The function library
Section titled “The function library”Over 270 functions are implemented across math, text, date, logical, lookup, statistical,
financial, engineering, and array categories. Click the ƒx button to browse and search the
catalog — choosing an entry inserts NAME( into your formula so you can fill in the arguments.
The everyday dozen:
| Function | What it does | Example |
|---|---|---|
SUM |
Adds numbers or ranges | =SUM(B2:B20) |
AVERAGE |
Arithmetic mean | =AVERAGE(B2:B20) |
IF |
Value based on a condition | =IF(C2>100, "over", "under") |
COUNTIF |
Count cells matching a condition | =COUNTIF(D2:D50, "done") |
SUMIF |
Sum cells whose neighbors match | =SUMIF(A2:A50, "widgets", B2:B50) |
VLOOKUP |
Find a row by its first-column key | =VLOOKUP("acme", A2:D50, 3, FALSE) |
INDEX |
Value at a position in a range | =INDEX(B2:B50, 7) |
MATCH |
Position of a value in a range | =MATCH("acme", A2:A50, 0) |
TEXTJOIN |
Join text with a separator | =TEXTJOIN(", ", TRUE, A2:A10) |
TODAY |
Today’s date | =TODAY() |
DATE |
Build a date from parts | =DATE(2026, 7, 16) |
ROUND |
Round to N decimal places | =ROUND(B2, 2) |
INDEX + MATCH together make a flexible lookup: =INDEX(C2:C50, MATCH("acme", A2:A50, 0)).
CONCATENATE also exists for joining text, but TEXTJOIN (with its separator and skip-blanks
arguments) is usually what you want.
When a formula goes wrong
Section titled “When a formula goes wrong”Errors are explicit, never silent:
| Error | Meaning |
|---|---|
#DIV/0! |
Division by zero |
#N/A |
Lookup found no match |
#NAME? |
Unknown function or name |
#NUM! |
Invalid numeric argument |
#REF! |
Reference to a deleted cell |
#VALUE! |
Wrong argument type |
#ERROR! |
The formula couldn’t be parsed |
#UNSUPPORTED! |
The function exists in the catalog but isn’t available — hover for why |
#UNSUPPORTED! is the honesty signal: a few cataloged functions aren’t implemented yet, and a
cell using one says so rather than guessing. Google-proprietary functions (like
GOOGLEFINANCE or IMPORTRANGE) aren’t in the catalog at all and return #NAME?.
Details worth knowing
Section titled “Details worth knowing”- Dates are spreadsheet serial numbers under the hood — date functions and arithmetic
(
=B2-A2for days between) work the standard way. NOW,TODAY,RAND, andRANDBETWEENare volatile — they refresh on recalculation.REGEXMATCH/REGEXEXTRACT/REGEXREPLACEuse the same regex dialect Google Sheets documents.- Argument separators are commas; decimals use a dot (US conventions).