Страницы: 1
RSS
Вычисление суммы по нескольким условиям (нестандарт)
 
Необходимо посчитать сумму диапазона при выполнении одного ИЛИ второго условия, при этом попадающие под условия аргументы должны учитываться только один раз. Треть интернета перелапатил, ничего полезного либо мне понятного не нашел. Подскажите пожалуйста решение.
Варианты, до которых дошел сам, не работают корректно:
=СУММЕСЛИМН(AG27:FA27;AG26:FA26;"=*13*")+СУММЕСЛИМН(AG27:FA27;AG26:FA26;"=*14*") - считает попадающие под условия аргументы несколько раз, сумма получается больше действительной.
=СУММЕСЛИМН(AG27:FA27;AG26:FA26;"=*13*";AG26:FA26;"=*14*") - считает аргументы, одновременно содержащие и *13*, и *14*. Одиночные значения *13* или *14* не учитывает. Сумма получается меньше действительной.
 
навскидку: не ;"=*13*" а ;"=13*"
Вполне такой нормальный кинжальчик. Процентов на 100
 
Цитата
novel86 написал: Одиночные значения *13* или *14* не учитывает
потому что подразумевается, что должен быть текст в ячейках, а не числа 13 и 14. Если установите везде формат текстовый - будет считать все.
Так же, если надо и 13 и 14 суммировать - значит надо использовать либо СУММПРОИЗВ, либо уже приведенную Вами связку двух СУММЕСЛИМН(хотя зачем СУММЕСЛИМН, если условие одно? :) )
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
К сожалению, у меня в файле установлен текстовый формат- не работает.

Цитата
китин написал: навскидку: не ;"=*13*" а ;"=13*"
Не факт, что условие начинается с 13, да и разницы особой не вижу.
 
Подобный вопрос не первый раз встречается на форуме, но ответа до сих пор нет. Неужели непосильная задача для exel!
 
Цитата
The_Prist написал: если условие одно?  
Не принципиально же:)

Цитата
The_Prist написал:либо СУММПРОИЗВ
Как это сделать?
 
с Доп строкой пойдет?
Лень двигатель прогресса, доказано!!!
 
Цитата
novel86 написал:
вопрос не первый раз встречается на форуме, но ответа до сих пор нет
Да ладно? СУММПРОИЗВ не раз обсуждалась. Какого ответа нет? Какой подобный вопрос был, но не было ответа? Можно взглянуть? А то может мы не понимаем чего-то?

Функция СУММЕСЛИ, а так же СУММЕСЛИ по двум критериям
там я подробно описывал работу СУММПРОИЗВ, в том числе с условиями ИЛИ. Чтобы найти часть текста, придется делать нечто вроде:
=СУММПРОИЗВ((НЕ(ЕОШ(ПОИСК("13";AG26:FA26)))+(НЕ(ЕОШ(ПОИСК("13";AG26:FA26))))*AG27:FA27)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
а Или("=*13*";"=*14*") не работает?
не нужно оскорблять.
 
Цитата
Сергей написал: с Доп строкой пойдет?
Спасибо за вариант, но легче на калькуляторе посчитать, чем там все форматировать.
 
Цитата
The_Prist написал: СУММПРОИЗВ не раз обсуждалась.
На сайте в комментариях к статьям встречал мой вопрос один в один, он остался без ответа.
 
Цитата
Александр Сергеевич написал: а Или("=*13*";"=*14*") не работает?
точка с запитой разделяет аргументы в формуле, на сколько я знаю.
Нет, не работает.
 
Цитата
The_Prist написал: =СУММПРОИЗВ((НЕ(ЕОШ(ПОИСК("13";AG26:FA26)))+(НЕ(ЕОШ(ПОИСК("13";AG26:FA26))))*AG27:FA27)
8-0
Первый раз вижу сочетание этих букв: НЕ, ЕОШ
Крутовато для меня))
Изменено: novel86 - 12.01.2016 17:48:07
 
А какое конкретно условие требуется?
Все числа где в шапке содержится 13 или 14? Или начинается с 13 или 14?
Формула дает результат 26, но она считает только те что начитаются с 13 или 14.

Код
=СУММЕСЛИ(B2:AG2;"13*";B3:AG3)+СУММЕСЛИ(B2:AG2;"14*";B3:AG3)
Изменено: Finswimmer - 12.01.2016 17:25:11
 
Цитата
novel86 написал: в комментариях к статьям встречал мой вопрос один в один
комментарии к статье и форум - разные вещи. Вы же написали не про статью, а про форум:
Цитата
novel86 написал: вопрос не первый раз встречается на форуме
Отсюда и непонимание :) На форуме СУММПРОИЗВ мелькала не раз и не два.
А по поводу ЕОШ и НЕ - это стандартные функции, про их назначение можете прочитать в справке.
И я там ошибся - во второй части надо вместо 13 поставить 14(а то одно и то же получается).

Для данных из файла в первом сообщении такая формула должна подойти:
=СУММПРОИЗВ(((НЕ(ЕОШ(ПОИСК("13";B2:AG2)))+НЕ(ЕОШ(ПОИСК("14";B2:AG2))))<>0)*B3:AG3)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
novel86, можно писать ответы в одном сообщении? Ну, в двух... Что это за очереди? На заметку: свое сообщение можно дополнить.
Не тема, а беседа с собой...
 
Цитата
Finswimmer написал: А какое конкретно условие требуется?
Вот в том-то и загвоздка: не обязательно начинается с 13 или 14. Я не зря в описании указал именно *13* или *14*. По идеи мне нужно так: =СУММЕСЛИМН(AG27:FA27;AG26:FA26;"=*13*" или "=*14*") - вот как это реализовать...?
При чем *13* или *14* могут быть в самых различных вариациях. И отдельно, и вместе, и в начале, и в конце, и среди другого текста и т. д.
Изменено: novel86 - 12.01.2016 17:35:17
 
См. сообщение #16  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
novel86, следуйте от обратного:
1) суммируйте всё
2) из суммы вычтите всё что НЕ содержит 13 и 14
Что-то типа:
=СУММ(AG27:FA27)-СУММЕСЛИМН(AG27:FA27;AG26:FA26;"<>*13*";AG26:FA26;"<>*14*")

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
The_Prist написал: =СУММПРОИЗВ(((НЕ(ЕОШ(ПОИСК("13";B2:AG2)))+НЕ(ЕОШ(ПОИСК("14";B2:AG2))))<>0)*B3:AG3)
Формула работает, спасибо большое. Логику примерно понимаю, синтаксис- лес дремучий, пока. Буду штудировать =СУММПРОИЗВ. Спасибо!
 
Цитата
JayBhagavan написал: следуйте от обратного:
ГЕНИАЛЬНО!  :idea:
Я верил, что решение, которое будет понятно моим мозгам, есть! Спасибо

Пойду искать на сайте того парня, который тоже искал решение идентичного вопроса. Обрадую бедолагу)
Изменено: novel86 - 12.01.2016 18:38:12
 
=СУММПРОИЗВ(B3:F3*((НЕ(ЕОШ(ПОИСК("13";B2:F2;1)))+НЕ(ЕОШ(ПОИСК("14";B2:F2;1))))>0))
Проверьте
не нужно оскорблять.
Страницы: 1
Наверх