To be honest, the moment I saw your screenshot, I took a few seconds for an audible, “Woahhhhhhh…” moment.
I had never even considered a formula formatted like this. I now officially have a new toy in my back pocket.
I will experiment with this and return with my findings.
Ha, it’s super misleading of them to display a progress bar (which many of their users want), even though progress bars are not officially in the product!
The trick that they used involves emojis.
Note that this only looks right in Chrome — it doesn’t look right in Safari. So if your users are using Safari, it will be disappointing to them.
Let’s say that you want a progress bar with 8 green segments and then the text 80% afterwards. The formula would look like this:
REPT("🟩",8) & " 80%"
If you wanted to show a progress bar with 12 red segments and then the text 120% afterwards, it would look like this:
REPT("🟥",12) & " 120%"
Of course, you would swap out the numbers (8 and 12) and the text (80% and 120%) with either formulas or dynamic field values.
And you could make an even lengthier formula by combining all of these different options. For example, if you wanted red emojis to show up if you go over 100% for a project, but green emojis to show up if you are at 100% or less.
But once again, this only works properly in Chrome.
As @ScottWorld pointed out, the browser differences matter when working with formulas that dynamically output emojis.
I use the desktop native Airtable application. For reference, this is what it looks like in Safari:
Now, it’s far from the biggest or most complex formula I’ve ever written, but it’s still a beast.
Here, you can see that this formula behaves identically to the other version:
Honestly, while this formula works and is pretty much now modular enough to where you can use it almost universally, it is probably more efficient to just use a script, but it’s up to you on how you want to approach it.