How to Use Notion Formulas in Your Notion Templates

A deep dive into how to use Notion formulas in your Notion templates to create advanced templates that cover if statements, task management, rollups and more.
Tools mentioned
No items found.
Tutorial overview

Introduction

  • The video is an episodic series on how to use Notion formulas
  • The goal is to create a project management dashboard template using a tasks database and a projects database
  • The video will cover various functions such as datebetween, now, round, seal, floor, sign, less than, greater than, if statements, unary plus, unary minus, absolute, contains, format, and two number

Creating the Tasks Database

  • A table called "tasks" is created with placeholder "task 1"
  • Four different processes are added: discussion, procedures, review, and finalize
  • A "complete" percentage is added as a formula

Creating the Projects Database

  • A table called "projects" is created with three projects
  • A "deadline date" property is added

Using Unary Plus and Unary Minus

  • Unary plus converts its argument into a number
  • Unary minus converts its argument into a negative number
  • True and false values return 1 and 0 respectively
  • Toggling a property returns 1 if on and 0 if off

Using If Statements

  • If statements are used to show different values based on conditions
  • The conditions are separated by commas and the final output is the last value
  • For example, if property number is equal to 2, show c, otherwise show b

Combining Formulas

  • The formula for calculating the percentage of tasks complete is added to the tasks database
  • The formula for determining if a task is past, present, or future based on its deadline is added to the projects database
  • Emojis are added to represent the status of a task
  • The two formulas are combined to create a single cell with both values

Creating Rollups

  • A rollup is used to peek into the tasks database and pull another property
  • A formula is created to determine if a project is complete based on the percentage of its tasks complete
  • If all tasks are complete, the project is marked as complete
  • The formula for the project's status is added to the projects database

Conclusion

  • The final product is a project management dashboard template with a tasks database and a projects database
  • The template includes formulas for calculating task and project status, as well as rollups to show project completion

Transcript

Hello, and welcome to an episodic series on how to use Notion formulas!

I don't want this series to be too dry, so by the end of this video, we will actually create something that is useful and can turn into a template that you can click on in the description. This template is going to be a project management dashboard of sorts - we're going to create a tasks database and a projects database, connect them, and see what we can do formula-wise. We'll also see what formulas can do when rollups are in the mix.

Even though this is a singular use case, we're going to go through a ton of functions, including:

  • date
  • between
  • now
  • round
  • seal
  • floor
  • sign
  • less than
  • greater than
  • if statements
  • unary plus
  • unary minus
  • absolute
  • contains
  • format
  • and two number.

First, let's create that tasks database. Let's go inline and create a table called "tasks," and call this task 1 just so we have a placeholder. Let's go all the way down to task 7. In this tasks database, we're going to use check boxes. We're going to have four different processes - discussion, procedures (these are the steps to get the task done), review, and finalize. At the end of this, we'll have something called "complete."

Make it a formula, and let's put a percentage sign after this because that's what we're going to return - a percentage.

Now let's go down and create a projects database as well. Inline, create a table called "projects," and let's say there are three projects that we're working with. I want a deadline date property, so let's put in some dates. We'll just leave it like this for now and add to it in a bit.

What unary plus does is convert its argument into a number. So you have "unary plus," and then the value inside these parentheses. The value could be like this example here - 42 - and it will give us 42 as a positive number.

Now if we were to go unary minus, which is another function, it will give us negative 42.

Going back to unary plus, I can also put in here something like "true," and that will give me the numerical value of one. If I put in "false," it will give me zero as well. If I do something like this - "prop," which is short for property - and I also give it two parentheses, and put the name of the property inside like "discuss," it will give us a zero because it is toggled "false." If I were to toggle it on, it would say "one."

I can also add all of these together and go "unary plus," then "prop disqus" plus "unary plus."

Also, when you go to type a function, it will show up here. If you click on it, it'll give you that parentheses open.

I can also write "prop," and I can come into my properties here, pick one, and go "procedures," and it will finish the line for me. Then, I'll close everything out - I'm closing out this function.

Now, if I tick both of these, it will say "two." If I were to just tick one, it would say "one," so now we're adding

show b

otherwise leave blank and two parentheses to close it out.

so it's grabbing now this property here: four is greater than zero but b would not apply because a comes first.

Say I want to add another condition that goes: if property number is equal to 2 show me c. And add a third parenthesis at the end because we have a third condition.

This c would not show up for two. It would still be b because b comes before it. If I want to make sure it shows up as c whenever it is equal to 2, I have to make sure that this comes before b. And now c appears.

Usually, if you're trying to find things that are greater than or equal to, or less than, always put the equal to at the beginning of the formula just to get it out of the way and then go down and do your greater thans or less than.

Now going back to here, past present and future, we're going to use that if statement line. So if we're going to use that seal date between property deadline and now, in hours. Okay, divided by 24, close this out.

If this is equal to zero, which would be today, I wanted to show today. Next will be if property deadline is less than right now. I will say past. And if property deadline is greater than right now, future. Otherwise, blank and close it out with three parentheses because there are three conditions.

Now we have past, future, and today. If I were to change this to the fourth, it will say future. If I were to change it to the second, it would say past.

So now let's combine these two elements. First of all, before we copy this into here, I don't want this to say negative 21. I don't want to say negative 21 days have passed. I want to say just 21. To do that, I'm going to use the absolute function, that's abs. That's giving you the absolute number, just close that in and you'll get 21.

The next issue we're faced with is that this property is text value and this property is a number. So if I were to go down here and calculate it, I could calculate the sum. Numbers and text don't really mix. I want to make sure that this number is a text so I can combine it with past days text. To do that, I'm then going to go in and format this in the format function. Just wrap it around and make sure it is a text value.

And if you look down here to sum, it is no longer able to calculate these numbers because they are now text. So if I copy this and go into here, and what we want to do with this piece of formula is add it to just past and future. So instead of the same past, I want to say days past and between these two commas is everything that appears in the cell. So I'm just going to go ahead and paste that formula in, space, and add a plus sign so we have that piece of formula from over there plus days passed as a text.

What I'm going to do is add a space before days passed inside of here so that it looks neater. I'm going to do the same thing right here in the future box. And now we have eight future. Instead of future, I wanted to say space days remaining. Now I have no need for this and now we've minimized this database a little bit. It is ideal to combine a bunch of different properties that don't need to be separate into