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.
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.
Need it as an auditable file?
Ships inside the linked template — formula-driven, unlocked, audit-ready.
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 “number rows in excel”. Start on a copy or a tiny sample, keep the affected rows visible, and compare the result with the tool above 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 calculation you can defend to a CFO or an auditor, 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. One habit worth forming early: name the cells that hold your inputs, so the formula reads in plain language instead of a string of cell addresses. A reviewer — or you in three months — can then follow the logic without decoding what B7 and D2 were supposed to mean, which is most of what makes a sheet maintainable.
In Google Sheets
Google Sheets handles this almost identically to Excel. The formula syntax above is the same, and the menu lives under a slightly different label rather than a ribbon tab. Use the platform toggle at the top of the page to switch every keyboard shortcut between Windows and Mac, and expect at most cosmetic differences in naming. The aim was to get you unstuck fast and leave you a little more capable than a copy-paste would. The answer is at the top, the tool proves it, and the detail above shows why it holds — so the next time a colleague asks, you can answer without reaching for search. If you take one thing from this page on “number rows in excel”, make it the habit rather than the keystrokes: set the problem up with labelled inputs, reference those cells, and let Excel do the recomputing. Bookmark the page for the syntax, but do the example once in a blank sheet and check it against the tool above — five minutes of hands-on practice fixes the method in memory far better than re-reading, and it surfaces the small snags while they are still harmless. After that the technique is genuinely yours: faster than searching for it again, and reliable enough to drop into work that other people depend on.
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 do i number rows in excel”, “how do you number rows in excel”, “number excel rows” and “how to number a row in excel”, among other phrasings; whichever wording you used, the fix above is the one you want.
This guide also answers
- how to number lines in excel
Why do people search for this in so many different ways?
Because the same task has many names. “how do i number rows in excel”, “how do you number rows in excel”, “number excel rows” all point at the one operation explained on this page, which is why they all lead here.