Excel公式技巧93:查找某行中第一个非零值所在的列标题

excelperfect

有时候,一行数据中前面的数据值都是0,从某列开始就是大于0的数值,我们需要知道首先出现大于0的数值所在的单元格。例如下图1所示,每行数据中非零值出现的位置不同,我们想知道非零值出现的单元格对应的列标题,即第3行中的数据值。

图1

可以在单元格N4中输入下面的数组公式:

=INDIRECT(ADDRESS(3,MATCH(TRUE,B4:M4<>0,0)+1))

然后向下拖拉复制至单元格N6,结果如下图2所示。

图2

在公式中,

MATCH(TRUE,B4:M4<>0,0)

通过B4:M4与0值比较,得到一个TRUE/FALSE值的数组,其中第一个出现的TRUE值就是对应的非零值,MATCH函数返回其相对应的位置。

MATCH函数的查找结果再加上1,是因为我们查找的单元格区域不是从列A开始,而是从列B开始的。

ADDRESS函数中的第一个参数值3代表标题行第3行,将3和MATCH函数返回的结果传递给ADDRESS函数返回非零值对应的标题行所在的单元格地址。然后,传递给INDIRECT函数得到该单元格地址对应的值。

小结:本示例的数组公式相对简单,也好理解,有助于进一步理解数组公式的运作原理。

(0)

相关推荐