这个公式如何返回范围中的最后一个非零值
我有一个Excel工作簿,分布在A1到A6范围内的1,4,0,1,0,0,0。
公式=LOOKUP(2,1/(A1:A6<>0),A1:A6)
返回该范围中的最后一个非零元素: 100
。 足够巧妙地跨越4到100之间的0。
这不是我的工作簿,不能联系作者。
但是这个公式是如何工作的?
首先, 2
可以是任何大于1的数字并且工作。
(A1:A6<>0)
返回TRUE / FALSE,当用作分母时,分别变为1/0。
所以1/(A1:A6<>0)
返回一个1和#DIV0错误的数组。 对于您的实例: {1,1,#DIV0,1,#DIV0,#DIV0}
Lookup会查找最合适的值,比如2
的值大于数组中的值,但小于数组中的下一个或最后一个数字。 所以它find返回数组中的最后一个。
然后使用该相对位置4
返回第三个标准范围中的第四个值:在这种情况下为A4
中的值。