Learn how to use the Boolean "and" operator in Notion formulas.
The and operator returns true if and only if both of its operands have a trueBoolean value. Otherwise, it will return false. It accepts Boolean operands.
Boolean and Boolean
And is useful for testing that two or more things are true.
Good to know: Notion is picky, so &&, AND, and And won’t work here. Only the case-sensitive and will be accepted.
You can also use the function version, 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
The and operator can also be chained together multiple times:
4>2 and 3<4 and 5>2 and 7==7?true:false// Output: true
The example database below shows a list of shore leave requests from a pirate crew. The captain will only approve a request if both are true:
The request doesn’t fall on one of that crew member’s watch duty days
The crew member has less than $10,000 in gambling debt
The Approved? formula uses the and operator to ensure that both of these conditions are true. If so, it’ll output true and the request will be approved. If not, it’ll output false and the request will be denied.
View and Duplicate Database
College Info Geek on Notion
"Approved?" Property Formula
if(prop("Gambling Debt")<10000 and not contains(prop("Watch Duty Days"),formatDate(prop("Request Date"),"dddd")),true,false)
prop("Watch Duty Days"),
This formula uses an if statement to check that both of the captain’s conditions are true:
The first operand checks that the crew member’s gambling debt is < 10000
The second operand checks the request date against the crew member’s assigned watch days:
The contains function checks to see if the Request Date’s day of the week is contained in the Watch Duty Days list for each row.
The formatDate function uses the Moment.js string dddd to convert the Request Date into a named day of the week (i.e. “Wednesday”) so it can be compared against the tags in the Watch Duty Days property.
Finally, the not operator negates the boolean output of the contain() function, ensuring the and operator only returns true if the Request Date DOESN’T match an assigned Watch Duty Day.