Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Читайте новые сообщения форума форума в RRS-агрегаторах

Автор Тема: одсчет значений формулой "суммпроизв" по части слова  (Прочитано 249 раз)

0 Пользователей и 1 Гость просматривают эту тему.

alfatboy

  • Пользователь
  • **
  • Уважение: +1/-0
  • Оффлайн Оффлайн
  • Сообщений: 20

Добрый день!
Необходимо произвести подсчет значений за определенный период.
Использую формулу:
=СУММПРОИЗВ(($C$13:$C$19>=$B$1)*($C$13:$C$19<=$C$7)*($B$13:$B$19=B8)*($A$13:$A$19<>""))
В ячейке В8 - указано наименование по которому необходим подсчет АО "Фирма".
Проблема в том, что в таблице имеются разные наименования:
- АО "Фирма" ген.подряд ООО "Рога и копыта"
- АО "Спец" суб.подряд АО "Фирма"
и при этом необходимо подсчитать все ячейки где указано АО "Фирма"
пробовал изменить код на:
=СУММПРОИЗВ(($C$13:$C$19>=$B$1)*($C$13:$C$19<=$C$7)*($B$13:$B$19="*Фирма*")*($A$13:$A$19<>""))не работает.
Как нужно прописать значение в формуле, чтобы подсчет был по нужной части слова "Фирма"?
Пример во вложении.
Записан

Serge 007

  • Администратор
  • Ветеран
  • *****
  • Уважение: +341/-0
  • Оффлайн Оффлайн
  • Сообщений: 3 033
    • Мир Excel

Здравствуйте

Вот эту часть формулы (B14:B20="*Фирма*") замените на ЕЧИСЛО(ПОИСК(B8;B14:B20))
Т. е. вместо формулы =СУММПРОИЗВ(($C$14:$C$20>=$B$1)*($C$14:$C$20<=$C$7)*($B$14:$B$20="*Фирма*")*($A$14:$A$20<>"")) должна быть формула =СУММПРОИЗВ((C14:C20>=B1)*(C14:C20<=C7)*ЕЧИСЛО(ПОИСК(B8;B14:B20))*(A14:A20<>""))
Записан
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Яндекс-деньги: 41001419691823 | WMR:126292472390

alfatboy

  • Пользователь
  • **
  • Уважение: +1/-0
  • Оффлайн Оффлайн
  • Сообщений: 20

Спасибо работает, правда не понятно как)))
Записан

Serge 007

  • Администратор
  • Ветеран
  • *****
  • Уважение: +341/-0
  • Оффлайн Оффлайн
  • Сообщений: 3 033
    • Мир Excel

...работает...не понятно как)))
:)

Функция ПОИСК() находит первое вхождение искомого текста (в ячейке В8 текст "АО "Фирма"") в просматриваемом массиве (B14:B20)
При этом возвращается массив значений {1:1:1:1:1:1:22}, т.к. в ячейках B14:B19 текст "АО "Фирма"" будет найден на первой позиции, а в ячейке В20 - на 22-й

В14: АО "Фирма"
В15: АО "Фирма"
В16:АО "Фирма"
В17: АО "Фирма"
В18: АО "Фирма" ген.подряд ООО "Рога и копыта"
В19: АО "Фирма" ген.подряд ООО "Рога и копыта"
В20: АО "Спец" суб.подряд АО "Фирма""

Далее функция ЕЧИСЛО() преобразует массив {1:1:1:1:1:1:22} в массив {ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА}, т.к. во всех ячейках поиска есть вхождения искомого текста и есть ЧИСЛА позиций вхождения

Далее функция СУММПРОИЗВ()
(можно также использовать и функцию СУММ(), но в этом случае формулу необходимо будет ввести как формулу массива нажатием сочетаний клавиш Ctrl+Shift+Enter)
, преобразовывает массив {ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА:ИСТИНА} в массив {1:1:1:1:1:1:1} , т. к. значение ИСТИНА эквивалентно значению 1

Ну и наконец, перемножив все массивы в формуле, функция СУММПРОИЗВ() возвращает их сумму
Записан
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Яндекс-деньги: 41001419691823 | WMR:126292472390
 



Темы без ответов

09.08.2019 14:09 Макрос для заполнения таблиц через форму 4999
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 4414
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 5973
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 3117
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 4917
15.03.2017 15:45 автозамена картинок PowerPoint 3838
11.03.2017 13:43 Изменить нумерацию страниц 3765
07.02.2017 18:43 Блокировка ячеек по наступлению даты 2880
28.08.2016 19:29 Одинаковые заголовки после обновления оглавления 3379
07.08.2016 17:33 Определить нумерацию как элемент стиля 3594





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.113 секунд. Запросов: 108.