Функция ROW () ведет себя по-разному внутри SUM () и SUMPRODUCT ()
Problem definition:
Введите любой номер в ячейкуA1
, Теперь попробуйте следующие формулы в любом месте первого ряда.
=SUM(INDIRECT("A"&ROW()))
а также
=SUMPRODUCT(INDIRECT("A"&ROW()))
Первая формула оценивает, вторая дает ошибку #VALUE.
Это вызваноROW()
функция ведет себя по-разному внутриSUMPRODUCT()
.
В первой формулеROW()
возвращается1
, Во второй формуле возвращается строка{1}
(массив одной длины), хотя формула не была введена как формула CSE.
Почему это происходит?
Background
Мне нужно оценить формулу типа
=SUMPRODUCT(INDIRECT(*range formed by concatenation and using ROW()*)>1)
Это работает с ошибкой. В качестве обходного пути к этой проблеме, я теперь вычисляюROW()
в другой камере (в том же ряду, очевидно) и объединить это в моемINDIRECT()
, С другой стороны, я также попытался инкапсулировать его в функцию суммы, какSUM(ROW())
и это тоже работает.
Я был бы признателен, если бы кто-то мог объяснить (или указать мне на ресурс, который может объяснить), почемуROW()
возвращает массив внутриSUMPRODUCT()
не входя в CSE.