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