How to Make an Excel Spreadsheet Look Professional (7 Rules)
By Mark Fulton · 2026-08-09 · 8 min read
A spreadsheet that looks professional almost never has more formatting in it. It has less, applied consistently. The files that read like a scratchpad usually have four fonts, three shades of yellow, and a column of numbers where some cells show two decimals and some show six.
Here are the seven rules I apply to every sheet before I send it anywhere. They're opinionated on purpose — a rule you can follow beats a principle you have to interpret.
1. Turn the gridlines off
Gridlines are a drafting aid. They're there so you can see cells while you build. They are not part of the finished document, and leaving them on is the single loudest signal that nobody did a final pass.
In Excel: View → uncheck Gridlines (keyboard: Alt, W, V, G). In Google Sheets: View → Show → Gridlines.
Once they're off, the sheet looks empty — which is the point. Now you add back only the lines that do real work: a rule under the header row, and a line above the totals row. Two lines, not a grid of forty thousand.
2. One accent color. Pick it first.
Give yourself a budget of one accent color plus grays. Every colored thing on the sheet is either the accent, a gray, or has to justify itself in front of you.
That budget is enough for a surprising amount:
| Element | Treatment |
|---|---|
| Header row | Accent fill, white or near-black text, bold |
| Header rule | Thin border in the accent, or nothing if the fill is strong |
| Totals row | Top border, bold text, no fill |
| Section labels | Accent text, no fill |
| Everything else | Default text on white |
The two exceptions worth spending color on are exceptions themselves — a negative variance, a failed threshold — and those should be red or a single warning tone, used sparingly enough that they still register as unusual.
3. Right-align numbers, and pin the decimals
Numbers get right-aligned so the ones, tens, and hundreds columns stack vertically. Text gets left-aligned. This isn't taste; it's how you scan a column for the big value without reading every row.
Then force every number in a column to the same decimal count. A column showing 1,204, 1204.5, and 1,204.50 is three different formats pretending to be one. Pick two decimals for currency, zero for counts, one for percentages — whatever you choose, apply it to the whole column via Format Cells (Ctrl+1), not by typing values differently.
One more: align the header the same way as its column. A right-aligned number column with a left-aligned header looks broken at every width. The full number-formatting guide covers the format codes that make this stick.
4. The header row gets bold, fill, and nothing else
Bold text plus a solid fill is enough. What you're avoiding: bold and italic and a border and a bigger font and center alignment and a different color. Each of those is a separate signal, and stacking them makes the header shout rather than read.
If your headers wrap awkwardly, shorten the words before you shrink the font. Rev Q3 beats a 7pt Revenue for Quarter Three (USD) squeezed into two lines.
5. Freeze the header row (and the label column)
Any sheet longer than a screen needs frozen panes, and the number of files sent out without them is remarkable. Scrolling to row 400 and having no idea what column F means is a real cost you're pushing onto the reader.
View → Freeze Panes → Freeze Top Row handles the common case. If your first column holds row labels — names, SKUs, dates — select cell B2 first and choose Freeze Panes, which locks everything above and to the left of the selection. Now both anchors stay put.
6. Column widths that fit the content
Two failure modes: columns so narrow that text truncates or numbers show as #####, and columns so wide that the table sprawls past the screen with an ocean of white between values.
Fastest fix: select all columns and double-click any column border to autofit (Alt, H, O, I). Then go back and manually narrow the columns that autofit made absurd — usually a notes or description field that has one 300-character outlier. Cap that one and turn on wrap text, or accept the truncation.
Autofitting is also the cheapest way to catch trailing-space problems: if one cell in a tidy column suddenly makes it twice as wide, something invisible is in there.
7. Conditional formatting for exceptions, not decoration
A three-color scale applied to every numeric cell turns a table into a heat blanket. It looks like analysis and communicates nothing, because when everything is colored, color stops meaning anything.
Use conditional formatting when there's a genuine threshold: over budget, below stock minimum, past due. Then the colored cells are the answer to a question rather than a background texture. I go deeper on when each rule type earns its place in conditional formatting that actually helps.
A worked example: one column, before and after
Here's a fragment that looks like most files I'm sent. Five rows, and every problem in the list above is visible in it.
| Region | Revenue |
|---|---|
| north | 12400 |
| SOUTH | 8,750.5 |
| east | 12400.75 |
| West | 940 |
| 34491.25 |
Six separate issues are in there: the labels use three different capitalizations, the numbers use three different decimal treatments, only one has a thousands separator, the header doesn't state a unit, the totals row has no label, and the totals row is visually identical to the data above it.
Now the same fragment after the pass:
| Region | Revenue (USD) |
|---|---|
| North | 12,400.00 |
| South | 8,750.50 |
| East | 12,400.75 |
| West | 940.00 |
| Total | 34,491.25 |
What actually changed: one format code (#,##0.00) applied to the whole revenue column, PROPER() run over the labels and the result pasted back as values, the unit moved into the header, a label typed into the totals row, and a top border plus bold on that row. No new colors, no new fonts, no borders anywhere else.
That's the shape of most of this work. The second table isn't decorated — it's the first table with the inconsistencies removed.
Where Excel and Google Sheets differ
Moving between the two, three differences matter for this list:
- Format Cells is one dialog in Excel and several menus in Sheets.
Ctrl+1in Excel puts number format, alignment, font, border, and fill on tabs of a single dialog. Google Sheets splits them: number formats under Format → Number, the rest across Format → Alignment, Format → Text, and the toolbar's border control. - Center Across Selection is Excel-only. It's the correct way to center a title over several columns without merging. Sheets doesn't offer an equivalent, so the honest options there are to merge (and accept that merged cells break sorting and filtering) or to leave the title left-aligned in the first column. I take the left-aligned title.
- Freezing works differently. Excel asks you to select the cell below and to the right of the split, then View → Freeze Panes. Sheets uses View → Freeze with explicit row and column counts, or you can drag the thick gray bar at the edge of the row and column headers.
Questions that come up
Does turning off gridlines change how the sheet prints?
No. Screen gridlines and printed gridlines are separate settings in Excel. The View checkbox controls what you see; Page Layout → Sheet Options → Gridlines → Print controls paper and PDF output, and it's off by default. The two don't talk to each other, which is why a sheet can look clean on screen and still print bare.
Which font should I use?
Whichever one the workbook already defaults to — applied to every cell, with no exceptions. Excel's default font has changed across versions, so naming one here would age badly. The useful instruction isn't "use font X," it's "use one font." Select all and set it once if you inherited a file with three.
Should headers be centered?
Match the column they sit above. A centered header over a right-aligned number column looks aligned at one specific column width and drifts out of line at every other, which is exactly the kind of small wrongness readers notice without being able to name.
Is it worth using Format as Table?
It's the fastest route to banding, filter buttons, and a named range you can reference in formulas. The trade is that table styles interact awkwardly with manual cell formatting, so decide before you start styling by hand rather than halfway through.
The order I do them in
Formatting has a dependency order, and doing it backwards means redoing work:
- Fix the data first — one table per tab, real headers, no blank rows
- Set number formats per column
- Apply header styling and the totals row
- Autofit widths
- Freeze panes
- Turn off gridlines
- Add conditional formatting last, only where a threshold exists
Widths depend on number formats, so formats come first. Conditional formatting comes last because you want to see the finished sheet before deciding what's worth flagging.
This sequence is exactly what SuperSheet's Excel formatter proposes when you drop a file in — it reads your columns, suggests the formats and the totals row, and you approve or reject each piece before anything gets applied. The plan step matters more than the styling step; the styling is mechanical once you've decided what the columns actually are.
If your file isn't clean enough to format yet, start with the messy spreadsheet checklist instead. No amount of accent color fixes numbers stored as text.