Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 此公式如何返回范围内的最后一个非零值_Excel - Fatal编程技术网

Excel 此公式如何返回范围内的最后一个非零值

Excel 此公式如何返回范围内的最后一个非零值,excel,Excel,我有一个Excel工作簿,其中1、4、0、100、0、0分布在A1到A6的范围内 公式=LOOKUP(2,1/(A1:A60),A1:A6)返回该范围内的最后一个非零元素:100。它足够聪明,可以在4到100之间跨过0 这不是我的工作簿,无法联系到作者 但是这个公式是如何工作的呢?首先,2可以是任何大于1的数字,并且可以工作 (A1:A60)返回TRUE/FALSE,当用作分母时,该值分别变为1/0 因此1/(A1:A60)返回一个1和#DIV0错误的数组。例如:{1,1,#DIV0,1,#DI

我有一个Excel工作簿,其中1、4、0、100、0、0分布在A1到A6的范围内

公式
=LOOKUP(2,1/(A1:A60),A1:A6)
返回该范围内的最后一个非零元素:
100
。它足够聪明,可以在4到100之间跨过0

这不是我的工作簿,无法联系到作者


但是这个公式是如何工作的呢?

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

(A1:A60)
返回TRUE/FALSE,当用作分母时,该值分别变为1/0

因此
1/(A1:A60)
返回一个1和#DIV0错误的数组。例如:
{1,1,#DIV0,1,#DIV0,#DIV0}

查找查找最佳匹配,如
2
大于数组中的值,但小于数组中的下一个或最后一个数字。因此它在返回的数组中查找最后一个
1


然后,它使用该相对位置
4
返回第三个标准范围内的第四个值:在本例中为
A4
中的值。

首先,
2
可以是大于1的任意数字并起作用

(A1:A60)
返回TRUE/FALSE,当用作分母时,该值分别变为1/0

因此
1/(A1:A60)
返回一个1和#DIV0错误的数组。例如:
{1,1,#DIV0,1,#DIV0,#DIV0}

查找查找最佳匹配,如
2
大于数组中的值,但小于数组中的下一个或最后一个数字。因此它在返回的数组中查找最后一个
1

然后,它使用该相对位置
4
返回第三个标准范围中的第四个值:在本例中为
A4
中的值