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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.07.2011, 17:16   #1
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию Функция СУММПРОИЗВ сброс нескольких критериев

Во вложенном файле, на листе месяц формула с =СУММПРОИЗВ((BB_St=$B8)*(DD_Napr=$C $2)*(EE_Can=$C$3)*(HH_Reg=$C$4)*(II _O=МЕСЯЦ(D$1))*(CC_Sum))
Нужно, чтобы при "удалении" любого из критериев напр, канал, регион, либо всех сразу, они не учитывались. Писать с помощью "ЕСЛИ" - 7 вариантов, может попроще как то можно.
У меня получилось, только с двумя условиями, и если только одно из них сбрасывать.
Вложения
Тип файла: zip Форма_xls.zip (40.0 Кб, 28 просмотров)
88ra вне форума Ответить с цитированием
Старый 31.07.2011, 17:46   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

А как Вы хотите обозначить, что данный критерий не надо учитывать? Например, можно писать в ячейку рядом с критерием в ячейку 0 или 1.
Можно считать, что если ячейка с критерием пуста, то его не учитывать.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 31.07.2011, 17:47   #3
rexec
Пользователь
 
Аватар для rexec
 
Регистрация: 27.12.2007
Сообщений: 73
По умолчанию

Цитата:
Сообщение от 88ra Посмотреть сообщение
Во вложенном файле, на листе месяц формула с =СУММПРОИЗВ((BB_St=$B8)*(DD_Napr=$C $2)*(EE_Can=$C$3)*(HH_Reg=$C$4)*(II _O=МЕСЯЦ(D$1))*(CC_Sum))
Нужно, чтобы при "удалении" любого из критериев напр, канал, регион, либо всех сразу, они не учитывались. Писать с помощью "ЕСЛИ" - 7 вариантов, может попроще как то можно.
У меня получилось, только с двумя условиями, и если только одно из них сбрасывать.
Дополнил условия с помощи функции ЕПУСТО()
Код:
=СУММПРОИЗВ((BB_St=$B8)*((DD_Napr=$C$2)+(--ЕПУСТО($C$2)))*((EE_Can=$C$3)+(--ЕПУСТО($C$3)))*((HH_Reg=$C$4)+(--ЕПУСТО($C$4)))*(II_O=МЕСЯЦ(D$1))*(CC_Sum))
rexec вне форума Ответить с цитированием
Старый 31.07.2011, 17:53   #4
MCH
Форумчанин
 
Регистрация: 21.11.2010
Сообщений: 326
По умолчанию

Формула массива:
=СУММ((BB_St=$B8)*ЕСЛИ($C$2="";1;DD _Napr=$C$2)*ЕСЛИ($C$3="";1;EE_Can=$ C$3)*ЕСЛИ($C$4="";1;HH_Reg=$C$4)*(I I_O=МЕСЯЦ(D$1))*(CC_Sum))
MCH вне форума Ответить с цитированием
Старый 31.07.2011, 20:00   #5
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

Вариант от rexec рабочий!!! правда если все три критерия удалить, то считает многовато, но можно поэксперементировать.

Вариант с ЕСЛИ, я уже пробовал раньше, не работает.
88ra вне форума Ответить с цитированием
Старый 31.07.2011, 21:21   #6
vikttur
Участник клуба
 
Регистрация: 16.05.2010
Сообщений: 1,249
По умолчанию

Цитата:
Сообщение от 88ra Посмотреть сообщение
Вариант с ЕСЛИ, я уже пробовал раньше, не работает.
Не так пробовали. Внимательнее читайте:
Цитата:
Сообщение от MCH Посмотреть сообщение
Формула массива
Формула массива вводится тремя пальцами
Повысить уровень знаний о формулах массива

Последний раз редактировалось vikttur; 31.07.2011 в 21:24.
vikttur вне форума Ответить с цитированием
Старый 31.07.2011, 21:32   #7
rexec
Пользователь
 
Аватар для rexec
 
Регистрация: 27.12.2007
Сообщений: 73
По умолчанию

Цитата:
Сообщение от 88ra Посмотреть сообщение
Вариант от rexec рабочий!!! правда если все три критерия удалить, то считает многовато, но можно поэксперементировать.

Вариант с ЕСЛИ, я уже пробовал раньше, не работает.
Дело в том, что суммы, по которым в столбцах направление, канал сбыта, регион есть пустые ячейки, формула задваивается. Чтобы этого избежать в строках, где есть суммы надо избегать пустых ячеек в данных столбцах (направления, канал сбыта, регион).

Кстати, формула МСН работает без этих условностей )))

Последний раз редактировалось rexec; 31.07.2011 в 21:38.
rexec вне форума Ответить с цитированием
Старый 31.07.2011, 22:18   #8
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от vikttur Посмотреть сообщение
Не так пробовали. Внимательнее читайте:[/URL]
я попробовал! скопировал в ячейку формулу, которую вы написали. или не так нужно было?
88ra вне форума Ответить с цитированием
Старый 31.07.2011, 22:20   #9
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

т.е. МСН написал
88ra вне форума Ответить с цитированием
Старый 31.07.2011, 22:30   #10
88ra
Пользователь
 
Регистрация: 09.09.2009
Сообщений: 24
По умолчанию

Цитата:
Сообщение от rexec Посмотреть сообщение
Дело в том, что суммы, по которым в столбцах направление, канал сбыта, регион есть пустые ячейки, формула задваивается. Чтобы этого избежать в строках, где есть суммы надо избегать пустых ячеек в данных столбцах (направления, канал сбыта, регион).
Вот так все работает отлично!
=ЕСЛИ($C$2="";СУММПРОИЗВ((BB_St=$B8 )*(II_O=МЕСЯЦ(D$1))*(CC_Sum));СУММП РОИЗВ((BB_St=$B8)*((DD_Napr=$C$2)+(--ЕПУСТО($C$2)))*((EE_Can=$C$3)+(--ЕПУСТО($C$3)))*((HH_Reg=$C$4)+(--ЕПУСТО($C$4)))*(II_O=МЕСЯЦ(D$1))*(C C_Sum))

к этому выражению еще плюсуются пропорционально взвешенные суммы +СУММПРОИЗВ((BB_St=$B8)*((DD_Napr=$ C$2)+(--ЕПУСТО($C$2)))*((EE_Can=$C$3)+(--ЕПУСТО($C$3)))*((HH_Reg=$C$4)+(--ЕПУСТО($C$4)))*(II_O=МЕСЯЦ(D$1))*(C C_Sum))/ЕСЛИ(СУММПРОИЗВ((BB_St=$B8)*(DD_Nap r<>"")*(II_O=МЕСЯЦ(D$1))*(CC_Sum))= 0;1;СУММПРОИЗВ((BB_St=$B8)*(DD_Napr <>"")*(II_O=МЕСЯЦ(D$1))*(CC_Sum)))* СУММПРОИЗВ((BB_St=$B8)*(DD_Napr="") *(II_O=МЕСЯЦ(D$1))*(CC_Sum)))
но это еще нужно потестить.

спасибо всем!

Последний раз редактировалось 88ra; 31.07.2011 в 22:36.
88ra вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция СУММПРОИЗВ сброс одного из критериев MaxxVer Microsoft Office Excel 9 31.07.2011 16:00
Функция Суммпроизв liienna Microsoft Office Excel 5 03.07.2011 09:50
Функция: возвращение нескольких значений. Вадим Буренков Общие вопросы Delphi 2 14.05.2009 18:05
Одна функция для нескольких объектов Salomon Помощь студентам 2 25.11.2008 16:32
Пользователь вводит число критериев от 1 до 30. К каждому из введенных критериев может ввести от 1 до 10 Biowulf86 Общие вопросы Delphi 6 22.09.2007 00:24