Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2012, 18:28   #1
Slavatron1984
Форумчанин
 
Аватар для Slavatron1984
 
Регистрация: 04.12.2011
Сообщений: 148
По умолчанию =СУММПРОИЗВ

Добрый день, вот столкнулся с такой тягомотиной.... Есть столбец агент, столбец масло-соки, сумма$ и столбец где я вручную показываю масло или сок...

=СУММПРОИЗВ(($C$37:$C$1004="Агент МаслоСоки 03 Киш")*($F$37:$F$1004="масло")*$B$37:$B$1004)

=СУММПРОИЗВ(($C$37:$C$1004="Агент МаслоСоки 03 Киш")*($F$37:$F$1004="СОК")*$B$37:$B$1004)

Чтоб я вручную не отмечал сок это или масло, можно ли модернезировать формулу? Есть к примеру масло у них одинаковое часть наименования "Масло de F/S FLORIS"
Масло F/S FLORIS 0.955L
Масло F/S FLORIS 3L
Масло F/S FLORIS 5L
и есть сок у них тоже одинаковое часть наименования "Odesskiy сок"
Odesskiy сок 0,2l Nectar de capsuna, mere si coacaze negre cu pulpa
Odesskiy сок 0,2l Nectar de mere limpezit
Odesskiy сок 0,2l Nectar de piersici-mere cu pulpa
Odesskiy сок 0,2l Nectar de struguri-mere limpezit
Odesskiy сок 0,95l Nectar morcov si mere cu pulpa
Odesskiy сок 0,95l Nectar multivitamine cu pulpa
Odesskiy сок 1,5l Nectar de piersici-mere cu pulpa
Odesskiy сок 1,5l Nectar morcov si mere cu pulpa
Odesskiy сок 2,0l Nectar de mere limpezit
Odesskiy сок 2,0l Nectar de piersici-mere cu pulpa
Odesskiy сок 2,0l Nectar de struguri-mere limpezit
Odesskiy сок 2,0l Suc de rosii cu sare

Я пытаюсь изменить формулу, искал по части названия, через * но не получается, чтоб вручную не указывать в отдельном столбце, масло или сок, чтоб в итоге суммировать...

=СУММПРОИЗВ(($C$37:$C$1003="Агент МаслоСоки 01 Киш")*($F$37:$F$1003="*Масло F/S FLORIS*")*$B$37:$B$1003)
=СУММПРОИЗВ(($C$37:$C$1003="Агент МаслоСоки 01 Киш")*($F$37:$F$1003="*Odesskiy сок*")*$B$37:$B$1003)
Slavatron1984 вне форума Ответить с цитированием
Старый 27.01.2012, 18:44   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

как-то так:
Код:
=СУММПРОИЗВ(($C$37:$C$1003="Агент МаслоСоки 01 Киш")*(длстр($F$37:$F$1003)<длстр(подставить($F$37:$F$1003;"Масло";"")))*$B$37:$B$1003)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.01.2012, 20:24   #3
Slavatron1984
Форумчанин
 
Аватар для Slavatron1984
 
Регистрация: 04.12.2011
Сообщений: 148
По умолчанию

=СУММПРОИЗВ(($C$37:$C$1003="Агент МаслоСоки 01 Киш")*(ДЛСТР($A$37:$A$1003)<ДЛСТР(П ОДСТАВИТЬ($A$37:$A$1003;"сок";""))) *$B$37:$B$1003)

Игорь попробовал но не запускается, где подвох?
Вложения
Тип файла: rar пример сок масло.rar (11.5 Кб, 26 просмотров)
Slavatron1984 вне форума Ответить с цитированием
Старый 27.01.2012, 20:25   #4
Slavatron1984
Форумчанин
 
Аватар для Slavatron1984
 
Регистрация: 04.12.2011
Сообщений: 148
По умолчанию

Может, что то я проворонил?
Slavatron1984 вне форума Ответить с цитированием
Старый 27.01.2012, 21:00   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

извините, знак < надо в другую сторону развернуть, вот так: > (в оригинальной формуле у меня было <>, я решил ее сократить на символ, не тот удалил)))
получились те же 163521 и 240.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 27.01.2012, 21:59   #6
Slavatron1984
Форумчанин
 
Аватар для Slavatron1984
 
Регистрация: 04.12.2011
Сообщений: 148
По умолчанию

Спасибо большое Игорь, еще один прием в мою библиотеку знаний... Вы хороший учитель!!!
Slavatron1984 вне форума Ответить с цитированием
Старый 30.01.2012, 02:25   #7
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Код:
=СУММПРОИЗВ(--($C$37:$C$1003="Агент МаслоСоки 01 Киш");--ЕЧИСЛО(ПОИСК("сок";$A$37:$A$1003));$E$37:$E$1003)
vikttur вне форума Ответить с цитированием
Старый 30.01.2012, 12:01   #8
Slavatron1984
Форумчанин
 
Аватар для Slavatron1984
 
Регистрация: 04.12.2011
Сообщений: 148
По умолчанию

Спасибо!!! За предложенный второй вариант...Подскажите, какую роль в формуле выполняет "--"
Slavatron1984 вне форума Ответить с цитированием
Старый 30.01.2012, 12:22   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

операция сравнения в скобках или функция ЕЧИСЛО вернут значения типа ИСТИНА / ЛОЖЬ.
Значения ИСТИНА / ЛОЖЬ в арифметических операциях выступают как 1 и 0 соответственно. первый минус из ИСТИНА делает -1, второй из -1 делает 1. и вот эти уже единички / нолики умножаются, суммируются внутри СУММПРОИЗВ.

как-то так...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 30.01.2012, 13:29   #10
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Немного поправлю Игоря. Возможно, поправлю неправильно
Дело в том, что бинарное отрицание ("--") работает быстрее математических операций, поэтому, возможно, его логика работы отличается от простого преобразования -1*-1=1
Можно было записать
Код:
=СУММПРОИЗВ(-условие1;-условие2;диапазон)
вместо
Код:
=СУММПРОИЗВ(--условие1;--условие2;диапазон)
но в первом случае происходит еще и перемножение отрицательных значений, во втором только сравнение условий.

P.S. Объяснение тоже нечеткое и хромоногое.
vikttur вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
=СУММПРОИЗВ не осилил ее возможности Slavatron1984 Microsoft Office Excel 3 22.12.2011 15:17
Усложнение функции СУММПРОИЗВ alexsampler Microsoft Office Excel 2 09.11.2011 16:48
Функция Суммпроизв liienna Microsoft Office Excel 5 03.07.2011 09:50
формула суммпроизв. запись в ячейку gsg Microsoft Office Excel 3 18.11.2010 09:16
Как преоброзовать формулу,=СУММПРОИЗВ Konstantin Yu. Microsoft Office Excel 0 07.08.2009 14:18