Percent-of-Goal Progress Gauge

Excel Formulas › Charts

All versionsREPT

Show progress toward a goal as a bar that fills up — no chart object needed. REPT draws a block bar sized to the percent complete, capped at 100%, right inside a cell.


Quick formula: for actual B1 and goal B2:
=REPT("█", MIN(B1/B2,1)*20) & " " & TEXT(B1/B2,"0%")
Draws up to 20 blocks proportional to progress, then the percent. MIN caps the bar at full when you exceed the goal.

Functions used (tap for the full reference guide):

The example

$8,000 of a $10,000 goal — 80%.

AB
1MetricValue
2Actual$8,000
3Goal$10,000
4Progress████████░░ 80%

The formula

A text bar plus the percent:

=REPT("█", MIN(B1/B2,1)*20) & " " & TEXT(B1/B2,"0%") // 80% → 16 of 20 blocks

How it works

REPT repeats a block character to length:

  1. Compute progress: actual / goal.
  2. REPT("█", fraction × 20) draws that fraction of a 20-block bar.
  3. MIN(fraction, 1) caps the bar at full so going over goal doesn’t overflow.
  4. Append TEXT(fraction, "0%") for the exact percent. Use a monospace font so the blocks align.

Two-tone bar: draw the filled part with █ and the remainder with a light block: =REPT("█", pct*20) & REPT("░", (1-pct)*20). Or skip REPT entirely and use a conditional-formatting data bar for a smooth fill.

Try it: interactive demo

Live demo

Set actual and goal.

Variations

Two-tone bar

Filled + remainder:

=REPT("█",p*20)&REPT("░",(1-p)*20)

CF data bar instead

Smooth fill:

Conditional Formatting → Data Bars

Over-goal flag

Celebrate exceeding:

=IF(B1>=B2,"✓ Goal met","")

Pitfalls & errors

Cap with MIN. Without MIN(…,1), exceeding the goal draws a bar longer than the cell.

Use a monospace font. Proportional fonts make the blocks uneven; Consolas/Courier keeps the bar tidy.

REPT max is 32,767 chars. Keep the multiplier small (a 20-block bar is plenty); huge counts error.

Practice workbook

📊
Download the free Percent-of-Goal Progress Gauge practice workbook
A REPT progress gauge with two-tone, over-goal, and CF-data-bar variants, plus 4 challenges with answers. No sign-up required.

Frequently asked questions

How do I show percent of goal as a bar in Excel?
Use REPT to draw blocks: =REPT("█", MIN(actual/goal,1)*20) & " " & TEXT(actual/goal,"0%"). MIN caps the bar at 100%.
How do I make a two-tone progress bar?
Draw the filled and empty parts: =REPT("█",pct*20)&REPT("░",(1-pct)*20).
Should I use REPT or a conditional-formatting data bar?
REPT works in any version and travels as text; a CF data bar gives a smoother fill. Use data bars for dashboards, REPT when you need the bar as a value.

Stop fighting formulas. Learn them in a day.

This recipe is one of hundreds of real-world formulas we teach. Our Excel Formulas & Functions class covers lookups, logic, text, and dynamic arrays hands-on — live in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related formulas: Repeat text as bars · In-cell data bars · KPI card

Function references: REPT · MIN