SUMPRODUCT({1,2,3},{4,5,6}) 给出 32,它是通过将一个数组中的元素与另一个数组中的相应元素相乘而获得的。
以下两个公式给出两个数组,每个数组包含 2880 个元素,公式 (F9) 的评估证明了这一点。我复制了第一个公式的评估,并通过文本到列将其粘贴到一行。然后我复制了第二个公式的评估并将其粘贴到下面的行。顶行乘以下行的总和得到 16,这是正确的结果。
我将这两个公式放在 SUMPRODUCT 中,期望得到相同的结果,16,但不,我得到了零。在我看来 SUMPRODUCT 不会将两个数组相乘,或者这两个数组不是我评估它们时的样子。我必须在 SUMPRODUCT 公式上输入 Ctrl-Shift-Return 才能得到 16。
我的问题是,虽然评估显示两个公式是数组,但为什么 SUMPRODUCT 不将它们识别为数组?
=LOOKUP(ROW(INDIRECT("1:"&SUM($A1:$A10))),IFERROR(SUMIF(OFFSET($A$1,,,ROW($A1:$A10)-1),"<>")+1,1),$B1:$B3)
=LOOKUP(ROW(INDIRECT("1:"&SUM(C1:C10))),IFERROR(SUMIF(OFFSET(C$1,,,ROW(C1:C10)-1),"<>")+1,1),D1:D3)
=SUMPRODUCT(LOOKUP(ROW(INDIRECT("1:"&SUM($A1:$A10))),IFERROR(SUMIF(OFFSET($A$1,,,ROW($A1:$A10)-1),"<>")+1,1),$B1:$B3),LOOKUP(ROW(INDIRECT("1:"&SUM(C1:C10))),IFERROR(SUMIF(OFFSET(C$1,,,ROW(C1:C10)-1),"<>")+1,1),D1:D3))
A B C D
420 0 1001 0
540 1 882 1
480 0 997 0
420 0
540 1
480 0