⏱ Progress Formula | Notion guide

Alex Sherwood
Aug 9 Β· 3 min read Β· 258 views


Contents

🎬 Demo

πŸ‘¨β€πŸ« Guide

Formula example

NameHours completedHours allocatedProgress
Example 10100 
Example 28100 
Example 350100 
Example 495100 
Example 5100100 

🧱 Building the formula step by step

🚨
If you get an error message about a β€˜syntax error’ when copying and pasting these formulas, try copying the β€˜Unformatted formula’ from the toggle list instead.
% calculation:
prop("Hours completed") / prop("Hours allocated") * 100
Convert to text:
format(prop("Hours completed") / prop("Hours allocated") * 100)
Add % symbol:
format(prop("Hours completed") / prop("Hours allocated") * 100) + "%"
Add if statement & output if "Hours completed" is empty or zero:
if(prop("Hours completed") / prop("Hours allocated") == 0, "❌" ,"")
Add β–  progress marker:
  • notes
    The easiest way to insert the squares on a Mac is from the character picker
    Strangely I found that Notion inverts the colour of this symbol in dark mode so I had to use White Square, rather than Black Square.
    But as I'm guessing that most people reading this aren't using dark mode, I've used Black Square in this guide.
    You can use the standard emoji squares which presumably keep their colour but I found that they didn't align vertically with the text properly.
"β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%"
Add β–  number & % as output if "Hours completed" is greater than 0 and less than or equal to 0.1:
if(prop("Hours completed") / prop("Hours allocated") == 0, "❌", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.1), "β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%",""))
Add outputs for each tier that needs another β–  to indicate progress:
  • note
    Although you can't see all of the spaces, either on this page or in the formula editor, I've added 31 spaces before the ❌ and βœ… emoji, plus enough spaces after each of the progress blocks to align the emoji and text in the progress column.
if(prop("Hours completed") / prop("Hours allocated") == 0, " ❌", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.1), "β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.2), "β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.3), "β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.4), "β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.5), "β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.6), "β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.7), "β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.8), "β– β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.9), "β– β– β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.99), "β– β– β– β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", "")))))))))))

πŸŽ‰ Finished formula

Add βœ… if task is 100% complete:
if(prop("Hours completed") / prop("Hours allocated") == 0, " ❌", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.1), "β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.2), "β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.3), "β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.4), "β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.5), "β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.6), "β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.7), "β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.8), "β– β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.9), "β– β– β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(smallerEq(prop("Hours completed") / prop("Hours allocated"), 0.99), "β– β– β– β– β– β– β– β– β– β–  " + format(prop("Hours completed") / prop("Hours allocated") * 100) + "%", if(prop("Hours completed") / prop("Hours allocated") == 1, " βœ…", ""))))))))))))
Updating...

Share on