查找 J列最后一个非零单元格,并返回对应的H列对应的单元格?图片所示,查找J列最后一个非零单元格,J10,返回H10的值,方法如下:
在某一空单元格中,输入公式:=INDEX(A1:C9,MAX(FILTER((SMALL(IF(C1:C9>0,ROW(1:9),4^8),ROW(1:9))),(SMALL(IF(C1:C9>0,ROW(1:9),4^8),ROW(1:9))<4^8))),{1})回车查看结果。
注意,本例中,用到FILTER函数,需要高版本OFFICE。还有index+small+if+row的万能公式。
问题是按条件查询数据,核心是查找不等于0的最大行号。于是有下面的处理说明。条件处理公式如下:=MAX(FILTER((SMALL(IF(C1:C9>0,ROW(1:9),4^8),ROW(1:9)))。
其中,SMALL(IF(C1:C9>0,ROW(1:9),4^8),ROW(1:9)),是查找大于0的最大行号数组,分别是1,3,6,65536等。
过滤最大值行号,保留其余行号,FILTER((SMALL(IF(C1:C9>0,ROW(1:9),4^8),ROW(1:9))),(SMALL(IF(C1:C9>0,ROW(1:9),4^8),ROW(1:9))<4^8))),得到1,3,6。
再MAX一次,取得6,就是我们需要的行号。
最后,用index函数匹配正确结果。这有关本例的全部信息了。