Exceljet

Quick, clean, and to the point

Get first non-blank value in a list

Excel formula: Get first non-blank value in a list
Generic formula 
{=INDEX(range,MATCH(FALSE,ISBLANK(range),0))}
Explanation 

If you need to get the first non-blank value (text or number) in a in a one-column range you can use an array formula based on the INDEX, MATCH, and ISBLANK functions.

In the example the formula we're using is: 

{=INDEX(B3:B11,MATCH(FALSE,ISBLANK(B3:B11),0))}

This is an array formula and must be entered with Control-Shift-Enter.

How this formula works

So, the gist of the problem is this: We want to get the first non-blank cell, but we don't have a direct way to do that in Excel. We could use VLOOKUP with a wildcard * (see link below), but that will only work for text, not numbers.

So, we need to build the functionality we need by nesting formulas. On way to do that is to use an array function that "tests" cells and returns an array of TRUE/FALSE values that we can then match with MATCH.

Working from the inside out, ISBLANK evaluates the cells in the range B3:B11 and returns and array result that looks like this:

{TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE}

Each FALSE represents a cell in the range that is not blank.

Next, MATCH looks for FALSE inside the array and returns the position of the first match found, in this case 2. At this point, the formula in the example now looks like this:

{=INDEX(B3:B11,2,0))}

Finally, the INDEX function takes over and gets the value at position 2 in the array, in the case the number 10.

First numeric value

To get the first numeric value in a list, you can adapt the formula to use the ISNUMBER function, then change the logic to match TRUE instead of FALSE:

{=INDEX(range,MATCH(TRUE,ISNUMBER(range),0))}

This is also an array formula, and must be entered with control+shift+enter.

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.