为什么此LOOKUP甚至起作用,又如何起作用?

时间:2019-12-12 02:19:41

标签: arrays excel excel-formula

我有以下公式,它给出1080。当我突出显示B1:B3(包含0、1、0)并按F9时,它将给出以下数组:{0; 1; 0}。因此,我将B1:B3替换为{0; 1; 0},现在,公式给出了#N / A。这引出我的问题:F9真正给了什么?据我所知,B1:B3和{0,1,0}是等效的,但是公式并不如此。

=SUMPRODUCT(LOOKUP(ROW(INDIRECT("1:2880")),{1;421;961;1441;1861;2401;2881;2881;2881;2881},B1:B3))

Excel 2010

这只是一个例子。最近,我经常在不同的数组公式上遇到相同的现象。用手动输入的数组替换单元格地址后,该公式将不再起作用。这发生在某些公式中,但不是全部。在简单的INDEX或OFFSET中,手动输入的数组可以替换单元格地址,并且公式/函数仍然有效。

这是屏幕截图。第一个是原始公式。如果我突出显示B1:B3并单击F9,则会出现数组{0,1,0}。如果我突出显示第一个公式(即原始公式)并按F9,则得到1080。如果我突出显示B1:B3以得到数组,然后突出显示整个公式,然后按F9,则得到#N / A。

enter image description here

注意:进一步的研究表明,如果将数组扩展为与其之前的数组相同的大小,则公式将起作用。我没有使用{0; 1; 0},而是使用{0; 1; 0; 0; 0; 0; 0; 0; 0; 0},该公式给出了540。这是预期的结果。因此,现在的问题变成了B1:B3为什么起作用以及它如何起作用?标题已更新,以反映新问题。

0 个答案:

没有答案