Die Funktion ROW () verhält sich in SUM () und SUMPRODUCT () unterschiedlich

Problem Definition:

Geben Sie eine beliebige Zahl in die Zelle einA1. Probieren Sie nun die folgenden Formeln in der ersten Zeile aus.

=SUM(INDIRECT("A"&ROW()))

und

=SUMPRODUCT(INDIRECT("A"&ROW()))

Die erste Formel wird ausgewertet, die zweite gibt einen #WERT-Fehler aus. Dies wird verursacht durch dieROW() Funktion verhält sich innen andersSUMPRODUCT().

In der ersten FormelROW() kehrt zurück1. In der zweiten Formel kehrt die Zeile zurück{1} (Array mit einer Länge), obwohl die Formel nicht als CSE-Formel eingegeben wurde.

Warum passiert das?

Hintergrund

Ich muss eine Formel des Typs auswerten

=SUMPRODUCT(INDIRECT(*range formed by concatenation and using ROW()*)>1)

Dies führt zu einem Fehler. Um dieses Problem zu umgehen, berechne ich jetztROW() in einer anderen Zelle (natürlich in derselben Reihe) und verketten Sie das in meinerINDIRECT(). Alternativ habe ich auch versucht, es in eine Summenfunktion zu kapseln, wie zSUM(ROW())und das funktioniert auch.

Ich würde es sicher begrüßen, wenn jemand erklären könnte (oder mich auf eine Ressource hinweisen könnte, die erklären kann), warumROW() Gibt ein Array zurückSUMPRODUCT() ohne CSE eingegeben zu werden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage