查找范围中的第一个非空白单元格

exc*_*ion 16 excel

我正在处理一个数据列表,其中一行中的一个或多个单元格可以为空.

比方说,名单是细胞A1,A2,A3,A4.我正在尝试创建一个将执行以下操作的函数:

IF A1 has a value I want the cell to return A1.
  IF A1 is empty then I want it to return A2.
   IF A1 and A2 are both empty I want it to return A3.
    If A1, A2 and A3 are all empty I want it to return A4.    
Run Code Online (Sandbox Code Playgroud)

Vin*_*met 22

谷歌的第一个结果:http://chandoo.org/wp/2014/01/15/find-first-non-blank-item-in-a-list-excel-formulas/

此公式返回范围的第一个TEXT单元格B1:B100:

=VLOOKUP("*", B1:B100, 1,FALSE)

*是Excel中的外卡.当你要求VLOOKUP找到*时,它会找到包含任何内容的第一个单元格.

注意:此方法查找包含任何TEXT的第一个单元格.因此,如果第一个非空单元格是数字(或日期,%或布尔值),则公式显示包含文本的下一个单元格.

如果您需要找到非空白,则该url提供以下解决方案:

如果要查找第一个非空值,无论是文本还是数字,那么您可以使用下面的数组公式.

=INDEX(B3:B100, MATCH(FALSE, ISBLANK(B1:B100), 0))

确保在输入此公式后按CTRL+ Shift+ Enter.

这个公式怎么样?

  • ISBLANK(B1:B100)部分:这给我们TRUE/ FALSE值的列表取决于98个单元格B1:B100是否为空白.它看起来像这样: {TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE; ...}

  • MATCH(FALSE, ISBLANK(…), 0)部分:一旦我们得到TRUE/ FALSE值,我们只需要找到第一个FALSE值(即第一个非空白单元格).这就是这个MATCH功能的作用.它在列表中找到FALSE值的精确匹配.

  • INDEX(B1:B100, MATCH(…))部分:一旦我们知道哪个单元格是第一个非空白单元格,我们就需要它的值.这是做什么的INDEX.