This is a complete quick reference or “cheat sheet” for Notion formulas. On this page you’ll find one or more example formulas for every constant, operator, and function available in the Notion formula editor.

This cheat sheet is meant to be a quick, easy-to-use bookmark.
It is a companion to my complete Notion Formula Reference. There, you’ll find comprehensive technical documentation on Notion formulas, including:
- Full explanations for every constant, operator, and function
- Detailed tutorials for creating formula properties and working in the formula editor
- A full breakdown of Notion formula syntax
- Advanced guides on Notion regular expressions, formula errors, data type conversion, and more
You may also want to check out my Formula Examples Database in Notion itself; there, you’ll find more than 80 example databases demonstrating how to use every formula component listed here.
Notion Formula Terms
Here are some of the most common terms you’ll run across when working with Notion formulas. Each link here will take you to a full page in the Formula Reference where you can learn more.
- Property – other properties that exist in your Notion database.
- Constant – mathematical constants e and π, plus the Boolean values true and false.
- Operator – symbols that perform operations on 1-3 operands. Includes mathematical operators (such as add), Boolean operators (such as not), and the ternary operator (if).
-
Function – pre-defined formulas that you can use to accomplish complex things quickly. Examples include concat (combines strings) and dateAdd (adds
x
units of time to a date).
Arguments are the accepted pieces of data used within functions:
// function_name(argument_1, argument_2)
divide(10,2) // Output: 5
// Note that spaces between arguments are optional, but
// commas are required.
concat("My", " ", "Chemical", " ","Romance")
// Output: My Chemical Romance
Notion formulas support four distinct data types:
- String – text content
- Number – numeric characters, on which mathematical operations can be performed
- Boolean/Checkbox – true/false values
- Date – date objects
Good to know: A Notion formula can only return data of a single type. When working with multiple data types, make sure to use type conversion to convert everything to a single type in order to avoid errors.
Constants
e
The mathematical constant e is known as Euler’s Number, and approximately equals 2.718281828459045
.
Full reference: e
e
// Output: 2.718281828459
500 * e ^ (.3 * 10)
// Output: 10042.768461593832
pi
The mathematical constant pi (π) equals (roughly) 3.1415926559
.
Full reference: pi
pi
// Output: 3.14159265359
pi * 10^2
// Output: 314.159265358979
true
The true
constant represents the Boolean output true
. Its opposite is false
.
Full reference: true
true
// Output: true (checked checkbox)
true ? "😀" : "😭"
// Output: 😀
false
The false
constant represents the Boolean output false
. Its opposite is true
.
Full reference: false
false
// Output: false (unchecked checkbox)
false ? "😀" : "😭"
// Output: 😭
Operators
if
The if()
operator allows you to write if-then statements within a Notion formula.
Full reference: if
// if() syntax
if(prop("Type")=="Mammal",true,false)
// Output: true
// ternary syntax
prop("Type")=="Mammal" ? true : false
// Output: true
// Nested if statement
if(
prop("Age") < 13,
"Child",
if(
prop("Age") < 19,
"Teenager",
"Adult"
)
)
add
The add (+
) operator allows you to:
- Perform addition on numbers
- Concatenate strings – i.e. combine them (also doable with
concat()
)
Full reference: add
Usage: +
or add()
2 + 5
// Output: 7
"Monkey D." + " Luffy"
// Output: Monkey D. Luffy
add(4,7)
// Output: 11
add("Monkey D."," Luffy")
// Output: Monkey D. Luffy
subtract
The subtract (-
) operator allows you to subtract two numbers and return their difference.
Full reference: subtract
Usage: -
or subtract()
12 - 5
// Output: 7
subtract(5,12)
// Output: -7
multiply
The multiply (*
) operator allows you to multiply two numbers together and get their product.
Full reference: multiply
Usage: *
or multiply()
12 * 4 // Output: 48
multiply(12,-4) // Output: -48
divide
The divide (/
) operator allows you to divide two numbers and get their quotient.
Full reference: divide
Usage: /
or divide()
12 / 4 // Output: 3
divide(12,-4) // Output: -3
pow
The power (^
) operator (also known as the exponentiation operator) allows you to raise a number to a higher power.
Full reference: pow
Usage: ^
or pow()
3 ^ 4 // Output: 81
pow(4,3) // Output: 64
2 ^ 2 ^ 3 // Output: 256 - evaluates as 2 ^ (2 ^ 3)
mod
The remainder (%
) operator allows you to get the remainder after dividing the first operand with the second operand.
Full reference: mod
Usage: %
or mod()
19 % 12 // Output: 7
19 mod 12 // Output: 7
mod(-19,12) // Output: -7
unaryMinus
The unaryMinus (-
) operator negates a number.
Full reference: unaryMinus
Usage: -
or unaryMinus()
-42 // Output: -42
-(-42) // Output: 42
unaryMinus(42) // Output: -42
unaryPlus
The unaryPlus (+
) operator is used to convert Booleans and numeric strings to numbers.
Full reference: unaryPlus
Usage: +
or unaryPlus()
+"42" // Output: 42
+true // Output: 1
+false // Output: 0
unaryPlus("42") // Output: 42
20 + + "30" // Output: 50
-+"30" // Output: -30
20 + - + "30" // Output? -10 [Notion will rewrite this to 20 + -(+"30")]
not
The not operator inverts the truth value of a Boolean/Checkbox value in a Notion formula. Another way of thinking about it is that it returns true
only if its operand is false
. It accepts Boolean operands.
Full reference: not
not true // Output: false
not(true) // Output: false
not empty("Hello") // Output: true
not if(50>40,true,false) // Output: false
and
The and operator returns true
if and only if both of its operands have a true
Boolean value. Otherwise, it will return false
. It accepts Boolean operands.
Full reference: and
true and true // Output: true
true and false // Output: false
and(1>0,0<4) // Output: true
if(true and true, "Happy", "Sad") // Output: "Happy"
if(true and false, "Happy", "Sad") // Output: "Sad"
if(5>4 and 1<3, true, false) // Output: true
if(length("Monkey D. Luffy") > 5 and length("Monkey D. Luffy") < 100, true, false) // Output: true
4>2 and 3<4 and 7==7 ? true : false // Output: true
or
The or operator returns true
if either one of its operands is true
. It accepts Boolean operands.
Full reference: or
true or false // Output: true
false or true // Output: true
false or false // Output: false
10 > 20 or "Cat" == "Cat" // Output: true
10 > 20 or "Cat" == "Dog" or true // Output: true
equal
The equality (==
) operator returns true
if its operands are equal. It accepts operands of all data types – strings, numbers, Booleans, and dates.
Full reference: equal
1 == 1 // Output: True
equal(1,1) // Output: True
1 == 2 // Output: False
"1" == 1 // Type mismatch error
+"1" == 1 // Output: True (uses the unaryPlus operator to convert "1" to a number
2^2 == 4 // Output: True
length("Monkey D. Luffy") == 15 // Output: True
unequal
The inequality (!=
) operator returns true
if its operands are not equal. It accepts operands of all data types – strings, numbers, Booleans, and dates.
Full reference: unequal
1 != 2 // Output: True
1 != 1 // Output: False
unequal("Cat","Dog") // Output: True
"1" != 2 // Type mismatch error
2^3 != 10 // Output: True
larger
The larger (>
) operator returns true
if its left operand is greater than its right operand. It accepts numeric, date, and Boolean operands.
Full reference: larger
2 > 1 // Output: true
42 > 50 // Output: false
// Boolean values equate to 1 (true) and 0 (false).
true > false // Output: true
true > true // Output: false
// For dates, "less than" equates to "before".
now() > dateSubtract(now(), 1, "days") // Output: true
largerEq
The larger or equal (>=
) operator returns true
if its left operand is greater than or equal to its right operand. It accepts numeric, date, and Boolean operands.
Full reference: largerEq
2 >= 1 // Output: true
42 >= 42 // Output: true
// Boolean values equate to 1 (true) and 0 (false).
true >= false // Output: true
true >= true // Output: true
// For dates, "less than" equates to "before".
now() >= now() // Output: true
smaller
The smaller (<
) operator returns true
if its left operand is less than its right operand. It accepts numeric, date, and Boolean operands.
Full reference: smaller
2 < 1 // Output: false
42 < 50 // Output: true
// Boolean values equate to 1 (true) and 0 (false).
false < true // Output: true
true < true // Output: false
// For dates, "less than" equates to "before".
now() < dateAdd(now(), 1, "months") // Output: true
smallerEq
The smaller or equal (<=
) operator returns true
if its left operand is less than or equal to its right operand. It accepts numeric, date, and Boolean operands.
Full reference: smallerEq
2 <= 3 // Output: true
42 <= 42 // Output: true
// Boolean values equate to 1 (true) and 0 (false).
false <= true // Output: true
true <= true // Output: true
// For dates, "less than" equates to "before".
now() <= now() // Output: true
Functions
concat
The concat()
function concatenates (aka combines) its arguments. It accepts one or more string arguments, and outputs a single combined string.
Full reference: concat
concat("Roronoa ","Zoro") // Output: Roronoa Zoro
"Roronoa " + "Zoro" // Output: Roronoa Zoro
concat("Chopper") // Output: Chopper (this is pointless, but it works)
concat("Monkey", " D.", "Luffy", " will ", "be", " King of the Pirates")
// Output: Monkey D. Luffy will be King of the Pirates
// use "\n" to create line breaks
concat("Luffy \n", "Zoro \n", "Sanji \n", "Nami \n")
// Output:
// Luffy
// Zoro
// Sanji
// Nami
join
The join()
function takes its first argument and inserts it in between each of its additional arguments. It accepts only string arguments.
Full reference: join
join(", ","Luffy","Zoro","Nami","Chopper")
// Output: Luffy, Zoro, Nami, Chopper
// Use "\n" to add line breaks
join("\n","Luffy","Zoro","Nami","Chopper")
// Output:
// Luffy
// Zoro
// Nami
// Chopper
slice
The slice()
function allows you to “slice” up a string and output a smaller piece of it.
Full reference: slice
slice("Dangerfield",0,6) // Output: Danger
slice("Monkey D. Luffy",0,6) // Output: Monkey
slice("Monkey D. Luffy", 10, 15) // Ouput: Luffy
slice("●●●●●●●●●●",0,6) + slice("○○○○○○○○○○",0,6) // Output: ●●●●●○○○○○
length
The length()
function outputs a number that corresponds to the length of a string.
Full reference: length
length("Monkey D. Luffy") // Output: 15
length("Supercalifragilisticexpialidocious") // Output: 34
length("Doctor Doom") // Output: 11
format
The format()
function formats its argument as a string. It accepts all data types, including dates, Booleans, numbers, and even strings.
Full reference: format
format(4) // Output: 4 (as a string)
format(5+5) // Output: 10 (as a string)
format(true) // Output: true (as a string)
format(5>4) // Output: true (as a string)
format(now()) // Output: June 20, 2022 2:23 PM (changes with now()'s value)
"There are " + format(10) + " Straw Hat members."
// Output: There are 10 Straw Hat members.
toNumber
The toNumber()
function converts its argument to a number if it can do so. It is useful for converting strings, Booleans, and dates to numbers.
Full reference: toNumber
toNumber("42") // Output: 42 (number)
toNumber(true) // Output: 1
toNumber(false) // Output: 0
toNumber(5>3) // Output: 1
toNumber(now()) // Output: 1655757000000 (changes with now()'s value)
contains
The contains()
function tests whether the first argument contains the second argument. It only accepts strings (or nested functions that output strings).
Full reference: contains
contains("Monkey D. Luffy", "Luffy") // Output: true
contains("Monkey D. Luffy", "keyLuf") // Output: false
// Invalid
contains(true, "true") // Error: Type mismatch true is not a Text.
replace
The replace()
function searches a string for a pattern (which can be a regular expression), and replaces the first match it finds with another string.
For replace()
, replaceAll()
, and test()
, you may also want to refer to my full guide on using regular expressions in Notion.
Full reference: replace
replace("Pogo","Po","Dog") // Output: Doggo
// Matches the first occurrance, unless otherwise specified
replace("Dogs Dogs Dogs","Dogs","Cats") // Output: Cats Dogs Dogs
// $ tells the regex engine "start from end of line and work backwards"
replace("Dogs Dogs Dogs","Dogs$","Cats") // Output: Dogs Dogs Cats
// Matches are case-sensitive
replace("thomas","t","T") // Output: Thomas
// You can use brackets [] to create a set of characters,
// any of which will be matched
replaceAll("thomas", "[Tt]homas", "Megatron") // Output: Megatron
// You can also create a group with () and then use the | (OR) operator
replaceAll("thomas", "(T|t)homas", "Megatron") // Megatron
// Accepts regex metacharacters, such as "\\b" which denotes "word boundary".
// Without \\b, this would output "Thwas is Sparta"
replace("This is Sparta","\\bis\\b","was") // Output: This was Sparta
replaceAll
The replaceAll()
function searches a string for a pattern (which can be a regular expression), and replaces ALL matches it finds with another string.
Full reference: replaceAll
replaceAll("Dogs Dogs Dogs","Dogs","Cats") // Output: Cats Cats Cats
// Matches are case-sensitive
replaceAll("Dogs dogs Dogs","Dogs","Cats") // Output: Cats dogs Cats
// You can use brackets [] to create a set of characters,
// any of which will be matched
replaceAll("Dogs dogs Dogs", "[Dd]ogs", "Cats") // Output: Cats Cats Cats
// You can also create a group with () and then use the | (OR) operator
replaceAll("Dogs dogs Dogs", "(D|d)ogs", "Cats") // Cats Cats Cats
// Accepts regex metacharacters, such as "\\b" which denotes "word boundary".
// Without \\b, this would output "Thwas was Sparta"
replaceAll("This is Sparta","\\bis\\b","was") // Output: This was Sparta
// replaceAll() is a great way to count elements in a string.
// Do this by using a regular expression to remove all characters
// except the commas that separate the elements (see the example
// database below for an in-depth look at this)
replaceAll("Dog, Cat, Monkey, Bat, Gorilla","[^,]","") // Output: ,,,,
// Apply length() + 1 to get the count!
test
The test()
function allows you to test whether a string contains a substring, the latter of which can be a regular expression. If it does, the function returns true
.
Full reference: test
test("Monkey D. Luffy", "Luffy") // Output: true
// test() is case-sensitive
test("Monkey D. Luffy", "luffy") // Output: false
// You can use brackets [] to create a set of characters,
// any of which will be matched
test("Monkey D. luffy", "[Ll]uffy") // Output: true
// You can also create a group with () and then use the | (OR) operator
test("Monkey D. luffy", "(L|l)uffy") // Output: true
empty
The empty()
function returns true
if its argument is empty, or has a value that equates to empty – including 0
and false
.
Full reference: empty
empty("") // Output: true
empty(0) // Output: true
empty(false) // Output: true
// Assume a row where the Name property is currently blank
empty(prop("Name")) // Output: true
// Assume a row where the Name property contains text
not empty(prop("Name")) // Output: true
// The same result can be accomplished with conditional operators
// (Assume the Name property contains text in this row)
empty(prop("Name")) ? false : true // Output: true
abs
The abs()
function calculates the absolute value of a number.
Full reference: abs
abs(-42) // Output: 42
abs(42) // Output: 42
cbrt
The cbrt()
function returns the cube root of its argument. cbrt()
accepts only numbers.
Full reference: cbrt
cbrt(8) // Output: 2
cbrt(64) // Output: 4
// Total surface area of cube with Volume 300m³
// using formula 6a², where a = edge length
6 * cbrt(300)^2 // Output: 268.88428479343
ceil
The ceil()
function returns the smallest integer that is greater than or equal to its argument.
Full reference: ceil
ceil(4.2) // Output: 5
ceil(3.845) // Output: 4
ceil(4) // Output: 4
// Calculate the donated change in a round-up donation
// Assume prop("Subtotal") is $5.34
ceil(prop("Subtotal")) - prop("Subtotal")
// Output: $0.66
exp
The exp()
function allows you to raise Euler’s Number e (the base of the natural logarithm) to a higher power and get the output, where the argument is the exponent of e.
Full reference: exp
exp(2) // Output: 7.389056098931
exp(5) // Output: 148.413159102577
e^5 // Output: 148.413159102577
exp(ln(5)) // Output: 5
ln(exp(5)) // Output 5
floor
The floor()
function returns the largest integer that is less than or equal to its argument.
Full reference: floor
floor(4.2) // Output: 4
floor(3.845) // Output: 3
floor(4) // Output: 4
ln
The ln()
function returns the natural logarithm of a number.
Full reference: ln
ln(20) // Output: 2.995732273554
ln(e) // Output: 1
log10
The log10()
function returns the base-10 logarithm of a number.
Full reference: log10
log10(1000) // Output: 3
log10(10) // Output: 1
log2
The log2()
function returns the base-2 logarithm of a number.
Full reference: log2
log2(64) // Output: 6
log2(2) // Output: 1
max
The max()
function returns the greatest of one or more numbers. max()
accepts only numbers or properties that output numbers (it will not auto-convert Booleans).
Full reference: max
max(3,5,4) // Output: 5
// Assume prop("Num") contains 20
max(prop("Num"),13,5) // Output: 20
// Other data types must be converted to number
max(1,+true,+"3",9) // Output: 9
// Here, the + operator (unaryPlus) is used to convert
// true and "3" to numbers.
min
The min()
function returns the smallest of one or more numbers. min()
accepts only numbers or properties that output numbers (it will not auto-convert Booleans).
Full reference: min
min(4,1,9,-3) // Output: -3
// Assume prop("Num") contains 3
max(prop("Num"),13,5) // Output: 3
// Other data types must be converted to number
min(3,8,+false) // Output: 0
// Here, the + operator (unaryPlus) is used to convert
// false to a number (0)
round
The round()
function rounds its argument to the nearest integer (whole number).
Full reference: round
round(4.5) // Output: 5
round(4.49) // Output: 4
round(-4.49) // Output: -4
round(-4.5) // Output: -4
round(-4.51) // Output: -5
// Round to two decimal places
round(4.158015*100)/100 // Output: 4.16
// Round to three decimal places
round(5145.018394*10000)/10000 // Output: 5145.0184
sign
The sign()
function returns the sign of its argument. It indicates whether its argument is positive, negative, or zero.
Full reference: sign
sign(-5) // -1
sign(5) // 1
sign(0) // 0
sign(+"-1") // -1
sqrt
The sqrt()
function returns the square root of its argument. sqrt()
accepts only numbers.
Full reference: sqrt
sqrt(16) // Output: 4
sqrt(100) // Output: 10
sqrt(73-3^2) // Output: 8
start
The start()
function returns the start date from a date range. It accepts a single date argument.
Full reference: start
// Assume a property "Date" exists, with
// a row value of June 23, 2022 → June 27, 2022
start(prop("Date")) // Outpuut: June 23, 2022
end
The end()
function returns the end date from a date range. It accepts a single date argument.
Full reference: end
// Assume a property "Date" exists, with
// a row value of June 23, 2022 → June 27, 2022
end(prop("Date")) // Outpuut: June 27, 2022
now
The now()
function returns the current date and time in your local timezone. now()
accepts no arguments.
Full reference: now
now() // Output: June 23, 2022 12:30 PM (at time of writing)
timestamp
The timestamp()
function converts a date argument into its corresponding Unix timestamp (also known as Unix Time or Epoch Time), which is a number.
Full reference: timestamp
timestamp(now()) // Output: 1656012120000 (will change with the value of now()
fromTimestamp
The fromTimestamp()
function converts a Unix timestamp into a date.
Full reference: fromTimestamp
// Notion will express this date in your local time zone, so it
// may look different if you try this formula out.hin
fromTimestamp(1656012840000) // Output: June 23, 2022 7:34 PM (UTC)
dateAdd
The dateAdd()
function accepts a date argument and adds to it, returning a new date.
It requires three arguments in the following order:
- A date (must be an actual date data type)
- A number
- A unit
Accepted units include:
- “years”
- “quarters”
- “months”
- “weeks”
- “days”
- “hours”
- “minutes”
- “seconds”
- “milliseconds”
Full reference: dateAdd
// Assume a property called "Date" with a current row value
// of June 1, 2022
dateAdd(prop("Date"),3,"months") // Output: September 1, 2022
dateAdd(prop("Date"),5,"days") // Output: June 6, 2022
dateSubtract
The dateSubtract()
function accepts a date argument and subtracts from it, returning a new date.
It requires three arguments in the following order:
- A date (must be an actual date data type)
- A number
- A unit
Accepted units include:
- “years”
- “quarters”
- “months”
- “weeks”
- “days”
- “hours”
- “minutes”
- “seconds”
- “milliseconds”
Full reference: dateSubtract
// Assume a property called "Date" with a current row value
// of June 1, 2022
dateSubtract(prop("Date"),3,"months") // Output: March 1, 2022
dateSubtract(prop("Date"),5,"days") // Output: May 27, 2022
dateBetween
The dateBetween()
function returns the amount of time between two dates, based on a specified unit of time.
The function returns a number, and requires three arguments in the following order:
- Date 1 (must be a date data type)
- Date 2 (must be a date data type)
- A unit
Accepted units include:
- “years”
- “quarters”
- “months”
- “weeks”
- “days”
- “hours”
- “minutes”
- “seconds”
- “milliseconds”
Full reference: dateBetween
// Assume now() == June 23, 2022 and Date == June 1, 2022
dateBetween(now(),prop("Date"),"days") // Output: 22
// Assume now() == June 23, 2022 and Date == June 30, 2022
dateBetween(now(),prop("Date"),"days") // Output: -6
// Assume now() == June 23, 2022 and Date == December 25, 2022
dateBetween(now(),prop("Date"),"months") // Output: -6
formatDate
The formatDate()
function formats a date as a string using the Moment standard time format.
Full reference: formatDate
formatDate(now(), "MMMM DD YYYY") // Output: June 24 2022
formatDate(now(), "dddd, MMMM DD, YYYY hh:mm A zz")
// Output: Friday, June 24, 2022 10:45 AM MDT
formatDate(now(), "[Month of] MMMM, YYYY") // Output: Month of June, 2022
Good to know: formatDate()
uses Moment.js for date formatting.
minute
The minute()
function returns an integer (number) between 0
and 59
that corresponds to the minute of its date argument.
Full reference: minute
minute(now()) // Output: 25 (When current time was 11:25 AM)
// Assume a propety called Date with a current date of June 24, 2022 11:29 AM
minute(prop("Date")) // Output: 29
hour
The hour()
function returns an integer (number) between 0
and 23
that corresponds to the hour of its date argument.
Full reference: hour
hour(now()) // Output: 11 (When current time was 11:25 AM)
// Assume a propety called Date with a current date of June 24, 2022 11:29 AM
hour(prop("Date")) // Output: 11
day
The day()
function returns an integer (number) between 0
and 6
that corresponds to the day of the week of its date argument:
-
0
= Sunday -
1
= Monday -
2
= Tuesday -
3
= Wednesdy -
4
= Thursday -
5
= Friday -
6
= Saturday
Full reference: day
day(now()) // Output: 5 (when now() = June 24, 2022)
// Assume a propety called Date with a current date of June 1, 2022
day(prop("Date")) // Output: 3
date
The date()
function returns an integer (number) between 1
and 31
that corresponds to the day of the month of its date argument.
Full reference: date
date(now()) // Output: 24 (when now() = June 24, 2022)
// Assume a propety called Date with a current date of June 1, 2022 11:29 AM
date(prop("Date")) // Output: 1
month
The month()
function returns an integer (number) between 0
and 11
that corresponds to the month of its date argument.
Full reference: month
month(now()) // Output: 5 (when now() = June 24, 2022)
// Assume a propety called Date with a current date of Jan 1, 2022
month(prop("Date")) // Output: 0
year
The year()
function returns an integer (number) that corresponds to the year of its date argument.
Full reference: year
year(now()) // Output: 2022 (When now() = June 24, 2022)
// Assume a propety called Date with a current date of June 24, 2022
year(prop("Date")) // Output: 2022
id
The id()
function returns the current row’s page ID, which is a unique string. id()
accepts no arguments.
Full reference: id
// Page URL: <https://www.notion.so/thomasfrank/id-c5d67d15854744869cc4a062fb7b1377>
id() // Output: c5d67d15854744869cc4a062fb7b1377
Formula Tips
Here a few useful tips for working more effectively with formulas:
Write Formulas in a Text Editor
Full reference: Writing Complex Formulas in VS Code
You can write formulas in a text editor like VS Code; this will allow you to use indentation, multiple lines, and comments.
When you need to compress your formula for pasting into Notion, simply do a search-and-replace.
Search for the following regular expression:
(\n[ ]{2,}|\n|[/]{2}[^\n]*)
- Copy and paste your formula. We’ll compress one of the copies, leaving the other as an easy-to-read reference.
- Open the find and replace window with
Ctrl/⌘ + F
and paste the expression into the find field. - Paste in the expression above.
- Click the Use Regular Expression button.
- Select the entirety of your formula (just one of the copies)
- Click the Find in Selection button.
- Ensure the Replace field is blank.
- Click the Replace All button.
Return Empty/Null Values in Notion Formulas
Full reference: Return Null/Empty Values in Formulas
To return an empty string:
""
To return an empty number:
toNumber("")
To return an empty date:
fromTimestamp(toNumber(""))
There is no possible null/empty state for Booleans/Checkboxes. However, you can convert Booleans to strings with format in order to create a setup where true/false/empty is possible:
// Assume "Checkbox" is a Boolean/Checkbox property.
// Invalid; will throw a Type Mismatch error:
if( 1 > 2, prop("Checkbox"), "")
// Valid. Will output "true", "false", or an empty value.
if( 1 > 2, format(prop("Checkbox")), "")
If you find this cheat sheet useful, you’ll also love my Notion Tips newsletter! Join to get notified whenever I publish new tutorials, guides, and templates: