How to Create Progress Bars in Google Sheets (Step-by-Step)


This step-by-step tutorial explains how to create the following progress bars in Google Sheets:

progress bars in Google Sheets

Step 1: Enter the Data

First, let’s enter some data that shows the progress percentage for 10 different tasks:

Step 2: Add the Progress Bars

Next, type the following formula into cell C2 to create a progress bar for the first task:

=SPARKLINE(B2,{"charttype","bar";"max",1;"min",0;"color1","green"})

Copy and paste this formula down to every remaining cell in column C:

The length of each progress bar in column C reflects the percentage value in column B.

Step 3: Format the Progress Bars (Optional)

You can modify the progress bars to display specific colors based on the progress percentage.

For example, you can use the following formula to display a green progress bar if the percentage is greater than 70, else a yellow progress bar if the percentage is greater than 50, else a red progress bar:

=SPARKLINE(B2,{"charttype","bar";"max",1;"min",0;"color1",IF(B2>0.7,"green",IF(B2>0.5,"yellow","red"))})

The following screenshot shows how to use this formula in practice:

The color of the progress bar is now dependent on the value in column B.

Feel free to add a border around the cells and increase the length and width of the cells to make the progress bars larger and easier to read:

progress bars in Google Sheets

Additional Resources

The following tutorials explain how to create other common visualizations in Google Sheets:

How to Plot Multiple Lines in Google Sheets
How to Create an Area Chart in Google Sheets
How to Create a Gauge Chart in Google Sheets

Featured Posts

11 Replies to “How to Create Progress Bars in Google Sheets (Step-by-Step)”

  1. This is great! Thanks so much. Is it possible have the value appear in the cell with the bar, say, for example, 75% inside the green bar that covers 3/4 of the cell? If so, how can one change the font color as well?

  2. Hey I’m having a hard time getting this to adapt to my current functions. I’d like to have my progress bars dynamically change colors based on the percentages that are in the cells next to the progress bar. The percentages in the cells are found based on a function so I’m not sure if it’s having issues because its a function and not a hard number?

    This is the percentage function : =IF($M5=”APPROVED”,1,IF($M5=”CC”,0.95,IF($M5=”3rd Review”,0.9,IF($M5=”2nd Review”,0.75,IF($M5=”1st Review”,0.5,IF($M5=”TBD”,0.05,0))))))

    This is my progress bar function : =SPARKLINE(W5,{“charttype”,”bar”;”color1″,”#57bb8a”;”max”,100%})

    These are the colors I want to change it to

    Value Color Code
    5.00% #ee603e
    50.00% #f69b52
    75.00% #ffd666
    90.00% #cbcb62
    95.00% #71b659
    100.00% #34a853

    I cannot for the life of me figure this out. I’d really appreciate some help if you could

  3. this formula doesnt work

    =SPARKLINE(B2,{“charttype”,”bar”;”max”,1;”min”,0;”color1″,IF(B2>0.7,”green”,IF(B2>0.5,”yellow”,”red”))})

  4. Hello! Thanks for your article!

    The point is that the syntax of the function has changed, and your examples, unfortunately, do not work.

    Right now in Google Sheets the function should look like this (example that worked for me):
    =SPARKLINE(L3;{“charttype”\”bar”;”max”\1;”min”\0;”color1″\”green”}).

    You could update the article and continue to help grateful readers)

  5. Hello,

    When I place the formula that includes the different colors based on percentages and update the proper cells for my sheet it keeps saying error. any suggestions?

  6. If you use this formula, you can make it gradient from red to green!

    F29 = Reference cell

    =sparkline((F29-0.0001),{“charttype”,”bar”;”max”,1;”color1″,”#”&DEC2HEX((0.5+if((F29-0.0001)<0.5,0.5,1.5-2*(F29-0.0001)))*255,2)&DEC2HEX(if((F29-0.0001)<0.5,(F29-0.0001)*1.5,1-((F29-0.0001)/2))*255,2)&"00"})

  7. Great article, but I had to change the code a bit to get it to work in the latest version of Google Sheets. Here’s the code:

    =SPARKLINE(B2;{“charttype”\”bar”;”max”\1;”min”\0;”color1″\IF(B2>0.7;”green”;IF(B2>0.5;”yellow”;”red”))})

    Thanks a lot!

  8. Love this idea, and i was hoping you could show how to do this with two different colors in the same progress bar. like it is yellow from 0%-20% and from 20% and up it is green without getting rid of the yellow part

  9. Google changed something in this function and I don’t understand the division into 3 colors.
    Two of them work like this:
    =SPARKLINE(B8;{“charttype”\”bar”;”max”\1;”min”\0;”color1″\JEŻELI(B8>0,8;”green”;”red”)})
    How to add another color to this?

Leave a Reply

Your email address will not be published. Required fields are marked *