How to Make a Heatmap in Excel with No Add-Ins
Excel has a full heatmap engine built in: conditional formatting color scales. Select a grid of numbers, apply a color scale, and every cell is shaded by its value — no add-ins, no charts, no VBA. The whole job takes about ten seconds; the skill is in tuning the scale so the colors tell the truth.
Quick answer: To make a heatmap in Excel, select your numeric range, then go to Home → Conditional Formatting → Color Scales and pick a scale (e.g., Green–Yellow–Red). Excel shades each cell by its value instantly. For a proper heatmap, first arrange data as a grid — categories down the rows, time periods or categories across the columns — using a pivot table if needed.
How Do You Apply a Color Scale Step by Step?
The only prerequisite is that your data is shaped like a grid — one row per category, one column per period, numbers in the middle. Then it's four clicks: select, Home, Conditional Formatting, Color Scales. If your data is a raw transaction list instead of a grid, build the grid first (see the pivot section below).
Example grid — monthly sales by region (B2:M6):
Jan Feb Mar Apr May ...
North 42 38 51 47 55
South 61 58 49 66 71
East 35 31 29 40 44
West 52 57 63 59 62
- Select the numeric cells only (B2:M6 — leave labels out, or they'll skew nothing but it keeps the selection clean).
- Go to Home → Conditional Formatting → Color Scales.
- Hover the options to live-preview; click one (start with the white-to-blue 2-color scale).
- Optional: shrink the font or set the number format to
;;;to hide the numbers and show pure color.
Because it's conditional formatting rather than a chart, the heatmap updates automatically when the numbers change. Everything else conditional formatting can do — data bars, icon sets, formula-based rules — is covered in Excel conditional formatting.
How Do You Tune a 3-Color Scale So It Doesn't Mislead?
The default 3-color scale puts the midpoint color at the 50th percentile of your data, which is arbitrary. Open Conditional Formatting → Manage Rules → Edit Rule and set the min, midpoint, and max explicitly. Two rules of thumb: center a diverging scale (red–white–green) on a meaningful value like 0 or your target, and use a single-hue scale (white → dark blue) when the data has no natural midpoint.
Good 3-color setups:
Variance vs budget: Min = Number: -20 (red)
Mid = Number: 0 (white)
Max = Number: 20 (green)
% of target: Min = Number: 0.5 (red)
Mid = Number: 1.0 (white)
Max = Number: 1.5 (green)
Plain magnitudes: use a 2-color scale instead
(white → dark blue)
Avoid the green–yellow–red default for plain magnitudes — it implies "low is bad," which is wrong for metrics like costs or churn. Roughly 1 in 12 men also can't distinguish red from green, so blue–white–orange is a safer diverging pair. The theory behind these choices is in heat maps explained.
How Do You Make a Calendar Heatmap in Excel?
The GitHub-style calendar heatmap is just a layout trick: put weekday numbers down the rows (1–7), week numbers across the columns, and fill the grid with a lookup that pulls each day's value. Apply a color scale to the grid and you have a year of daily data in one glance.
Setup — daily data in A:B (A = date, B = value):
1. Build the grid axes:
Row labels (P2:P8): 1..7 (weekday: Mon..Sun)
Col labels (Q1:BP1): 1..53 (ISO week numbers)
2. Add helper columns to the source data:
C2: =ISOWEEKNUM(A2) → week
D2: =WEEKDAY(A2, 2) → weekday (Mon = 1)
3. Grid formula in Q2, filled across and down:
=IFERROR(SUMIFS($B:$B, $C:$C, Q$1, $D:$D, $P2), "")
4. Select the grid → Conditional Formatting → Color Scales
(2-color: white → dark green)
5. Polish: set column widths ≈ row heights for square cells,
hide values with custom number format ;;;
SUMIFS (rather than a lookup) means duplicate dates aggregate correctly, and the IFERROR blanks out week/weekday combinations that don't exist in your data. Blank cells are skipped by the color scale, so missing days stay white.
How Do You Turn a Pivot Table into a Heatmap?
Most real data arrives as a transaction list, not a grid — so let a pivot table build the grid. Insert a pivot with one field in Rows (e.g., product), one in Columns (e.g., month), and a value in Values, then apply a color scale to the values area. One critical setting: apply it via the formatting-options button that appears after you format the first cell, choosing "all cells showing Sum of … values", so the formatting survives pivot refreshes and re-arrangements.
- Select your data → Insert → PivotTable.
- Drag Product to Rows, Month to Columns, Sales to Values.
- Select one value cell → Home → Conditional Formatting → Color Scales → pick a scale.
- Click the small formatting icon that appears next to the cell and choose "All cells showing 'Sum of Sales' values".
Skip step 4 and the colors vanish the first time anyone refreshes the pivot. Exclude the Grand Total row and column if they dominate the scale — either turn totals off (Design → Grand Totals) or scope the rule to values only.
When Is Excel the Wrong Tool for a Heatmap?
Excel handles grids up to a few thousand cells comfortably. Go elsewhere when you need: a correlation matrix with significance masking, publication-quality export, or grids beyond ~50 × 50 (Excel renders them, but scrolling kills the "one glance" benefit). At that point, two lines of seaborn beat any spreadsheet — and for interactive dashboards, use Power BI's matrix visual with the same conditional-formatting idea.
Pro Tip: To present a heatmap without the distracting numbers, don't delete them — select the range, press Ctrl+1, choose Custom number format, and enter ;;;. The values stay in the cells (so the color scale and formulas still work) but render invisible, leaving clean blocks of color.