A função ROW () se comporta de maneira diferente dentro de SUM () e SUMPRODUCT ()

Definição de problema:

Digite qualquer número na célulaA1. Agora tente as seguintes fórmulas em qualquer lugar na primeira linha.

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

e

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

A primeira fórmula avalia, a segunda dá um erro #VALUE. Isso é causado peloROW() função comportando-se de maneira diferente dentroSUMPRODUCT().

Na primeira fórmula,ROW() devolve1. Na segunda fórmula, a linha retorna{1} (matriz de um comprimento), mesmo que a fórmula não tenha sido inserida como uma fórmula CSE.

Por que isso acontece?

fundo

Eu preciso avaliar uma fórmula do tipo

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

Isso está funcionando com um erro. Como solução para esse problema, agora eu calculoROW() em outra célula (na mesma linha, obviamente) e concatenar que dentro da minhaINDIRECT(). Como alternativa, eu também tentei encapsulá-lo dentro de uma função de soma, comoSUM(ROW())e isso também funciona.

Eu certamente apreciaria se alguém pudesse explicar (ou me indicar um recurso que possa explicar) por queROW() retorna um array dentroSUMPRODUCT() sem estar inscrito no CSE.

questionAnswers(3)

yourAnswerToTheQuestion