0

SUMPRODUCT({1,2,3},{4,5,6}) は 32 を返します。これは、一方の配列の要素を他方の配列の対応する要素で乗算することによって得られます。

次の 2 つの数式は、数式 (F9) の評価によって証明されるように、それぞれ 2880 要素の 2 つの配列を提供します。最初の数式の評価をコピーして、テキストから列へと 1 行に貼り付けました。次に、2 番目の数式の評価をコピーして、下の行に貼り付けました。上の行と下の行の乗算の合計は 16 になり、これは正しい結果です。

同じ結果 16 が得られることを期待して 2 つの数式を SUMPRODUCT に入れましたが、結果はゼロでした。SUMPRODUCT が 2 つの配列を乗算しないか、2 つの配列を評価したときのように見えないように思えます。16 を取得するには、SUMPRODUCT 式で Ctrl-Shift-Return を入力する必要があります。

私の質問は、評価では 2 つの数式が配列であることが示されているのに、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
4

1 に答える 1