Design

Notion Formula: Progress For Year, Month, Week And Day

Screen Shot 2021-01-13 at 10.35.11 PM.png

โ˜•๏ธ Date Progress

There is an awesome website that provides the percentage of the year, month and day to plug into your Notion workspace. My aim was to create the same progress bars inside a Notion database. You can copy this template at the bottom of the page and place it at the top of a dashboard. The following are the formulas to copy and paste if you prefer. Learn more about the anatomy of a Notion progress bar here.

What you need:

  • One formula property for each progress bar

Year Progress Formula

Screen+Shot+2021-01-13+at+10.11.33+PM.jpg
if(10 * toNumber(formatDate(now(), "DDD")) / 365 < 1, "โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ " + format(floor(100 * toNumber(formatDate(now(), "DDD")) / 365)) + "%", if(year(now()) % 4 == 0, slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * toNumber(formatDate(now(), "DDD")) / 366) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * toNumber(formatDate(now(), "DDD")) / 366) + " " + format(floor(100 * toNumber(formatDate(now(), "DDD")) / 366)) + "%", slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * toNumber(formatDate(now(), "DDD")) / 365) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * toNumber(formatDate(now(), "DDD")) / 365) + " " + format(floor(100 * toNumber(formatDate(now(), "DDD")) / 365)) + "%"))

Month Progress Formula

Screen Shot 2021-01-13 at 10.15.17 PM.png
if(year(now()) % 4 == 0 and month(now()) == 1, slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * toNumber(formatDate(now(), "D")) / 29) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * toNumber(formatDate(now(), "D")) / 29) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 29)) + "%", if(month(now()) == 0 or month(now()) == 2 or month(now()) == 4 or month(now()) == 6 or month(now()) == 7 or month(now()) == 9 or month(now()) == 11, slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * toNumber(formatDate(now(), "D")) / 31) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * toNumber(formatDate(now(), "D")) / 31) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 31)) + "%", if(month(now()) == 1, slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * toNumber(formatDate(now(), "D")) / 28) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * toNumber(formatDate(now(), "D")) / 28) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 28)) + "%", if(month(now()) == 1 or month(now()) == 3 or month(now()) == 5 or month(now()) == 8 or month(now()) == 10, slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * toNumber(formatDate(now(), "D")) / 30) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * toNumber(formatDate(now(), "D")) / 30) + " " + format(floor(100 * toNumber(formatDate(now(), "D")) / 30)) + "%", ""))))

Week Progress Bar

Screen Shot 2021-01-13 at 10.36.34 PM.png
if(day(now()) == 0, "โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’ 100% ", slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * day(now()) / 7) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * day(now()) / 7) + " " + format(floor(100 * day(now()) / 7)) + "%")

Day Progress Bar (updated every hour)

Screen Shot 2021-01-13 at 10.26.27 PM.png
if(10 * hour(now()) / 24 < 1, "โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘ " + format(floor(100 * hour(now()) / 24)) + "%", slice("โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’โ–’", 0, 10 * hour(now()) / 24) + slice("โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘", 10 * hour(now()) / 24) + " " + format(floor(100 * hour(now()) / 24)) + "%")
 

Further Reading