Добрый день!
Мне необходимо расчитать среднее значение с использованием промежуточных итогов, т.к. я буду использовать фильтр для отображения только нужных мне областей. При этом у меня есть несколько условий для расчета среднего, я использовал СРЗНАЧЕСЛИМН. Но с этой функцией невозможно использовать фильтр, т.к. она все равно отобразит значение всех строк, и скрытых в том числе. Файл прилагаю.
Буду признателен за помощь.
Спасибо.
=СУММПРОИЗВ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ($F$3;СТРОКА($F$3:$F$20)-3;))*($B$3:$B$20=E22)*($C$3:$C$20=D22))/СУММПРОИЗВ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2;СМЕЩ($F$3;СТРОКА($F$3:$F$20)-3;))*($B$3:$B$20=E22)*($C$3:$C$20=D22)*($F$3:$F$20>0)
Off: А ведь никто не мешал в первой своей теме изложить суть так же
Так можно тянуть формулу
=ЕСЛИОШИБКА(СУММПРОИЗВ((C$3:C$20=ПРОСМОТР(;-КОДСИМВ(D$22:D22);D$22:D22))*(B$3:B$20=E22)*ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(F$2;СТРОКА($F$1:$F$18);)))/СУММПРОИЗВ((C$3:C$20=ПРОСМОТР(;-КОДСИМВ(D$22:D22);D$22:D22))*(B$3:B$20=E22)*(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ(F$2;СТРОКА($F$1:$F$18);))>0));)
_Boroda_ , скажите пож-ста, в вашем файле Вы включили в диапазон Промежуточные итоги ($F$1) - какова его роль?
Экономия символов. Диапазон начанается со строки 3. В формуле - F2. Начинать смещать F2 нужно с 1.
Если указать начало диапазона правильно, с F3, то первое "смещение" должно быть нулевым, а для этого от номера строки нужно чего-нибудь отнять.
vikttur, так значит саму функцию ПРОМЕЖУТОЧНЫЕ ИТОГИ в F1 можно удалить? важен только диапазон?
Цитата: Alex77 от 10.04.2015, 11:31
_Boroda_ , скажите пож-ста, в вашем файле Вы включили в диапазон Промежуточные итоги ($F$1) - какова его роль?
Просто для проверки полученных формулами результатов.
Удалить конечно можно.
Я неправильно понял вопрос. Файл до этого не открывал, отвечал по формуле, показанной в сообщении.
Я применил обе формулы к своей базе - и они дают разный результат. Причем Ваша формула, Vikttur, дает результат правильный. Не могу понять почему вторая не правильно считает.
А я как могу понять? Пишите адрес, подъеду, посмотрю. Или все-таки пример покажете?