powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Переменные в формуле
20 сообщений из 20, страница 1 из 1
Переменные в формуле
    #34644755
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть формула
=СУММПРОИЗВ((БазаКл!$B$4:$B$1500=B7)*ИНДЕКС((БазаКл!$AO$4:$AO$1500;БазаКл!$AT$4:$AT$1500);;;ЕСЛИ(B6="Факт Май";1;ЕСЛИ(B6="Факт Средний";2))))

В которой две составляющих.
1) (БазаКл!$B$4:$B$1500=B7) . В ячейке B7 наименование отдела продаж, т.е. выбрать только определённый отдел продаж. Проблема в том как лучше сделать чтобы выбирало весь столбец т.е. если в ячейки выбрать "всего" (по всем отделам), то чтобы истинное утверждение было для всего диапазона.

2) ИНДЕКС((БазаКл!$AO$4:$AO$1500;БазаКл!$AT$4:$AT$1500);;;ЕСЛИ(B6="Факт Май";1;ЕСЛИ(B6="Факт Средний";2))) . Тут уже с решением в отличии от первого варианта. Но межет кто лучше предложит Нужно в зависимости от значения ячейки B6 Подставлять в формулу различные диапазоны. Пока сделал так.

Формула состоит не только из этих 2-х условий могут быть ещё несколько, поэтому и хочется чтобы она была побыстрее и поменьше (по возможности).
Например так, если глупость не судите сразу!
=СУММПРОИЗВ((БазаКл!$AJ$4:$AJ$1500="нестабильные")*(БазаКл!$AQ$4:$AQ$1500>0)*(БазаКл!$AR$4:$AR$1500<>"нов")*(БазаКл!$AE$4:$AE$1500="*")*(БазаКл!$B$4:$B$1500=B7)*ИНДЕКС((БазаКл!$AO$4:$AO$1500;БазаКл!$AT$4:$AT$1500);;;ЕСЛИ(B6="Факт Май";1;ЕСЛИ(B6="Факт Средний";2))))

Сводные таблицы чур не предлагать и макросы наверное тоже (не тот случай)!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645063
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока решение такое

=СУММПРОИЗВ((ЕСЛИ(B7="Всего";"Всего";ОтделПродаж)=B7)*ЕСЛИ(B6="Факт Май";ФактМай;ЕСЛИ(B6="Факт Средний";ФактСредний)))
Именованные диапазоны: ОтделПродаж
ФактМай
ФактСредний
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645140
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуй буду держать вас в курсе вдруг, да повезёт и какой-нибуть косячок заметите.
Или вообще что-нибуть дельное подскажите.
На текущий момент Прототип формулы такой

=СУММПРОИЗВ((ВЫБОР($C$7;"Всего";ОтделПродаж)=$B$7)*(ВЫБОР($C$8;"Всего";ГруппаПродукта)=$B$8)*ВЫБОР($C$6;ФактМай;ФактСредний))

В ячейках C6-C8. Проверяются условия и выдается либо 1, либо 2 для того чтобы в выбор поставить!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645441
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример подкинь, а то мне формулы на русском разбирать долго и лень :-)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645642
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо что откликнулся
Выкладываю пример!
Посмотри если что ещё формулу расчёта среднего факта на листе исх
Заранее спасибо!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645644
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadСпасибо что откликнулся
Выкладываю пример!
Посмотри если что ещё формулу расчёта среднего факта на листе исх
Заранее спасибо!

а вот и он
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645704
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала упростим:

=ЕСЛИ(ЕНД(СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;C4:H4>0;0)));0;СУММ(ИНДЕКС(C4:H4;;СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;C4:H4>0;0))):H4)/ЧИСЛСТОЛБ(ИНДЕКС(C4:H4;;СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;C4:H4>0;0))):H4))

до:

=ЕСЛИ(СЧЁТ(C4:H4);СРЗНАЧ(ИНДЕКС(C4:H4;ЕСЛИ(C4<>"";1;СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;C4:H4>0;0)))):H4);0)

завтра посмотрю саму задачу :-)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645708
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон на предыдущее наплевать и забыть - не ту формулу скопировал, вот правильная версия:

=ЕСЛИ(СЧЁТ(C4:H4);СУММ(C4:H4)/(ЧИСЛСТОЛБ(C4:H4)-СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;C4:H4>0;0))+1);0)

или

{=ЕСЛИ(СЧЁТ(C4:H4);СУММ(C4:H4)/(ЧИСЛСТОЛБ(C4:H4)-ПОИСКПОЗ(ИСТИНА;C4:H4>0;0)+1);0)}

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645741
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)пардон на предыдущее наплевать и забыть - не ту формулу скопировал, вот правильная версия:

=ЕСЛИ(СЧЁТ(C4:H4);СУММ(C4:H4)/(ЧИСЛСТОЛБ(C4:H4)-СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;C4:H4>0;0))+1);0)

или

{=ЕСЛИ(СЧЁТ(C4:H4);СУММ(C4:H4)/(ЧИСЛСТОЛБ(C4:H4)-ПОИСКПОЗ(ИСТИНА;C4:H4>0;0)+1);0)}

KL
[MVP - Microsoft Excel]

Прикольно, спасибо. Мог бы и сам догадаться не диапазон вычислять а найти количество на которое нужно поделить общую сумму.
И никак не привыкну условие выпонимости покороче проверять. бубухну всю формулу в проверку на ошибки. Вообщем грешен
Только навреное
=ЕСЛИ(Сумм(C4:H4);...
вместо
=ЕСЛИ(СЧЁТ(C4:H4);...
А иначе на нулевые значения ошибку выдаёт!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645746
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadТолько навреное
=ЕСЛИ(Сумм(C4:H4);...
вместо
=ЕСЛИ(СЧЁТ(C4:H4);...
А иначе на нулевые значения ошибку выдаёт!

Да, если есть вероятность ввода нулей при отсутствии других значений.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645770
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне представляется оптимальным прилагаемое решение.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645842
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)Мне представляется оптимальным прилагаемое решение.

KL
[MVP - Microsoft Excel]

Ты ничего не напутал, там лежит мой исходный файл!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645844
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad KL (XL)Мне представляется оптимальным прилагаемое решение.

KL
[MVP - Microsoft Excel]

Ты ничего не напутал, там лежит мой исходный файл!

Если ты насчёт среднего, тогда пардон - не туда смотрел. Думал оптимальное решение задачки выложил!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645956
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadТы ничего не напутал, там лежит мой исходный файл!

DeggasadЕсли ты насчёт среднего, тогда пардон - не туда смотрел. Думал оптимальное решение задачки выложил!

Ничего не понял... Ты что, не видишь мое решение справа от твоего? Оно заключается в использовании функции БДСУММ и соответственном транспонировании ранга с критериями. Вместо текста "Всего" в моем решении надо использовать пусто, остальное все тоже самое.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34645981
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)
Ничего не понял... Ты что, не видишь мое решение справа от твоего? Оно заключается в использовании функции БДСУММ и соответственном транспонировании ранга с критериями. Вместо текста "Всего" в моем решении надо использовать пусто, остальное все тоже самое.
KL
[MVP - Microsoft Excel]

Хе-хе...
Смотрел до этого на компе 15-дюймов монитор и разрешение 800*600
Попросту не заметил так как не прокручивал вправо.
Теперь вижу...Отличная идея. И вот же опять какая история я раньше сам активно пользовался формулами БД в таких случаях, а теперь вот всё больше суммпроизв() , которой ты меня и научил. Теперь вот по новой открыл глаза на БДФормулы.
Вообщем РЕСПЕКТ и УВАЖУХА тебе KL (XL) за то что ты помогаешь! Да и советы всегда не в бровь, а в глаз.
...
Рейтинг: 0 / 0
Переменные в формуле
    #34646003
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут у меня сложность одна с применением этой формулы, я не все условия объяснил наверное.
Посмотри файл если сможешь. Я там всё указал!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34646004
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadТут у меня сложность одна с применением этой формулы, я не все условия объяснил наверное.
Посмотри файл если сможешь. Я там всё указал!
...
Рейтинг: 0 / 0
Переменные в формуле
    #34646033
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deggasad...а теперь вот всё больше суммпроизв() ...

Осторожнее с этим, ты уже видел в соседней теме во что может вылиться пристрастие к одному инструменту, даже очень хорошему :-))))

А если серьезно, то с ситуациями, подобными той, мне приходится сталкиваться довольно часто в англоговорящих форумах. Самыми яркими мне представляются два:

1) Набег фанатика Access: http://tinyurl.com/2len8m
2) Реплики одного француза [или канадца] фанатика СУММПРОИЗВ() со ссылкой на собственный сайт. Там он призывал всех забыть про функции СЧЁТЕСЛИ и СУММЕСЛИ, фильтры и сводные таблицы и использовать лишь СУММПРОИЗВ(). Ссылка у меня к несчастью не сохранилась.

DeggasadВообщем РЕСПЕКТ и УВАЖУХА тебе KL (XL) за то что ты помогаешь! Да и советы всегда не в бровь, а в глаз.

Спасибо на добром слове, но и ты и сам хорош, в смысле сам ты это слово :D

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34646098
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeggasadТут у меня сложность одна с применением этой формулы, я не все условия объяснил наверное.
Посмотри файл если сможешь. Я там всё указал!

Посмотри это.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
Переменные в формуле
    #34646278
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)
Посмотри это.
KL
[MVP - Microsoft Excel]

1 и 2 понятно.
3 не понял как расширенный фильтр может вернуть сумму. Ведь он возвращает диапазон.
Но это я чисто теоритически, т.к. макросы мне лучше не использовать чтобы избежать лишних проблем (Либо зазвонят - что не так уж плохо, просто беспокойно; либо просто признают идею бредовой - что гораздо хуже, ибо жаль потраченного времени). Я может и не прав, но я стараюсь использовать макросы и сводные таблицы только в тех случаях когда имею непосредственное влияние на людей, которые с этими файлами будут работать, либо когда с человеком есть чёткая договорённость что это будет с макросами, ну конечно же для себя любимого.
4 сводные таблицы отверг в самом начале т.к. посчитал их излишними и неудобными. В данном случае всё это делается для того чтобы нарисовать кучу красивучих диаграм и условий довольно много разных поэтому одной сводной не обойдёшся. Тем более придётся делать обновление сводной макросом, а использовать макрос только для обновления сводной та ещё блаж... Да и как писал выше не хотелось бы их использовать.

Поэтому остаётся два способа на мой взгляд
1) Суммпроизв()
2) БДСУММ()
наверное завтра утром если ничего не помешает переделаю на БДССУМ всё. Мне кажется так будет понятнее для конечного пользователя. Меня Шеф попросил по быстрому сделать шаблон, который он отдаст на заполнение соответствующим структурам и потом будет только диаграммки смотреть. Я его сделал и всё вроде работает, но как всегда захотелось совершенства.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Переменные в формуле
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]