Exceljet

Quick, clean, and to the point

First row number in range

Excel formula: First row number in range
Generic formula 
=MIN(ROW(rng))
Explanation 

You can get the first row (i.e. the starting row number) in a range with a formula based on the ROW function.

In the example shown, the formula in cell F5 is:

=MIN(ROW(data))

where data is a named range for B5:D10

How this formula works

When given a single cell reference, the ROW function returns the row number for that reference. However, when given a range that contains multiple rows, the ROW function will return an array that contains all row numbers for the range. In the example shown the array looks like this:

{5;6;7;8;9;10}

If you want only the first row number, you can use the MIN function to extract just the first row number, which will be the lowest number in the array.

Simple version

Entered in a single cell, the ROW function will display only the first row number, even though it returns an array. This means, in practice, you can often just use the ROW function alone:

=ROW(rng)

However, inside formulas more complex formulas, it's sometimes necessary to make sure you are dealing with only one item, and not an array. In that case, you'll want to use MIN to pull out just the first item.

Index version

Since ROW (range) actually returns an array of every row number in the range, you can also use INDEX to fetch the first item:

=ROW(INDEX(data,1,1))

Not tested, but this may be slightly faster than the MIN(ROW) formula in very large ranges.

Author 
Dave Bruns

Excel Formula Training

Formulas are the key to getting things done in Excel. In this accelerated training, you'll learn how to use formulas to manipulate text, work with dates and times, lookup values with VLOOKUP and INDEX & MATCH, count and sum with criteria, dynamically rank values, and create dynamic ranges. You'll also learn how to troubleshoot, trace errors, and fix problems. Instant access. See details here.