smaller
Learn how to use the Boolean "smaller" (<) operator in Notion formulas.
1
number < number
2
Boolean < Boolean
3
date < date
4
5
smaller(number, number)
6
smaller(Boolean, Boolean)
7
smaller(date, date)
You can also use the function version,
smaller()
.1
2 < 1 // Output: false
2
3
42 < 50 // Output: true
4
5
// Boolean values equate to 1 (true) and 0 (false).
6
false < true // Output: true
7
8
true < true // Output: false
9
10
// For dates, "less than" equates to "before".
11
now() < dateAdd(now(), 1, "months") // Output: true
Good to know: When comparing dates, "larger" = "later".
Good to know: The smaller (
<
) operator cannot be chained in a Notion formula. A formula like 1 < 2 < 3
won't work. Use the and operator to get around this - e.g. 1 < 2 and 2 < 3
.The example database below tracks votes amongst a pirate crew. For each issue, a quorum must be reached; at least 3 members must vote. Once a quorum is reached, only proposals that receive more Yays than Nays will be passed and enacted.
The Result formula displays the status of each proposal.

1
// Compressed
2
(+((not empty(prop("Luffy"))) ? true : false) + +((not empty(prop("Nami"))) ? true : false) + +((not empty(prop("Sanji"))) ? true : false) + +((not empty(prop("Zoro"))) ? true : false) < 3) ? "✋ Quorum Not Reached!" : ((+replaceAll(replaceAll(prop("Luffy"), "Nay", "-1"), "Yay", "1") + +replaceAll(replaceAll(prop("Nami"), "Nay", "-1"), "Yay", "1") + +replaceAll(replaceAll(prop("Sanji"), "Nay", "-1"), "Yay", "1") + +replaceAll(replaceAll(prop("Zoro"), "Nay", "-1"), "Yay", "1") < 1) ? "👎 Rejected" : "👍 Passed")
3
4
// Expanded
5
(
6
+((not empty(prop("Luffy"))) ? true : false) +
7
+((not empty(prop("Nami"))) ? true : false) +
8
+((not empty(prop("Sanji"))) ? true : false) +
9
+((not empty(prop("Zoro"))) ? true : false) < 3
10
) ?
11
"✋ Quorum Not Reached!" :
12
(
13
(+replaceAll(replaceAll(prop("Luffy"), "Nay", "-1"), "Yay", "1") +
14
+replaceAll(replaceAll(prop("Nami"), "Nay", "-1"), "Yay", "1") +
15
+replaceAll(replaceAll(prop("Sanji"), "Nay", "-1"), "Yay", "1") +
16
+replaceAll(replaceAll(prop("Zoro"), "Nay", "-1"), "Yay", "1") < 1) ?
17
"👎 Rejected" :
18
"👍 Passed"
19
)
This vote tracker works by giving each group member their own Yay/Nay property. A Select property is used because there are actually three potential states for each crew member’s vote:
- 1.Yay
- 2.Nay
- 3.Abstained/didn’t vote
The scores are added up, and if they total less than three (
< 3
), the formula outputs “✋ Quorum Not Reached!”Here, we use a pair of nested replaceAll functions to convert each member’s vote into a score:
(+replaceAll(replaceAll(prop("Luffy"), "Nay", "-1"), "Yay", "1")
.replaceAll()
is a function that searches a string for a pattern, then replaces all instances of that pattern with another pattern:- The first
replaceAll()
searches the voter’s property (e.g.prop("Luffy")
) for “Nay”. If found, “Nay” is converted to “-1” (which is a string value at this point). - The second (outer)
replaceAll()
searches the result of the innerreplaceAll()
(which will either contain “Yay” or “-1” at this point) for “Yay”. If found, “Yay” is converted to “1”. - Now the vote’s text has been turned either to “-1” or “1”.
If the score is less than 1 (
<1
), then the formula outputs, "👎 Rejected". If it is 1 or greater, it outputs, "👍 Passed".
My name is Thomas Frank, and I'm a Notion-certified writer, YouTuber, and template creator. I've been using Notion since 2018 to organize my personal life and to run my business and YouTube channel. In addition to this formula reference, I've created a free Notion course for beginners and several productivity-focused Notion templates. If you'd like to connect, follow me on Twitter.

Last modified 3mo ago