Funkcja ROW () zachowuje się inaczej w SUM () i SUMPRODUCT ()
Definicja problemu:
Wprowadź dowolną liczbę w komórceA1
. Teraz spróbuj następujących formuł w dowolnym pierwszym rzędzie.
=SUM(INDIRECT("A"&ROW()))
i
=SUMPRODUCT(INDIRECT("A"&ROW()))
Pierwsza formuła się sprawdza, druga daje błąd #WARTOŚĆ. Jest to spowodowane przezROW()
funkcja zachowuje się inaczej w środkuSUMPRODUCT()
.
W pierwszej formuleROW()
zwraca1
. W drugiej formule wiersz powraca{1}
(tablica o jednej długości), mimo że formuła nie została wprowadzona jako formuła CSE.
Dlaczego to się dzieje?
tło
Muszę ocenić formułę tego typu
=SUMPRODUCT(INDIRECT(*range formed by concatenation and using ROW()*)>1)
To powoduje błąd. Jako obejście tego problemu teraz obliczamROW()
w innej komórce (oczywiście w tym samym rzędzie) i połącz to w moimINDIRECT()
. Alternatywnie, próbowałem także enkapsulować go wewnątrz funkcji sumy, jakSUM(ROW())
i to również działa.
Byłbym wdzięczny, gdyby ktoś mógł wyjaśnić (lub wskazać mi źródło, które może wyjaśnić) dlaczegoROW()
zwraca tablicę wewnątrzSUMPRODUCT()
bez wpisania CSE.