Формула Excel: считать даты в текущем месяце -

Содержание

Общая формула

=COUNTIFS(rng,">="&EOMONTH(TODAY(),-1)+1,rng,"<"&EOMONTH(TODAY(),0)+1)

Резюме

Чтобы подсчитать даты в текущем месяце, вы можете использовать формулу на основе функции СЧЁТЕСЛИМН или СУММПРОИЗВ, как описано ниже. В показанном выше примере формула E7 выглядит так:

=COUNTIFS(dates,">="&EOMONTH(TODAY(),-1)+1,dates,"<"&EOMONTH(TODAY(),0)+1)

Где «даты» - именованный диапазон B5: B104.

Объяснение

По сути, эта формула использует функцию СЧЁТЕСЛИМН для подсчета дат в диапазоне, когда числа больше или равны первому дню текущего месяца и меньше первого дня следующего месяца. Функция EOMONTH используется для создания обеих дат на основе текущей даты, которая предоставляется функцией TODAY.

Чтобы получить первый день месяца, мы используем:

EOMONTH(TODAY(),-1)+1

Здесь функция EOMONTH возвращает последний день предыдущего месяца, к которому добавляется 1, чтобы получить первый день текущего месяца.

Чтобы получить последний день текущего месяца, EOMONTH используется следующим образом:

EOMONTH(TODAY(),0)+1

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

Чтобы подсчитать даты в предыдущем месяце:

=COUNTIFS(dates,">="&EOMONTH(TODAY(),-2)+1,dates,"<"&EOMONTH(TODAY(),-1)+1)

Чтобы подсчитать даты в следующем месяце:

=COUNTIFS(dates,">="&EOMONTH(TODAY(),0)+1,dates,"<"&EOMONTH(TODAY(),1)+1)

Альтернатива SUMPRODUCT

Вы также можете подсчитывать даты в предыдущем, текущем и следующем месяце, используя СУММПРОИЗВ, следующим образом:

=SUMPRODUCT(N(TEXT(EOMONTH(TODAY(),-1),"mmyy")=TEXT(rng,"mmyy"))) =SUMPRODUCT(N(TEXT(TODAY(),"mmyy")=TEXT(rng,"mmyy"))) =SUMPRODUCT(N(TEXT(EOMONTH(TODAY(),1),"mmyy")=TEXT(rng,"mmyy")))

Здесь даты вводятся в функцию ТЕКСТ, чтобы получить строку месяца и года, которая используется для сравнения в операции с массивом внутри СУММПРОИЗВ. Результатом является массив значений TRUE FALSE, где TRUE представляет даты в интересующем месяце.

Функция N используется для изменения этих значений на единицы и нули, а SUMPRODUCT просто суммирует и возвращает массив.

Интересные статьи...