Суммировать и умножить: расшифровать формулу

Автор botanik, 09.11.2015, 09:58

« назад - далее »

botanik

Люди добрые, объясните, пожалуйста, чайнику, как расшифровывается эта формула. Файл приложить не могу. Информация секретная.
Если нужны какие-то разъяснения, готова на них ответить, если смогу
=+СУММПРОИЗВ(H8:СМЕЩ(H8;ПОИСКПОЗ(3;A8:A4603;0)-2;0;1;1);I8:СМЕЩ(I8;ПОИСКПОЗ(3;A8:A4603;0)-2;0;1;1))
Заранее спасибо

vikttur

Плюс - лишний, можно не обращать внимания.
=СУММПРОИЗВ(диапазон1;диапазон2)
О работе функции - в справке.

Первый диапазон:
H8:СМЕЩ(H8;ПОИСКПОЗ(3;A8:A4603;0)-2;0;1;1)
от H8 до ячейки, найденной с помощью ПОИСКПОЗ
То же со вторым диапазоном.

Формула "не очень". СМЕЩ пересчитывается при любых изменениях на листе. Так лучше (писано "на коленке", поэтому нужно проверить):
=СУММПРОИЗВ(H8:ИНДЕКС(H8:H4603;ПОИСКПОЗ(3;A8:A4603;0));I8:ИНДЕКС(I8:I4603;ПОИСКПОЗ(3;A8:A4603;0)))

botanik

Спасибо, но понятнее не стало. Зато Вам развлечение. Скажите, а в чем смысл такой неудобной громоздкой формулы? Попробуем разобраться от обратного. Альтернатив каких-то нет этим нагромождениям? Простых, кратких и понятных. Мне кажется, это какие-то атавизмы довиндоусовской эпохи. Когда в каком-нибудь ДОСе стряпали нечто подобное. Или я ошибаюсь? Можно их вообще заменить на какие-нибудь современные аналоги?

vikttur

То, что понятнее не стало - Вы ознакомились с функцией СУММПРОИЗВ?
Цитироватьатавизмы довиндоусовской эпохи
Нет, современная конструкция. Возможно, излишне усложнена. Зависит от задачи (свою Вы и под пистолетом не расскажете?). Вы еще не видели настоящих формул :)

ЦитироватьАльтернатив каких-то нет этим нагромождениям?
Есть, наверное. Зависит от того, что Вы хотите получить.
Создайте тему с названием, отражающим суть проблемы, составьте и прикрепите пример в файле Excel (так есть - так хочу). Не нужны Ваши секреты - 10-20 строк с помидорами вместо гранат и явок.
Будет понятно, что Вы хотите получить в итоге.


zs

=СУММПРОИЗВ(H8:ИНДЕКС(H8:H4603;СЧЁТЕСЛИ(A8:A4603;">"&3));I8:ИНДЕКС(I8:I4603;СЧЁТЕСЛИ(A8:A4603;">"&3)))

zs

=СУММПРОИЗВ(H8:ИНДЕКС(H8:H4603;СЧЁТЕСЛИМН(A8:A4603;"<>"&3;A8:A4603;">"&0));I8:ИНДЕКС(I8:I4603;СЧЁТЕСЛИМН(A8:A4603;"<>"&3;A8:A4603;">"&0)))