Буду признателен, если кто-нибудь узнает, задокументирована ли следующая проблема и / или каковы основные причины.
Предполагая, например, что у нас есть числа от 1 до 10 в A1:A10
,Следующая формула
=SUMPRODUCT(SUBTOTAL(4,OFFSET(A1,{0;5},0,5)))
является абсолютно верной и эквивалентна взятию суммы максимальных значений из каждого из диапазонов A1:A5
и A6:A10
, поскольку функция OFFSET
здесь передается массив значений ({0;5}
) в качестве его параметра rows и с соответствующим параметром height (5), разрешается в массив диапазонов:
{A1:A5,A6:A10}
, который затем передается в SUBTOTAL
для генерации дополнительного массива, содержащего максимальные значения из каждого из этих диапазонов, то есть 5 и 10, перед суммированием в SUMPRODUCT
.
AGGREGATE
был представлен в Excel 2010 как, казалось бы, более усовершенствованная версия SUBTOTAL
.Мой вопрос заключается в том, почему при попытке следующего
=SUMPRODUCT(AGGREGATE(14,,OFFSET(A1,{0;5},0,5),1))
, который должен быть эквивалентен приведенному выше примеру SUBTOTAL
, Excel отображает сообщение о том, что " Out Outресурсов при попытке вычислить одну или несколько формул"(и вернуть значение 0)?
( Обратите внимание, что пользователи неанглийской версии Excel могуттребуется другой разделитель внутри константы массива {0;5}
. )
Это довольно неожиданная ошибка.Очевидно, что синтаксис не виноват, и прохождение конструкции OFFSET
«не разрешено».В книге больше ничего нет, что заставляет Excel использовать так много ресурсов при попытке разрешить такую конструкцию?
Аналогичный результат возникает с INDIRECT
вместо OFFSET
, то есть
=SUMPRODUCT(SUBTOTAL(4,INDIRECT({"A1:A5","A6:A10"})))
совершенно корректно, но
=SUMPRODUCT(AGGREGATE(14,,INDIRECT({"A1:A5","A6:A10"}),1))
выдает ту же ошибку, что и описанную выше.
С уважением