An Airtable account with an active base. No coding or mathematical background required.
Airtable formula fields allow you to calculate values across columns in the same record. Unlike spreadsheets where formulas live in individual cells (=A1+B1), Airtable formulas apply to an entire field column, calculating dynamically for every record in your table.
Whether you're building a lightweight CRM, tracking editorial calendars, or automating client portals, these 10 formulas handle 90% of everyday workflows.
Need a quick formula without writing syntax by hand? Use our free interactive Airtable Formula Generator to select functions, plug in your field names, and preview live results.
The three golden rules of Airtable formulas
Before writing your first formula, keep these three syntax rules in mind:
- Always wrap field names in curly braces: Write
{Status}or{Due Date}. If a field name has spaces, special characters, or numbers, braces are mandatory. - Always wrap literal text in double quotes:
"Complete"is text;{Complete}is a field name. Mixing them up causes syntax errors. - Airtable evaluates record-by-record: Formulas cannot directly reference "the row above" or "the row below" without linked records and rollups.
1. CONCATENATE (Combine text and field values)
When you have separate {First Name} and {Last Name} fields, you often need a primary field displaying the full contact name.
CONCATENATE({First Name}, " ", {Last Name})
Pro tip: The & shortcut
In Airtable, the ampersand (&) operator works identically to CONCATENATE and is often faster to read:
{First Name} & " " & {Last Name}
If you want to include static text or labels:
"Invoice #" & {Invoice Number} & " — " & {Client Name}
2. DATETIME_DIFF (Calculate time between two dates)
DATETIME_DIFF calculates the duration between two dates in days, weeks, months, or hours.
DATETIME_DIFF({End Date}, {Start Date}, 'days')
The order rule: Later date first
DATETIME_DIFF computes date1 - date2. To get a positive number, place the later date (e.g. End Date or Target Date) first:
DATETIME_DIFF({End Date}, {Start Date}, 'days')→14DATETIME_DIFF({Start Date}, {End Date}, 'days')→-14
Supported units include 'days', 'weeks', 'months', 'years', 'hours', and 'minutes'.
3. DATEADD (Calculate future or past deadlines)
Need to set a follow-up date 7 days after an invoice is created, or a review date 30 days out? DATEADD adds or subtracts time units to any date field.
DATEADD({Created Date}, 7, 'days')
To calculate a past date (e.g., 30 days ago), pass a negative number:
DATEADD({Due Date}, -30, 'days')
4. TODAY() & NOW() (Live countdowns & aging)
TODAY() returns the current calendar date, updating continuously. Combine it with DATETIME_DIFF to create a live countdown to project milestones:
DATETIME_DIFF({Deadline}, TODAY(), 'days')
- If
{Deadline}is 5 days in the future, the output is5. - If
{Deadline}is today, the output is0. - If
{Deadline}was 3 days ago, the output is-3(overdue).
Use NOW() when you need timestamps down to the current hour and minute.
5. DATETIME_FORMAT (Display friendly, readable dates)
By default, dates generated by formulas can format as long ISO timestamp strings (2026-10-28T14:30:00.000Z). DATETIME_FORMAT turns them into clean, human-readable strings.
DATETIME_FORMAT({Due Date}, 'MMMM D, YYYY')
Output: October 28, 2026
Common format specifiers:
'YYYY-MM-DD'→2026-10-28(Standard ISO)'MM/DD/YYYY'→10/28/2026(US style)'DD/MM/YYYY'→28/10/2026(UK / European style)'MMM D, YYYY'→Oct 28, 2026(Abbreviated month)'YYYY-MM-DD h:mm a'→2026-10-28 2:30 pm
6. IF (Conditional status labels & badges)
The IF function evaluates a condition and returns one value if true, and an alternate value if false:
IF({Status} = "Done", "✓ Complete", "○ Pending")
You can also check numerical thresholds:
IF({Score} >= 80, "🎉 Passed", "⚠️ Needs Review")
If you leave the third argument blank, Airtable returns an empty cell when the condition is false:
IF({Overdue}, "🚨 OVERDUE", "")
7. SWITCH (Cleaner multi-condition branching)
When you need to test a single field against multiple possible values (such as a single-select {Priority} or {Stage} field), nesting multiple IF statements becomes messy:
❌ Messy nested IF:
IF({Priority} = "High", "🔴 Urgent", IF({Priority} = "Medium", "🟡 Normal", "🟢 Low"))
✅ Clean SWITCH alternative:
SWITCH(
{Priority},
"High", "🔴 Urgent",
"Medium", "🟡 Normal",
"🟢 Low"
)
The last argument acts as the default fallback if none of the cases match.
8. BLANK() (Detect missing data without errors)
Important: Airtable does not have an
ISBLANK()function like Google Sheets or Microsoft Excel. UsingISBLANK()triggers an unknown function error.
To check if a field is empty in Airtable, compare it against BLANK():
IF({Phone} = BLANK(), "⚠️ Missing phone number", "✓ On file")
Alternatively, you can test field truthiness directly. If {Phone} contains any data, it evaluates to true:
IF({Phone}, "✓ Provided", "Missing")
9. Safe division & formatted percentages
Dividing numbers in Airtable can cause a #ERROR! if the denominator equals zero or is empty. Always write a safe division check:
IF({Total Tasks} > 0, ROUND(({Completed Tasks} / {Total Tasks}) * 100, 1) & "%", "0%")
How this works:
IF({Total Tasks} > 0, ...)protects against division-by-zero errors.ROUND(..., 1)limits the result to one decimal place (e.g.,85.5).& "%"appends the percentage symbol as a formatted string.
10. TRIM, UPPER & LOWER (Text data cleaning)
When importing CSVs or accepting form submissions, text inputs often arrive with inconsistent casing and trailing spaces. These functions normalize your data:
- Remove extra leading and trailing whitespace:
TRIM({Company Name}) - Standardize codes or abbreviations to uppercase:
UPPER({Country Code}) - Normalize emails for deduplication:
LOWER(TRIM({Email Address}))
Quick troubleshooting: Fixing Airtable #ERROR!
| Symptom | Cause | Solution |
|---|---|---|
| Unknown function | Using spreadsheet formulas like ISBLANK or COUNTIF | Use {Field} = BLANK() or rollup fields with condition filters. |
| NaN or #ERROR! on division | Denominator is 0 or empty | Wrap calculation in IF({Denominator} > 0, ..., 0). |
| Curly brace error | Unbalanced braces or spaces in field name | Ensure {Field Name} matches the exact column name in your table. |
| Negative date duration | Arguments in DATETIME_DIFF are inverted | Place the later target date first: DATETIME_DIFF({End}, {Start}, 'days'). |
Next steps
- Build and preview your formulas interactively with the Airtable Formula Generator.
- Explore pre-built starter bases in our Airtable CRM Base Template.
- Connect your Airtable data to client portals with the Softr Integration Guide.