Как оптимизировать формулу в Excel?
Имеется вот такая формула: =ЕСЛИ (ИНДЕКС (N37:N66;СТОЛБЕЦ ()-4)=1;N3*1/27;0)+ЕСЛИ (ИНДЕКС (O37:O66;СТОЛБЕЦ ()-4)=1;O3*1/27;0)+ЕСЛИ (ИНДЕКС (P37:P66;СТОЛБЕЦ ()-4)=1;P3*1/27;0)+ЕСЛИ (ИНДЕКС (Q37:Q66;СТОЛБЕЦ ()-4)=1;Q3*1/27;0)+ЕСЛИ (ИНДЕКС (R37:R66;СТОЛБЕЦ ()-4)=1;R3*1/27;0)+ЕСЛИ (ИНДЕКС (S37:S66;СТОЛБЕЦ ()-4)=1;S3*1/27;0)+ЕСЛИ (ИНДЕКС (T37:T66;СТОЛБЕЦ ()-4)=1;T3*1/27;0)+ЕСЛИ (ИНДЕКС (U37:U66;СТОЛБЕЦ ()-4)=1;U3*1/27;0)+ЕСЛИ (ИНДЕКС (V37:V66;СТОЛБЕЦ ()-4)=1;V3*1/27;0)+ЕСЛИ (ИНДЕКС (W37:W66;СТОЛБЕЦ ()-4)=1;W3*1/27;0)+ЕСЛИ (ИНДЕКС (X37:X66;СТОЛБЕЦ ()-4)=1;X3*1/27;0)+ЕСЛИ (ИНДЕКС (Y37:Y66;СТОЛБЕЦ ()-4)=1;Y3*1/27;0)+ЕСЛИ (ИНДЕКС (Z37:Z66;СТОЛБЕЦ ()-4)=1;Z3*1/27;0)...
Как вы уже заметили, она вполне себе повторяется и проверяет возвращенное индексом значение в зависимости от столбца на равность единице. Проблема в том, что в качестве параметра "строка" в команде индекс указан номер текущего столбца. Это несколько усложняет задачу, поскольку формула должна таким образом обрабатывать 1000 столбцов, а автозаполнение уже не спасает ("столбец ()" же) . То есть автозаполнение поможет, но для этого нужно написать формулу с тысячей "Если (Индекс (...." для массивов от F:F до ALP:ALP о_о. Сказать честно, я не очень смыслю в этой тематике, но не нашёл иного выхода т. к. индекс считается из транспонированной матрицы, а "столбец" является столбцом обычной, короче.. . Нельзя ли как-то упростить написание? Право же, меня не заботит даже, если формула будет на 5 листов A4, мне просто лень писать =/

  • Макросами умеете пользоваться? Могу вам написать расчёт всей этой бредятины.
  • =СУММ (ЕСЛИ (ИНДЕКС ($N$37:$Z$66;СТОЛБЕЦ ()-4;0)=1;$N$3:$Z$3*1/27;0))

    Вводить как формулу массива (через Ctrl+Shift+Enter).

    Не совсем понятно, что именно должно изменяться при автозаполнении, поэтому все ссылки фиксированные.

Вас заинтересует