该公式如何返回范围中的最后一个非零值

时间:2017-08-31 13:08:23

标签: excel

我有一个Excel工作簿,分布在A1到A6范围内的分布为1,4,0​​,100,0,0。

公式=LOOKUP(2,1/(A1:A6<>0),A1:A6)返回该范围中的最后一个非零元素:在这种情况下为100。它足够聪明,可以在4到100之间跨越0。

它不是我的工作簿,无法与作者联系。

但该公式如何运作?

1 个答案:

答案 0 :(得分:4)

首先,2可以是任何大于1的数字并且可以工作。

(A1:A6<>0)返回TRUE / FALSE,当用作分母时,分别变为1/0。

因此1/(A1:A6<>0)返回1的数组和#DIV0错误。对于您的实例:{1,1,#DIV0,1,#DIV0,#DIV0}

Lookup寻找最佳拟合,例如2大于数组中的值但小于数组中的下一个或最后一个数字。所以它找到了返回数组中的最后一个1

然后使用该相对位置4返回第三个标准范围中的第四个值:在这种情况下A4中的值。