Работа с датами в Microsoft Excel — одна из самых востребованных задач среди пользователей. Нужно ли вам подсчитать количество рабочих дней, определить сроки выполнения проектов или просто узнать, сколько записей с датами содержится в таблице — без правильных инструментов не обойтись. Многие ошибочно считают, что для этого достаточно функции СЧЁТ, но на практике всё гораздо сложнее: Excel воспринимает даты как числа, а пустые ячейки или текстовые значения могут искажать результаты.
В этой статье мы разберём 7 способов подсчёта дат — от элементарных до продвинутых, которые помогут справиться с задачей даже в самых нестандартных ситуациях. Вы узнаете, как отличать даты от текста, фильтровать их по диапазону или условию, а также избегать типичных ошибок. Неважно, работаете вы с финансовыми отчётами, календарём мероприятий или базой данных — эти методы сэкономят вам часы ручного труда.
Особое внимание уделим условному подсчёту: например, как посчитать только выходные дни или даты, попадающие в определённый квартал. Для наглядности каждый способ сопровождается скриншотами (в текстовом формате) и готовыми формулами, которые можно скопировать в свою таблицу. А если вы никогда не работали с функциями СЧЁТЕСЛИ или ДСЧЁТ — не беспокойтесь: мы объясним всё простым языком, без лишней теории.
Прежде чем перейти к практике, запомните ключевое правило: в Excel дата — это число, где 1 соответствует 1 января 1900 года. Это значит, что функции для работы с числами (например, СУММ) можно адаптировать и для дат. Но об этом позже.
1. Простой подсчёт всех дат в столбце
Начнём с базового метода, который подходит для подсчёта всех ячеек с датами в заданном диапазоне. Здесь нам поможет функция СЧЁТ, но с важной оговоркой: она учитывает только числовые значения, а даты в Excel как раз таковыми и являются.
Допустим, у вас есть столбец A с датами в формате ДД.ММ.ГГГГ (или любом другом). Чтобы посчитать их количество, используйте формулу:
=СЧЁТ(A:A)
Однако у этого способа есть критическая уязвимость: функция посчитает не только даты, но и любые другие числа в столбце. Например, если в ячейке A10 будет число 42, оно тоже попадёт в подсчёт.
Чтобы избежать ошибок, комбинируйте СЧЁТ с проверкой формата ячейки. Для этого:
- Выделите диапазон с датами.
- Нажмите
Ctrl + 1(или правой кнопкой →Формат ячеек). - Убедитесь, что выбран формат
Дата(неТекстовыйилиОбщий).
Если вам нужно посчитать даты строго в определённом формате, используйте комбинацию функций ЕЧИСЛО и ДАТАЗНАЧ. Например, для проверки формата ДД.ММ.ГГГГ:
=СУММПРОИЗВ(--(ЕЧИСЛО(ДАТАЗНАЧ(A1:A100))))
Эта формула вернёт количество ячеек, которые Excel может преобразовать в дату.
2. Подсчёт дат в заданном диапазоне
Часто требуется посчитать даты, попадающие в определённый промежуток — например, за текущий месяц или между двумя датами. Здесь на помощь приходит функция СЧЁТЕСЛИМН (или COUNTIFS в английской версии).
Предположим, у вас в столбце B перечислены даты продаж, а вам нужно узнать, сколько сделок было заключено с 1 января по 31 марта 2026 года. Формула будет такой:
=СЧЁТЕСЛИМН(B:B; ">="&ДАТА(2026;1;1); B:B; "<="&ДАТА(2026;3;31))
Разберём её по частям:
- 📅
ДАТА(2026;1;1)— создаёт дату 1 января 2026 года. - 🔢
">="&— оператор "больше или равно", объединяемый с датой через&. - 📊
СЧЁТЕСЛИМН— считает ячейки, удовлетворяющие обоим условиям (начиная с 1 января и заканчивая 31 марта).
Если диапазон дат хранится в других ячейках (например, D1 и E1), формулу можно упростить:
=СЧЁТЕСЛИМН(B:B; ">="&D1; B:B; "<="&E1)
Обратите внимание: если в ячейках с датами установлен текстовый формат, функция СЧЁТЕСЛИМН их проигнорирует. Чтобы исправить это, предварительно преобразуйте текст в даты с помощью ДАТАЗНАЧ или инструмента Текст по столбцам (Данные → Текст по столбцам).
3. Подсчёт уникальных дат
Допустим, у вас есть список дат с повторениями, и вам нужно узнать, сколько среди них уникальных значений. Например, вы ведёте журнал посещаемости и хотите посчитать дни, когда были записаны хоть какие-то данные.
Для этого подойдёт формула массива (вводится через Ctrl + Shift + Enter в старых версиях Excel):
=СЧЁТ(1/ЧАСТОТА(ЕСЛИ(A1:A100<>""; A1:A100); ЕСЛИ(A1:A100<>""; A1:A100)))
В Excel 365 или Excel 2021 можно использовать более простую функцию УНИК (или UNIQUE):
=СЧЁТ(УНИК(A1:A100))
Если вам нужно посчитать уникальные даты с учётом дополнительного условия (например, только по определённому отделу), комбинируйте УНИК с ФИЛЬТР:
=СЧЁТ(УНИК(ФИЛЬТР(A1:A100; (B1:B100="Отдел 1")*(A1:A100<>""))))
Где Ошибка #ЗНАЧ! появляется, если в диапазоне есть текстовые значения, которые Excel не может преобразовать в даты. Используйте B1:B100 — столбец с названиями отделов.
Почему формула возвращает #ЗНАЧ!?
ЕОШИБКА для фильтрации таких ячеек или проверьте формат данных.
Для визуализации уникальных дат можно создать сводную таблицу:
- Выделите диапазон с датами.
- Нажмите
Вставка → Сводная таблица. - Перетащите поле с датами в область
Строки. - В области
ЗначениявыберитеКоличество.
Сводная таблица автоматически сгруппирует одинаковые даты и покажет их количество.
4. Подсчёт рабочих и выходных дней
Если вам нужно посчитать только рабочие дни (исключая субботы и воскресенья) или, наоборот, выходные, используйте функцию ЧИСТРАБДНИ (или NETWORKDAYS) в комбинации с СЧЁТЕСЛИ.
Пример: подсчёт выходных дней в столбце C:
=СУММПРОИЗВ(--(ДЕНЬНЕД(C1:C100;2)>5))
Пояснение:
- 📅
ДЕНЬНЕД(C1:C100;2)— возвращает номер дня недели (1=понедельник, ..., 7=воскресенье). - 🔢
>5— проверяет, является ли день субботой (6) или воскресеньем (7). - 📊
СУММПРОИЗВ— суммируетИСТИНА(1) для всех выходных.
Для подсчёта рабочих дней между двумя датами (например, в проекте) используйте:
=ЧИСТРАБДНИ(D1; E1)
Где D1 — дата начала, E1 — дата окончания.
Если в вашей стране выходные дни отличаются от стандартных (например, пятница и суббота), укажите их в дополнительном параметре:
=ЧИСТРАБДНИ(D1; E1; 7)
Здесь 7 обозначает, что выходными являются суббота (6) и воскресенье (7). Для пятницы и субботы используйте 6.
5. Подсчёт дат с учётом дополнительных условий
Часто даты нужно считать не просто в диапазоне, а с учётом других критериев. Например, посчитать количество заказов в январе 2026 года только для определённого менеджера.
Для этого комбинируйте СЧЁТЕСЛИМН с несколькими условиями. Допустим:
- 📅 Столбец
A— даты. - 👤 Столбец
B— имена менеджеров. - 💰 Столбец
C— суммы заказов.
Нужно посчитать, сколько заказов на сумму больше 10 000 рублей оформил менеджер Иванов в январе 2026:
=СЧЁТЕСЛИМН(A:A; ">="&ДАТА(2026;1;1); A:A; "<="&ДАТА(2026;1;31); B:B; "Иванов"; C:C; ">10000")
Если условия более сложные (например, даты в определённом квартале или даты с конкретным днём недели), используйте вложенные функции. Например, подсчёт всех понедельников в 2026 году:
=СУММПРОИЗВ(--(ДЕНЬНЕД(A1:A100)=2); --(ГОД(A1:A100)=2026))
Для работы с динамическими диапазонами (например, "последние 30 дней") используйте комбинацию СЕГОДНЯ и СЧЁТЕСЛИ:
=СЧЁТЕСЛИ(A:A; ">="&СЕГОДНЯ()-30)
🔹 Убедитесь, что все даты в одном формате (например, ДД.ММ.ГГГГ)
🔹 Проверьте, нет ли пустых ячеек или текста в диапазоне
🔹 Если используете имена (например, "Иванов"), учтите регистр (или используйте НАЙТИ для неточного совпадения)
🔹 Для больших таблиц используйте ДСЧЁТ вместо СЧЁТЕСЛИМН — он работает быстрее-->
6. Подсчёт дат с помощью Power Query
Если вам нужно обработать большой объём данных (тысячи строк) или автоматизировать подсчёт дат из разных источников, воспользуйтесь инструментом Power Query (доступен в Excel 2016 и новее).
Алгоритм действий:
- Выделите таблицу с датами и нажмите
Данные → Из таблицы/диапазона(илиGet & Transform → From Table/Range). - В открывшемся редакторе Power Query выберите столбец с датами.
- Нажмите
Преобразовать → Формат → Дата(если формат неверный). - Добавьте новый столбец с условием:
Добавить столбец → Пользовательский. Например, для подсчёта дат в 2026 году введите формулу:= if [Дата].Year = 2026 then 1 else 0 - Сгруппируйте данные по новому столбцу (
Преобразовать → Группировка) и выберите операциюСумма. - Нажмите
Закрыть и загрузить, чтобы вернуть результаты в Excel.
Преимущества Power Query:
- 🚀 Обрабатывает миллионы строк без замедления.
- 🔄 Автоматически обновляет результаты при изменении исходных данных.
- 🔗 Может объединять данные из нескольких файлов или баз.
Если вам нужно посчитать даты по неделям или месяцам, в Power Query есть встроенные функции группировки. Например, для подсчёта по месяцам:
- Выделите столбец с датами.
- Нажмите
Преобразовать → Дата → Месяц → Название месяца. - Сгруппируйте данные по новому столбцу.
7. Подсчёт дат с помощью сводных таблиц
Сводные таблицы — один из самых гибких инструментов для анализа дат. Они позволяют не только посчитать количество дат, но и сгруппировать их по годам, кварталам или дням недели.
Пошаговая инструкция:
- Выделите диапазон с датами (включая заголовки столбцов).
- Нажмите
Вставка → Сводная таблица. - В открывшемся окне выберите, куда поместить таблицу (на новый лист или в текущий).
- В области
Строкиперетащите поле с датами. - В области
Значенияперетащите то же поле — Excel автоматически посчитает количество записей. - Щёлкните правой кнопкой по любой дате в сводной таблице и выберите
Группировка. Укажите нужный период (дни, месяцы, кварталы).
Пример группировки по кварталам:
| Квартал | Количество дат |
|---|---|
| Q1 (январь–март) | 42 |
| Q2 (апрель–июнь) | 38 |
| Q3 (июль–сентябрь) | 45 |
| Q4 (октябрь–декабрь) | 35 |
| Итого | 160 |
Сводные таблицы также позволяют фильтровать даты по условию. Например, чтобы показать только те кварталы, где количество дат превышает 40:
- Щёлкните по стрелке фильтра рядом с полем
Количество дат. - Выберите
Фильтры по значению → Больше чем.... - Введите
40и нажмитеОК.
Важно: если даты в исходной таблице имеют текстовый формат, сводная таблица не сможет их сгруппировать по временным периодам. Преобразуйте их в формат даты заранее.
Типичные ошибки и как их избежать
Даже опытные пользователи Excel допускают ошибки при работе с датами. Вот самые распространённые из них и способы их решения:
⚠️ Внимание: Если функция СЧЁТЕСЛИ возвращает неверное количество дат, проверьте формат ячеек. Текстовые даты (например, "01.01.2026" вместо настоящей даты) не будут учтены в расчётах.
Чек-лист для диагностики проблем:
- 🔍 Проблема: Формула считает не все даты.
Решение: ИспользуйтеЕЧИСЛО(ДАТАЗНАЧ(...))для проверки формата. - 🔍 Проблема: Даты отображаются как числа (например, 45341).
Решение: Примените форматДатак ячейкам (Ctrl + 1). - 🔍 Проблема: Формула возвращает #ЗНАЧ!.
Решение: Проверьте, нет ли текста в диапазоне, или используйтеЕОШИБКА. - 🔍 Проблема: Сводная таблица не группирует даты.
Решение: Убедитесь, что столбец имеет форматДата, а неТекст.
Ещё одна частая ошибка — неверный разделитель в формулах. В русскоязычной версии Excel в формулах используется точка с запятой (;), а в английской — запятая (,). Если вы копируете формулу из зарубежного источника, замените запятые на точки с запятой.
Если вы работаете с динамическими диапазонами, избегайте ссылок на целые столбцы (например, A:A), так как это замедляет вычисления. Вместо этого используйте таблицы Excel (Ctrl + T) или именованные диапазоны.
⚠️ Внимание: ФункцияДАТАЗНАЧне работает с форматом датыГГГГ-ММ-ДД(ISO). Для такого формата используйте=--ПОДСТАВИТЬ(A1; "-"; ".")перед преобразованием.
FAQ: Ответы на частые вопросы
Как посчитать количество пустых ячеек среди дат?
Используйте функцию СЧИТАТЬПУСТОТЫ:
=СЧИТАТЬПУСТОТЫ(A1:A100)
Если нужно посчитать ячейки, которые должны содержать даты, но пустые, комбинируйте её с проверкой формата:
=СУММПРОИЗВ(--(A1:A100=""); --(ЕТЕКСТ(ТИП(A2:A100))))
Можно ли посчитать даты в фильтрованном диапазоне?
Да, используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ:
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(102; A1:A100)
Где 102 — код операции для подсчёта видимых ячеек. Не забудьте применить фильтр перед использованием функции.
Как посчитать количество дат, которые старше 30 дней?
Используйте СЧЁТЕСЛИ с текущей датой:
=СЧЁТЕСЛИ(A1:A100; "<"&СЕГОДНЯ()-30)
Для подсчёта дат, которые моложе 30 дней, замените < на >.
Как посчитать уникальные даты без повторений?
В Excel 365 используйте:
=СЧЁТ(УНИК(A1:A100))
В старых версиях применяйте формулу массива:
=СУММ(1/ЧАСТОТА(A1:A100; A1:A100))
Вводится через Ctrl + Shift + Enter.
Почему функция СЧЁТЕСЛИ не считает даты?
Скорее всего, даты хранятся как текст. Проверьте формат ячеек (Ctrl + 1) и преобразуйте их в даты с помощью:
=ДАТАЗНАЧ(A1)
Если даты в формате ДД-ММ-ГГГГ, используйте:
=ДАТА(ПРАВСИМВ(A1;4); ПСТР(A1;4;2); ЛЕВСИМВ(A1;2))