上一期,跟大家分享了一个在列表中查找第一个非空白单元格的方法,但该方法有缺陷,如果第一个非空白单元格是一个数字、或者日期、或者是逻辑值TRUE/FALSE,则该方法只会查找下一个包含文本的单元格。

这一期的文章,分享另外一个方法给大家,同样是用函数公式,只不过解题的思路不一样。

下图中,我们要将B列数据中的第一个非空白单元格内容查找出来,很显然,B2单元格的内容就是我们要查找的内容,但公式怎么写呢?

具体操作步骤如下:

1、选中D3单元格,在编辑栏中输入公式:=INDEX(B:B, MATCH(FALSE, ISBLANK(B:B), 0)),输入完该公式后,需要按“Ctrl+Shift+Enter”。

2、动图演示如下。

3、公式解析:

①ISBLANK(B:B):

ISBLANK函数:检测是否引用了空白单元格,返回TRUE或FALSE。

该公式的意思是:如果B:B单元格区域中遇到空白单元格就返回TRUE,遇到非空白单元格就返回FALSE,计算后的结果为:{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;......}。

②MATCH(FALSE, ISBLANK(B:B), 0):

MATCH函数:返回符合特定值特定顺序的项在数组中的相对位置。

该公式的意思是:由于在①中,我们已经知道ISBLANK(B:B)返回的结果是{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;......},代入公式,得:MATCH(FALSE, {TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;......}, 0),也就是返回“FALSE”在数组{TRUE;FALSE;FALSE;TRUE;FALSE;TRUE;FALSE;TRUE;FALSE;......}中的相对位置。结果为2。

③INDEX(B:B, MATCH(FALSE, ISBLANK(B:B), 0)):

由于在②中我们已经知道了哪个单元格是第一个非空白单元格,也就是B:B这个单元格区域中相对位置为2的单元格,这时我们只需要取出它所在单元格的值即可。

INDEX函数:在给定的单元格区域中,返回特定行列交叉处的值或者引用。

该公式的意思是:在B:B这个单元格区域中,返回行号为2的单元格的值。

好了,今天就跟大家分享到这里,如果对以上操作有不理解之处,可以在评论区留言或私信找我哦~也期待您的转发和点赞!