Страницы: 1
RSS
Посчитать сумму диаметров по каждому блоку, с исключением из подсчета строк с некоторыми индексами и кодами
 
Есть таблица, в которой нужно посчитать сумму значений в столбце "Е" (диаметр) по нескольким условиям.
Проблемный столбец условий "Q" (код): в нем есть несколько значений (1a, 1b, 2a, 2b, D).
При подсчете нужно учитывать строки содержащие 1a, 1b и пропустить строки содержащие 2a, 2b, D.

Первая табличка подсчета (желтая) сделана топорно, но тем не менее работает. В ней сделаны отдельные условия для столбца "Q" где исключаются из подсчета не нужные строки (<>2a; <>2b; <>D)

Покопав этот форум нашел, что можно задать массив условий (которые мне нужно учитывать при подсчете {"1а";"1b"}) и дооснастить функцию СУММЕСЛИМН внешней функцией СУММ. Сделал, работает. (см. вторую таблицу - серую).

Третья таблица (зеленая) по задумке должна делать тоже самое что и вторая, но в массиве прописал исключения {"<>2a"; "<>2b";"<>D"} и она, ясен пень, считает не верно, потому что функция СУММЕСЛИМН поочередно создает три массива в каждый из которых попадают данные от двух не нужных условий. Ну и потом все это суммирует внешняя функция СУММ и получается белиберда.

Так вот задача: как правильно прописать массив "исключений", чтобы работало???
На вопрос почему не пользоваться второй табличкой, где в массиве условий прописывается только то, что нужно считать, отвечу: есть похожая таблица, где в столбце условий 60 значений и при подсчете нужно учитывать 50 из них. Поэтому короче и быстрее прописать в условии 10 ненужных значений, чем ваять массив из 50 нужных.

Есть конечно вариант: =СУММ(СУММЕСЛИМН(....{все что есть}) - СУММ(СУММЕСЛИМН(....{все что не нужно}), но вроде как тоже громоздко получается.
Изменено: Андрей - 26.02.2021 16:21:58 (Изменены названия столбцов в соответствии с новым файлом)
 
Во, файл добавился.
Изменено: Андрей - 26.02.2021 15:35:12 (Скорректирован файл)
 
Андрей, ни хрена не понятно - сделайте нормальный пример
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Как говорил мой дедушка: "Ни хрена не понятно, но очень интересно"  :D
Ок. Завтра залью исходный файл и опишу задачу, которую ставит начальство.
 
Цитата
Андрей написал: залью исходный файл
Не надо исходный. Подготовьте небольшой пример без лишних данных
 
Цитата
Андрей написал:
Есть таблица
и вам здрасьте
вдруг правильно...
Код
=СУММПРОИЗВ($E$2:$E$92*($A$2:$A$92=M114)*($C$2:$C$92=$N$96)*ЕНД(ПОИСКПОЗ($Q$2:$Q$92;{"2a";"2b";"D"};)))
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
buchlotnik написал: СУММПРОИЗВ($E$2:$E$92*($A$2:$A$92=M114)*($C$2:$C$92=$N$96)*ЕНД(ПОИСКПОЗ($Q$2:$Q$92;{"2a";"2b";"D"}))
Я правильно понял?
ПОИСКПОЗ ищет значение ячейки в массиве {"2a";"2b";"D"}. Если находит, то присваивает номер позиции (какой номер - нам до фонаря), если нет то возвращает результат #Н/Д. Далее функция ЕНД проверяет равенство значению #Н/Д: если да, то возвращает ИСТИНА и соответственно СУММПРОИЗВ делает суммирование, а если значение ЛОЖЬ, тогда суммирование не производится.
 
Цитата
Андрей написал:
Я правильно понял?
да верно
Соблюдение правил форума не освобождает от модераторского произвола
 
Магнифико, Вы гений!!! Огромное Вам спасибо!!!
Страницы: 1
Наверх