How to Create a Waffle Chart in Excel (Step-by-Step)
Excel has no native waffle chart type. The standard method uses a 10×10 cell grid with conditional formatting — each of the 100 cells represents 1%, and a formula-based rule colors the appropriate number of cells based on your target value. This guide covers the exact grid dimensions, conditional formatting formula, and styling steps to produce a clean waffle chart that updates automatically.
What is a waffle chart in Excel?
A waffle chart (also called a square pie chart) uses a 10×10 grid of equal-sized squares to show a percentage. Each square represents 1% of the total — filling 73 squares communicates 73% instantly without requiring the viewer to measure angles or bar heights. Excel doesn't have a native waffle chart, but the cell grid + conditional formatting approach produces the same result. The technique relies on a mathematical formula that assigns each cell a number from 1 to 100 (bottom-to-top, left-to-right) and colors cells whose number falls below the target percentage.
6 steps to make a waffle chart in Excel
Select a 10×10 cell range
Click cell A1, then drag to J10 — this selects 100 cells (10 columns × 10 rows). This is your waffle grid. Each cell will represent exactly 1% of the total.
Make the cells square
Select rows 1–10: click row 1 header, shift-click row 10 header → right-click → Row Height → enter 25. Select columns A–J: click column A header, shift-click column J header → right-click → Column Width → enter 3.43. At these dimensions, cells appear approximately square on screen. Adjust slightly if your display scaling differs.
Enter your target value
In a cell outside the grid — for example, cell M1 — enter your percentage as a whole number (not a decimal). For 73%, enter 73. For 100%, enter 100. This cell is what the conditional formatting formula will reference.
Apply the conditional formatting rule
Select the full A1:J10 range → Home → Conditional Formatting → New Rule → 'Use a formula to determine which cells to format'. Enter this formula: =(10-ROW())*10+COLUMN()<=$M$1. Set the fill color to your chart color (blue, green, or brand color). Click OK. This formula assigns each cell a number 1–100 starting from the bottom-left and colors cells whose number is less than or equal to your target.
Add the gray background
With A1:J10 still selected, go to Home → Fill Color → choose light gray (such as #E5E5E5 or #D9D9D9). This colors the unfilled cells. The conditional formatting takes precedence for the filled cells, so only the empty squares appear gray.
Clean up and finish
If any numbers appear in the cells, delete them. Select A1:J10 → Borders → No Border to remove internal cell lines. Then add a thick outer border: Borders → Thick Box Border. Hide spreadsheet gridlines: View → Show → uncheck Gridlines. Add a title and percentage label above or below the grid using regular cells.
When to use a waffle chart in Excel
Progress toward a single goal
Show what percentage of a target has been reached — fundraising progress, project completion, quota attainment. The grid format makes progress tangible in a way a progress bar doesn't.
Survey or poll results
Visualize what percentage of respondents chose a particular answer. A waffle chart communicates 62% chose yes more viscerally than a pie or bar chart.
Infographic and report design
Waffle charts are visually distinctive compared to standard Excel chart types. They work well in executive dashboards and printed reports where a single metric needs emphasis.
Side-by-side percentage comparison
Two waffle charts next to each other (e.g. this year vs last year, or segment A vs segment B) make percentage differences immediately readable — easier than comparing two pie slices.
Components of a waffle chart in Excel
10×10 cell grid
100 square cells, each representing 1% of the total. The grid is a range of worksheet cells formatted to appear as equal squares — not an Excel chart object.
Conditional formatting rule
A formula-based rule that colors cells whose assigned position number is less than or equal to the target percentage. The formula =(10-ROW())*10+COLUMN() assigns numbers 1–100 bottom-to-top, left-to-right.
Target value cell
A single cell outside the grid (e.g. M1) holding the percentage as a whole number. The conditional formatting formula references this cell with an absolute reference ($M$1) so it applies uniformly across all 100 cells.
Filled cells
Cells colored your chart color, representing the percentage value. Count equals the target number (73 cells filled for 73%).
Background cells
Cells colored light gray, representing the remaining percentage. No special formatting — just the fill color applied to the whole range before the conditional formatting rule runs.
Frequently Asked Questions
Related