我有一个Excel工作簿,分布在A1到A6范围内的分布为1,4,0,100,0,0。
公式=LOOKUP(2,1/(A1:A6<>0),A1:A6)
返回该范围中的最后一个非零元素:在这种情况下为100
。它足够聪明,可以在4到100之间跨越0。
它不是我的工作簿,无法与作者联系。
但该公式如何运作?
答案 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
中的值。