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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2010, 00:20   #1
Yaguana
 
Регистрация: 16.08.2010
Сообщений: 4
По умолчанию SUMIF с пустыми ячейками

Добрый вечер!
Задача следующая - в одной таблице есть 3 вида критериев для списка клиентов. Во второй таблице необходимо суммировать числа не смотря на отсутствие некоторых критериев.
Если бы были все критерии = это просто SUMIF по кртериям, которые соединены 1критерий&2критерий&3критерий.
Посоветуйте, пожалуйста, что можно сделать?
Вложения
Тип файла: rar Help.rar (7.5 Кб, 16 просмотров)
Yaguana вне форума Ответить с цитированием
Старый 17.08.2010, 00:41   #2
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

А какие критерии обязательные, какие нет?
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 17.08.2010, 00:42   #3
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

Можно так, но если данных много, повиснет:

Код:
=СУММПРОИЗВ($E$2:$E$6*(($A$2:$A$6=A10)+($A$2:$A$6=""))*(($B$2:$B$6=B10)+($B$2:$B$6=""))*(($C$2:$C$6=C10)+($C$2:$C$6=""))*(($D$2:$D$6=D10)+($D$2:$D$6="")))
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN
KL (XL) вне форума Ответить с цитированием
Старый 17.08.2010, 01:08   #4
Yaguana
 
Регистрация: 16.08.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от DV68 Посмотреть сообщение
А какие критерии обязательные, какие нет?
Все критерии необязательные - они могут использоваться или не использоваться в зависимости от. Если нет никаких критериев, то данные должны суммироваться по названию клиента.
Yaguana вне форума Ответить с цитированием
Старый 17.08.2010, 01:10   #5
Yaguana
 
Регистрация: 16.08.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от KL (XL) Посмотреть сообщение
Можно так, но если данных много, повиснет:

Код:
=СУММПРОИЗВ($E$2:$E$6*(($A$2:$A$6=A10)+($A$2:$A$6=""))*(($B$2:$B$6=B10)+($B$2:$B$6=""))*(($C$2:$C$6=C10)+($C$2:$C$6=""))*(($D$2:$D$6=D10)+($D$2:$D$6="")))
Спасибо, вариант, но, к сожалению, данных будет много, около 30 тыс строк ежемесячно..
Yaguana вне форума Ответить с цитированием
Старый 17.08.2010, 01:20   #6
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

Тогда лучше сводной таблицей.
См. пример.
Вложения
Тип файла: zip Help.zip (11.0 Кб, 9 просмотров)
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN

Последний раз редактировалось KL (XL); 17.08.2010 в 01:28.
KL (XL) вне форума Ответить с цитированием
Старый 17.08.2010, 01:24   #7
kim2
Форумчанин
 
Регистрация: 23.03.2010
Сообщений: 101
По умолчанию

Может чуть пошустрее будет:
=СУММ(ЕСЛИ(МУМНОЖ((A10:D10=$A$2:$D$ 6)+($A$2:$D$6="");СТРОКА(A1:A4)^0)= 4;$E$2:$E$6))
Не массив
kim2 вне форума Ответить с цитированием
Старый 17.08.2010, 01:42   #8
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

В среднем на пять промеров разница 20%, но даже если предположить, что кол-во формул будет прежним (24), строк 30.000, а прирост во времени будет линейным, то для моего компа с MSO2010 понадобится порядка 18 сек на полный пересчет. А уж если таких листов 12..! Тут еще проблема с возможным наступлением абсолютной летучести листа/книги для MSO2003 и ранее : http://www.decisionmodels.com/calcsecretsf.htm
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN
KL (XL) вне форума Ответить с цитированием
Старый 17.08.2010, 11:34   #9
Yaguana
 
Регистрация: 16.08.2010
Сообщений: 4
По умолчанию

Огромное спасибо за помощь!

Сводник не подойдёт, к сожалению.
Цитата:
Может чуть пошустрее будет:
=СУММ(ЕСЛИ(МУМНОЖ((A10:D10=$A$2:$D$ 6)+($A$2:$D$6="");СТРОКА(A1:A4)^0)= 4;$E$2:$E$6))
Не массив
Здесь немного не поняла со СТРОКА - что делает эта формула?
Yaguana вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить из файла абзац с номером К(абзацы отделяются друг от друга одной или несколькими пустыми строками Ragnaradi Помощь студентам 21 01.05.2011 12:02
Работа с ячейками и со строками ytzm2hsD3X0HVxwl Microsoft Office Excel 1 01.01.2010 08:41
Сортировать иерархический список строк с пустыми ячейками domo22 Microsoft Office Excel 9 05.04.2009 13:37
Надо в RichEdit Удалить все строки между двумя пустыми Stas))) Компоненты Delphi 7 28.05.2007 16:49