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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2011, 17:33   #1
alexsampler
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 86
По умолчанию Суммирование диапазона по условиям состоящим в свою очередь из двух и более признаков

Уважаемые программисты и знатоки Excel - есть такая задача!
MS Excel 2003 SP3
Необходимо суммировать значение одного столбца по двум условиям других столбцов, причем условия состоят из двух или более признаков
Задачу нужно решить в одно действие с помощью функций.
Спасибо!!!
Вложения
Тип файла: rar Пример.rar (313.2 Кб, 21 просмотров)
alexsampler вне форума Ответить с цитированием
Старый 22.08.2011, 18:30   #2
gluk_fm
Форумчанин
 
Аватар для gluk_fm
 
Регистрация: 09.06.2011
Сообщений: 515
По умолчанию

Вот самый простой вариант который я нашёл делается 5 минут
Вложения
Тип файла: rar Пример.rar (308.5 Кб, 30 просмотров)
gluk_fm вне форума Ответить с цитированием
Старый 22.08.2011, 18:35   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
есть ли что то более красивое и менее грамоздкое чем СУММПРОИЗВ ...
так вам красота и краткость нужна, или чтобы всё нормально и быстро считалось?

Можно пользовательскую функцию в ячейке сделать - которая будет принимать в качестве параметров числа 451;455;458, 840 и 978 (или любой другой набор), и выдавать результат.
Но не факт, что макросы вас устроят...
Чем не устраивает СуммПроизв ?
EducatedFool вне форума Ответить с цитированием
Старый 22.08.2011, 20:53   #4
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Код:
=СУММПРОИЗВ(ЕЧИСЛО(ПОИСКПОЗ($A$1:$A$55;{451:455:458};))*ЕЧИСЛО(ПОИСКПОЗ($B$1:$B$55;{840:978};))*$C$1:$C$55)
MCH вне форума Ответить с цитированием
Старый 22.08.2011, 21:16   #5
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Еще вариант:
Код:
=СУММПРОИЗВ(ЗНАК(МУМНОЖ(--($A$1:$A$55={451;455;458});{1:1:1})*МУМНОЖ(--($B$1:$B$55={840;978});{1:1}))*$C$1:$C$55)
MCH вне форума Ответить с цитированием
Старый 23.08.2011, 01:52   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

или так:
Код:
=БДСУММ(A:C;"С";E1:F6)
полный пример во вложении.
добавил шапку к Вашей таблице, правее дописал критерии отбора из базы, еще правее собственно искомое значение суммы. БДСУММ позволяет легко пользоваться довольно сложными критериями отбора, в формуле надо будет изменить только диапазон критериев, хотя это можно автоматизировать с помощью ИНДЕКС
Вложения
Тип файла: rar КнигаR698.rar (83.1 Кб, 27 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 23.08.2011 в 01:56.
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Суммирование с неизвестным окончанием диапазона Stalin37 Microsoft Office Excel 7 21.07.2010 12:00
Суммирование ячеек с заданного диапазона листов skivpokemon Microsoft Office Excel 18 05.06.2010 01:14
Объединение двух и более файлов Morphling Помощь студентам 5 10.02.2010 10:09
Как можно более точное суммирование kzld Microsoft Office Excel 12 10.02.2010 06:23
Суммирование НЕ диапазона, а конкретный ячеейк через VBA Артур Иваныч Microsoft Office Excel 8 23.11.2009 11:49