Sequential row numbers
To add sequential row numbers to a set of data with a formula, you can use the ROW function. In the example shown, the formula in B5 is:
How this formula works
When not given a reference, the ROW function returns the row number of the current row. In cell B5, ROW returns 5, in cell B6, ROW() returns 6, and so on:
So, to create sequential row numbers beginning with 1, we subtract 4:
This formula will continue to work as long as rows are not added or deleted above the first row of data. If rows are added or deleted above the data, the hardcoded offset value 4 will need to be adjusted as needed.
Row numbers in a Table
If we convert the data to a proper Excel Table we can use a more robust formula. Below, we have the same data in "Table1":
The formula in B5, copied down, is:
Here, instead of subtracting a hardcoded offset, we calculate the correct offset with this expression:
Because the ROW function returns the first row of table data (not including the header), we need to add 1 to start row numbering at 1. This formula will continue to work correctly when the table is moved, or when rows are inserted or deleted above the table.
Row numbers for a named range
The approach for creating sequential row numbers in a table can be adapted to work with a named range like this:
Here, we are working with a single named range called "data". To calculate the required offset, we use INDEX like this:
We pass the named range data into the INDEX function and request the cell at row 1, column 1. Essentially, we are asking INDEX for the first (upper left) cell in the range. INDEX returns that cell as an address, and the ROW function returns the row number of that cell, which is used as the offset value explained above. The advantage of this formula is that it is portable. It won't break when the formula is moved, and any rectangular named range can be used.