Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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
Arrays 为什么这种查找会起作用?它是如何起作用的?_Arrays_Excel_Excel Formula - Fatal编程技术网

Arrays 为什么这种查找会起作用?它是如何起作用的?

Arrays 为什么这种查找会起作用?它是如何起作用的?,arrays,excel,excel-formula,Arrays,Excel,Excel Formula,我有下面的公式,它给出了1080。当我高亮显示B1:B3(包含0,1,0)并按F9键时,它给出了以下数组:{0;1;0}。因此,我用{0;1;0}替换B1:B3,现在,公式给出了#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)) Exce

我有下面的公式,它给出了1080。当我高亮显示B1:B3(包含0,1,0)并按F9键时,它给出了以下数组:{0;1;0}。因此,我用{0;1;0}替换B1:B3,现在,公式给出了#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

这只是一个例子。最近,我经常在不同的数组公式上看到相同的现象。当单元格地址被手动输入的数组替换时,该公式不再有效。这发生在一些公式上,但不是所有公式上。在简单索引或偏移量中,手动输入的数组可以替换单元格地址,公式/函数仍然有效

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


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

你能分享一些截图吗?p.(phidot)我编辑了这篇文章并在一张图片中添加了一些截图。B1、B2、B3中有什么?屏幕截图显示F6。这和问题有什么关系?B1,B2,B3是0,1,0。这就是为什么当我高亮显示B1:B3并点击F9时,数组{0;1;0}将替换B1:B3。F6是公式所在的位置。使用新发现的insight,我更改了标题。