Написание формулы Excel или макроса VBA, который возвращает количество вызовов определенного типа, выполненных за неделю / месяц / последние 60 дней / последние 90 лет - PullRequest
0 голосов
/ 28 января 2019

У меня есть лист, который обновляется в течение дня, в котором перечислены три типа звонков, которые совершаются за день: холодный, возврат, обновление.Данные для каждого типа вызовов хранятся на отдельном листе в одном файле Excel через внешние соединения с источниками данных.Для каждого звонка записывается дата.

Мне нужно составить таблицу, которая показывает, сколько вызовов каждого типа было сделано сегодня, за последнюю неделю (только в рабочие дни), за последний месяц и за это же время за прошедший месяц.

У меня есть следующая формула, которая позволяет мне возвращать все вызовы определенного типа, которые произошли сегодня, но возникают проблемы, включая диапазон дат.Я тоже пытался составить формулу для этого, но она не работает.

* Формулы, показанные ниже, предназначены только для холодных вызовов.Я подкорректирую формулы для возвратов и обновлений.

Формула для получения количества вызовов сегодня (работает нормально):

=SUM(COUNTIFS(MTD_Calls_Made[Type],{"Cold"},MTD_Calls_Made[Date],TODAY()))

Формула для получения номера вызова, выполненного за диапазон дат (не работает):

=SUM(COUNTIFS(MTD_Calls_Made[Type], {"Cold"}, MTD_Calls_Made[Date],TODAY()-1),COUNTIFS(MTD_Calls_Made[Type][Date],TODAY()-2),COUNTIFS(MTD_Calls_Made[Type][Date],TODAY()-3),COUNTIFS(MTD_Calls_Made[Type][Date],TODAY()-4),COUNTIFS(MTD_Calls_Made[Type][Date],TODAY()-5),COUNTIFS(MTD_Calls_Made[Type][Date],TODAY()-6),COUNTIFS(MTD_Calls_Made[Type][Date],TODAY()-7))

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Вот очень простая функция, которая технически работала бы

=COUNTIFS(A:A,"cold",B:B,">=" &NOW()-30)

, просто заменив A:A на местоположение столбца «status» (т. Е. Cold, return, update).а затем замените B:B на местоположение столбца «Дата», статус которого был обновлен.Наконец, замените «холодный» статус, который вы хотите искать.

edit: я забыл упомянуть, замените 30 в конце формулы на правильный период времени, который вы хотите захватить (т.е.30 = средний месяц, 60 = 60 дней и т. Д.)

0 голосов
/ 28 января 2019

Ваша SUM() функция избыточна в вашей первой формуле, так как COUNTIFS вернет одно число, так что вы можете устранить это.Кроме того, я не могу себе представить, что вам действительно нужны эти скобки.

Теперь, чтобы ответить на ваш вопрос, параметр criteria в COUNTIFS предполагает оператор =, если не указано иное.Чтобы использовать COUNTIFS для диапазона дат, вам нужно добавить несколько операторов и границы верхнего / нижнего пределов:

=COUNTIFS(MTD_Calls_Made[Type],"Cold",MTD_Calls_Made[Date],"<=" & TODAY(),MTD_Calls_Made[Date],">=" & TODAY()-7)

Это даст вам общее число "Cold" за сегодняшний день и 7 дней.назад.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...