← All guides

3 min read · Updated August 2026

Notion Formulas 2.0: Syntax, Functions & Real-World Examples

A working introduction to Notion formulas 2.0: prop references, operators, the functions you will actually use, and five real examples.

Formulas turn a Notion database from a ledger into a calculator. Notion formulas 2.0 added a richer type system, arrays, and string functions that make it possible to compute things that used to need external tools.

This guide covers the syntax, the functions worth memorizing, and five examples you can paste straight in.

The basics of a formula

A formula is an expression that returns a value. It reads other properties with prop("Name") and combines them with operators and functions. The result becomes a new, read-only column on each row.

Types matter

Formulas 2.0 is typed. A Date is not a Number. Many errors come from feeding the wrong type to a function. Use format(), toNumber(), and parseDate() to convert when needed.

The functions you will actually use

Logic

  • if(condition, then, else) for branches.
  • ifs(condition, result, ...) for multiple branches without nesting.
  • empty(prop("X")) and notEmpty(prop("X")) for null checks.

Text

  • concat(a, b) or the + operator to join strings.
  • substring(text, start, end) to slice.
  • replace(text, pattern, replacement) and replaceAll for regex.
  • upper(), lower() for case.

Dates

  • now() for the current timestamp.
  • dateBetween(a, b, "days") for the gap between two dates.
  • formatDate(date, "MMM D, YYYY") to display a date.
  • dateAdd(date, n, "days") to shift a date.

Numbers

  • round(), floor(), ceil().
  • abs(), sqrt().
  • sum() on a rollup or array.

Five real-world examples

1. Days until deadline

```
dateBetween(prop("Deadline"), now(), "days")
```

Returns a positive number when the deadline is in the future, negative when overdue.

2. Status badge with color logic

```
ifs(
prop("Status") == "Done", "Complete",
prop("Status") == "In Progress", "Active",
"To Do"
)
```

3. Overdue alert

```
if(
and(notEmpty(prop("Deadline")), prop("Status") != "Done", dateBetween(prop("Deadline"), now(), "days") < 0),
"Overdue",
""
)
```

4. Full name from first and last

```
prop("First") + " " + prop("Last")
```

5. Revenue with currency formatting

```
"$" + format(round(prop("Revenue") * 100) / 100)
```

Debugging tips

  • Build formulas in small pieces. Test prop("Deadline") alone before wrapping it in dateBetween.
  • Watch the type indicator Notion shows beside each function. A red hint means a type mismatch.
  • Use ifs instead of deeply nested if calls. Readability matters when you revisit a formula in three months.

When not to use a formula

If a formula grows past a few lines, it usually means a property is missing. Add a clean Select or Number property and compute from that instead of cramming logic into one expression.

Templates with formulas ready

The store's dashboards include working formulas for overdue alerts, progress bars, and revenue rollups, so you inherit tested expressions instead of writing them from scratch.

Want this built for your practice, not just read about it?

Book an intro call