Skip to main content

Hi -

We’re looking to pull a percentage of a task complete and reflected that % as a progress bar in a cell for a single record. We want the progress bar to be continuous (up to an integer) as the % of the task completed is updated… I.e. (just one of many use cases) if we have a record that is counting # of forms submitted for a given record, and the total number is noted in the record, the percentage of completed forms with respect to the completed record is reflected in an updating graphic progress bar.


Bootstrap plugin example: https://www.w3schools.com/bootstrap/bootstrap_progressbars.asp.


The progress bar Airtable feature should update from as the percentage cell on the record self-updates upon completion of a given trigger elsewhere in the Airtable ecosystem.


Many thanks!

You guys are mind-blowing… i spend HOURS trying to work what the best LAYOUT is on my airtables!

Ok, so I have yet another layer of complexity to add here:

I want the progress bar to update according to the amount of tasks completed (already calculated from two other Lookup cells to get the relevant info from TASKS tab)

I have a box already for the numbers of tasks complete 🙂



Can anyone help on how would I go about that?


This was an excellent thread! Thank you for the formulas.


I wanted to comment with a slightly updated version.


I took the progress bar from above and altered it via these items:



  • made a version that has a continuous progress bar (no boxes or squares)

  • made a version that is small for mobile devices


Plus, I added a component, to show how many tasks for a project are in the following status. I spaced them out so they always appear on the left, in the middle, or on the right;



  • To Do - shown via this symbol ⎋

  • Waiting (on someone) - shown via this symbol ⏎

  • In Progress - shown via this symbol ➤



This was an excellent thread! Thank you for the formulas.


I wanted to comment with a slightly updated version.


I took the progress bar from above and altered it via these items:



  • made a version that has a continuous progress bar (no boxes or squares)

  • made a version that is small for mobile devices


Plus, I added a component, to show how many tasks for a project are in the following status. I spaced them out so they always appear on the left, in the middle, or on the right;



  • To Do - shown via this symbol ⎋

  • Waiting (on someone) - shown via this symbol ⏎

  • In Progress - shown via this symbol ➤



The graphic comes from these fields

Combination Field


CompletionBar&'\n'&{Status graphic}

CompletionBar field

(this is the same formula from above, but I replaced the square progress indicators with different ones, called Full Width within Apple Emoji keyboard. The full width aspect lets them touch, appearing as if it is a continuous indicator, instead of boxes lined up in a row


IF(
PercentDone >= 0,
REPT(
'▅',
ROUND( MIN(PercentDone, 1) * 10 )
)
&
REPT(
'﹏',
10 - ROUND( MIN(PercentDone, 1) * 10)
)
&
' '
&
INT( MIN(PercentDone, 1) * 100 )
&
'%'
)

Status Graphic field


IF({rollupDONE matches percent done}="✔️Confirmed Done","☑️Done",CONCATENATE(
IF(
AND({⎋count To Do}>0,{⎋count To Do}<10),
"⎋"&{⎋count To Do}&" ",
IF(
{⎋count To Do}>=10,
"⎋"&{⎋count To Do}&" "," ")),
IF(
AND({⏎count Waiting}>0,{⏎count Waiting}<10),
"⏎"&{⏎count Waiting}&" ",
IF({⏎count Waiting}>=10,"⏎"&{⏎count Waiting}&" ",
" ")),
IF({➤count InProgress},"➤"&{➤count InProgress},BLANK())))

This is an amazing Thread, and thanks for providing such a great formula. I tweaked it a bit to ensure the spacing stays aligned when the Percentage # in front of the Progress bar has 1,2, or 3 digit pad.


So you have this vs


IF(LEN(INT(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*100
)&'')=1,INT(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*100
)& "%-- "&
REPT(
'⬛️',
ROUND(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*10
)
)
&
REPT(
'🔲',
ROUND(
10-(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal*10),0
)
),IF(LEN(INT(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*100
)&'')=2,INT(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*100
)& "%- "&
REPT(
'⬛️',
ROUND(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*10
)
)
&
REPT(
'🔲',
ROUND(
10-(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal*10),0
)
),IF(LEN(INT(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*100
)&'')=3,INT(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*100
)& "% "&
REPT(
'⬛️',
ROUND(
(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal)*10
)
)
&
REPT(
'🔲',
ROUND(
10-(IF(
BarCurrent<=BarGoal,
BarCurrent,
BarGoal
)/BarGoal*10),0
)
))))

If you replace the “-” with a non-breaking space, you can do the same thing without a visible character.


You guys are mind-blowing… i spend HOURS trying to work what the best LAYOUT is on my airtables!

Ok, so I have yet another layer of complexity to add here:

I want the progress bar to update according to the amount of tasks completed (already calculated from two other Lookup cells to get the relevant info from TASKS tab)

I have a box already for the numbers of tasks complete 🙂



Can anyone help on how would I go about that?


I did this by having each task have it’s own progress field, with this formula:


IF({Status}="Done",1,0)

That field would then be hidden, it’s only purpose is the rollup.


Now just roll up that field with this formula:


AVERAGE(values)

…and boom! The total progress of all attached tasks.


You have to AVERAGE instead of SUM when working with percentages.


Airtable update: progress bars for percent fields are now available.

Just wanted to update this thread with this product news about progress bars, but also to say I really love this conversation as an example of the power of formulas in Airtable and the generosity of Airtable users helping each other to problem solve.  


Reply