In Excel: put =ROW()-1 in the first data row and fill it down — the numbers then renumber themselves when rows are inserted, deleted or sorted, which typed numbers do not.
On this page7
Decide first whether the numbers must survive sorting; if so, they should be values, not formulas.
For a dynamic count, put =ROW()-1 in the first data row (adjust the −1 to your header row count).
Double-click the fill handle to run it to the bottom of the adjacent data.
On Microsoft 365 you can instead put =SEQUENCE(ROWS(B2:B500)) in one cell and let it spill.
Inside a Table use =ROW()-ROW(Table1[#Headers]) so new rows number themselves.
To freeze the result, select the column, Ctrl+C, then Paste Special ▸ Values.
What this does
Three methods, and the differences matter. Typing 1 and 2, selecting both and dragging the fill handle produces STATIC numbers: fast, and wrong the moment anyone deletes row 7. =ROW()-1 (subtracting however many header rows you have) is dynamic — delete a row and the rest renumber instantly. =SEQUENCE(ROWS(A2:A500)) in Microsoft 365 spills a whole column of numbers from one formula. There is also a fourth case worth knowing: inside a Table, =ROW()-ROW(Table1[#Headers]) keeps numbering correct as the table grows, because it measures from the header rather than from the top of the sheet. If the numbers must be permanent — an invoice number, a record ID — a formula is the wrong tool: generate them once and paste as values, because an ID that changes when someone sorts the sheet is not an ID. The same idea underpins a lot of everyday Excel work, so the few minutes spent getting it right here pay back across every sheet you build afterwards. Treat it as a pattern, not a one-off, and it stops being something you look up and starts being something you reach for. The difference between a quick fix and a sheet you can trust is the extra minute you spend validating “automatically number columns in excel”. Start on a copy or a tiny sample, keep the affected columns visible, and compare the result with the outcome you expected before you touch the real workbook. When a formula is involved, keep the inputs labelled beside it, reference cells instead of typing values, and apply number formatting only after the result checks out. The point is a workflow that saves repeating the same clicks every week, but the practical win is that someone else can open the file and understand what happened without asking you.
A worked example
Data starts in row 2 under a header. A2: =ROW()-1 → 1, filled down to A500 → 499. Delete row 5 and the column reads 1,2,3,4,… with no gap. Compare with a typed fill: the same deletion leaves 1,2,3,5,6, and nobody notices until a total is quoted against the wrong count. A numbered column is usually there so people can refer to "row 14" in an email — which only works if the number still means the same row tomorrow. Check the referenced cells, argument order and result type in your workbook. Start with the worked example before changing an input, then compare the changed result with the calculation you expected. An error value or a result of a different type is a reason to inspect the inputs and arguments.
In Google Sheets
Function availability: SEQUENCE: Excel 2021+. These are Microsoft's version markers; earlier perpetual releases do not include these functions. Check the actual product and update channel before using the formula. A marker does not establish an identical Web/Mac workflow or Google Sheets support. Nothing on this page is behind a login or a download: the exact answer is at the top, and the detail below it is there for when you need it. That is the whole promise here — the answer first, and just enough context to make it stick. For “automatically number columns in excel”, keep the input cells and the result visible while you check the formula in Excel. Follow the worked example and change one input at a time. The steps explain the workbook calculation; this page does not run a live calculator for that task.
Common mistakes
- Typing the numbers and then sorting or deleting rows, leaving a sequence with holes.
- Forgetting to subtract the header rows, so the first data row is numbered 2.
- Using
=ROW()inside a Table and getting sheet row numbers rather than positions within the table. - Using a formula for invoice or record numbers, which then change under sorting — those must be static values.
- Dragging one cell containing 1 instead of two cells containing 1 and 2, which copies 1 all the way down.
Frequently asked questions
How do I number rows in Excel?
Put =ROW()-1 in the first data row and fill down. Subtract as many as you have header rows.
How do I make the numbering update automatically?
Use a formula rather than typed numbers: =ROW()-1, or =SEQUENCE(ROWS(B2:B500)) on Microsoft 365. Both renumber after an insert or delete.
How do I fill a series of numbers?
Type the first two values, select both, and double-click or drag the fill handle. Excel continues the step it infers from the pair.
Why did my numbers stop matching after sorting?
They were typed values, so sorting moved them with their rows. A ROW-based formula recalculates to its new position.
Other ways people ask this
People reach this page typing “how to number columns in excel automatically” and “automatically number columns in excel”, among other phrasings; whichever wording you used, the fix above is the one you want.
Why do people search for this in so many different ways?
Because the same task has many names. “how to number columns in excel automatically”, “automatically number columns in excel” all point at the one operation explained on this page, which is why they all lead here.