Expression Functions
Use this page as a reference for writing expressions inside calculated columns.
COLUMNS
How expressions work
Write an expression in a calculated column to create a value for every row. The editor suggests functions and configured columns as you type, then validates the expression before you add or save it.
Expressions begin with =. Aggregate functions calculate across the table; the other functions work with the current row value.
Write an expression
Use the Formula field in a calculated column to combine existing fields and supported functions.
Open the calculation
To create one, go to Columns → Add column → Calculated columns. To edit one, open the calculated column in the Columns tab.
Enter Formula
Write an expression that begins with =, followed by a field, function, or calculation.
Use the suggestions
As you type, choose a configured column or a function from the suggestions. Function names remain in English.
Validate and add
Resolve any validation message and review the preview. For a new column, Add calculation becomes available only when the formula is valid; then save or publish the page.
TIP
Use column names directly, join text with &, and use ? : for conditional logic. A formula can reference only fields already added to the table.
Quick examples
These examples show common patterns: aggregating data, working with dates, extracting text, and comparing a value with a total.
| Formula | Use it for |
|---|---|
Aggregate + math =ROUND(amount / SUM(amount) * 100, 1) & "%" | Calculate a row’s percentage of the total amount. |
Date =DAYS_TO(duedate) | Show the number of days until a due date. |
String =AFTER(email, "@") | Extract the domain from an email address. |
Math + aggregate =ABS(score - AVG(score)) | Measure a score’s distance from the average. |
Function reference
Use these functions in a formula after the = sign. Function identifiers are written in English and remain the same in every app language.
| Function | What it does |
|---|---|
| Aggregate | |
| SUM(expr) | Returns the total across all rows. |
| AVG(expr) | Returns the average across all rows. |
| MIN(expr) | Returns the smallest value across all rows. |
| MAX(expr) | Returns the largest value across all rows. |
| COUNT(expr) | Counts non-empty values. |
| COUNT_DISTINCT(expr) | Counts distinct non-empty values. |
| Number | |
| ROUND(n, decimals?) | Rounds a number to the requested decimal places. |
| ABS(n) | Returns the absolute value. |
| FLOOR(n) | Rounds down to the nearest integer. |
| CEIL(n) | Rounds up to the nearest integer. |
| SQRT(n) | Returns the square root. |
| NUM(value) | Parses a currency or locale-formatted string as a number. |
| Date | |
| TODAY() | Returns today’s date as YYYY-MM-DD. |
| DAY(date) | Returns the day of the month. |
| MONTH(date) | Returns the month number. |
| YEAR(date) | Returns the full year. |
| QUARTER(date) | Returns Q1, Q2, Q3, or Q4. |
| DAYS_TO(date) | Returns days from today; a negative value is in the past. |
| Text | |
| LEFT(text, n) | Returns the first n characters. |
| RIGHT(text, n) | Returns the last n characters. |
| MID(text, start, length) | Returns a substring; start is 1-indexed. |
| BEFORE(text, delimiter) | Returns everything before the first delimiter. |
| AFTER(text, delimiter) | Returns everything after the first delimiter. |
TIP
Use short, readable expressions whenever possible. Prefer formulas your team can understand at a glance.
For more practical examples and suggested column names, see Calculated Columns.