Как в Excel посчитать количество ячеек с определённой датой: от СЧЁТЕСЛИ до Power Query

Работа с датами в Microsoft Excel — одна из самых востребованных задач среди аналитиков, бухгалтеров и менеджеров. Часто требуется узнать, сколько раз встречается конкретная дата в таблице: будь то сроки оплаты, даты заключения договоров или дни рождения сотрудников. Казалось бы, простая операция, но многие пользователи теряются, когда нужно посчитать не просто количество ячеек, а именно те, что содержат точную дату или попадают в заданный диапазон.

В этой статье мы разберём 5 проверенных способов подсчёта ячеек с датами — от базовых функций СЧЁТЕСЛИ до продвинутых инструментов вроде Power Query. Вы узнаете, как избежать типичных ошибок (например, когда Excel воспринимает дату как текст), как работать с динамическими диапазонами и даже как автоматизировать процесс с помощью VBA. А в конце вас ждёт FAQ-блок с ответами на самые частые вопросы по теме.

Если вы никогда не работали с датами в Excel, не переживайте: первые два метода подойдут даже новичкам. Опытным пользователям будут полезны разделы про условное форматирование и Power Query — эти инструменты экономят часы при обработке больших массивов данных. Готовы начать? Тогда приступим!

1. Базовый метод: функция СЧЁТЕСЛИ для точной даты

Самый простой способ посчитать ячейки с конкретной датой — использовать функцию СЧЁТЕСЛИ (или COUNTIF в английской версии). Она подходит, когда вам нужно найти точные совпадения, например, сколько раз в таблице встречается 15.05.2026.

Формула выглядит так:

=СЧЁТЕСЛИ(диапазон; критерий)

Где:

  • 📌 диапазон — столбец или группа ячеек с датами (например, A2:A100)
  • 🗓️ критерий — искомая дата в формате, который Excel распознаёт как дату (например, "15.05.2026" или ссылка на ячейку с датой, например D2)

Пример: если даты хранятся в столбце B, а искомую дату вы указали в ячейке E1, формула будет:

=СЧЁТЕСЛИ(B:B; E1)

Важный нюанс: если критерий — это текстовая строка (например, "15.05.2026"), обязательно берите её в кавычки. Если же вы ссылаетесь на ячейку с датой, кавычки не нужны.

⚠️ Внимание: Функция СЧЁТЕСЛИ не учитывает форматирование. Если в ячейке отображается 15 мая, но фактически там хранится дата 15.05.2026, формула её посчитает. Но если это текст (например, результат функции ТЕКСТ), то нет.

2. Подсчёт дат в диапазоне: СЧЁТЕСЛИМН и операторы сравнения

Что делать, если нужно посчитать не точную дату, а все ячейки в определённом промежутке? Например, сколько заказов было сделано с 01.01.2026 по 31.03.2026? Здесь поможет функция СЧЁТЕСЛИМН (или COUNTIFS), которая позволяет задавать несколько условий.

Синтаксис:

=СЧЁТЕСЛИМН(диапазон; ">="&нач_дата; "<="&кон_дата)

Пример для диапазона B2:B100 и дат в ячейках D1 (начало) и E1 (конец):

=СЧЁТЕСЛИМН(B2:B100; ">="&D1; "<="&E1)

Альтернативный вариант — использовать операторы прямо в критериях:

=СЧЁТЕСЛИМН(B2:B100; ">01.01.2026"; "<=31.03.2026")
  • 📅 ">=" — больше или равно (включает начальную дату)
  • 📅 "<=" — меньше или равно (включает конечную дату)
  • 📅 ">" и "<" — строго больше/меньше (исключают граничные даты)
📊 Какой способ подсчёта дат вы используете чаще?
Функция СЧЁТЕСЛИ
Фильтры Excel
Формулы массива
Power Query
Не знаю, как это делать

Критическая ошибка многих пользователей: забывать про амперсанд (&) при объединении оператора и даты. Без него Excel воспримет ">=01.01.2026" как текст, а не как условие.

3. Продвинутый подход: формулы массива для сложных условий

Если вам нужно посчитать ячейки с датами, которые удовлетворяют нескольким независимым условиям (например, даты в диапазоне И определённый день недели), пригодятся формулы массива. Они позволяют обрабатывать данные без промежуточных столбцов.

Пример: подсчитаем, сколько дат в столбце A2:A100 попадают в 2026 год И приходятся на понедельник. Формула:

=СУММПРОИЗВ(--(ГОД(A2:A100)=2026); --(ДЕНЬНЕД(A2:A100;2)=1))

Разберём по частям:

  • 🔢 ГОД(A2:A100)=2026 — проверяет, что год равен 2026
  • 📅 ДЕНЬНЕД(A2:A100;2)=1 — проверяет, что день недели — понедельник (аргумент 2 означает, что неделя начинается с понедельника)
  • 🔄 -- — двойное отрицание преобразует ИСТИНА/ЛОЖЬ в 1/0 для суммирования
  • СУММПРОИЗВ — складывает все единицы (истинные условия)

Эта формула должна вводиться как формула массива (в старых версиях Excel — нажать Ctrl+Shift+Enter, в новых — просто Enter).

Почему формулы массива медленнее обычных?

Формулы массива пересчитывают весь диапазон заново при любом изменении в книге, поэтому на больших данных (10 000+ строк) они могут тормозить. Для оптимизации используйте СЧЁТЕСЛИМН или Power Query

Формулы массива — мощный инструмент, но они имеют минусы:

⚠️ Внимание: В Excel 365 и 2019 формулы массива работают динамически, но в старых версиях (2016 и ранее) они требуют ручного подтверждения Ctrl+Shift+Enter. Кроме того, такие формулы могут значительно замедлить файл при большом объёме данных.

4. Визуальный метод: условное форматирование + фильтр

Если вам нужно не только посчитать даты, но и визуально выделить их в таблице, комбинация Условного форматирования и Фильтра станет отличным решением. Этот метод нагляден и не требует знания формул.

Шаг 1. Условное форматирование

  1. Выделите диапазон с датами (например, B2:B100).
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. В поле Форматировать только ячейки с укажите:
    • 📅 Значение: равно
    • 📅 Форматировать по этому правилу: введите искомую дату (например, 15.05.2026) или укажите ячейку с датой
  • Задайте цвет заливки (например, жёлтый) и нажмите ОК.
  • Шаг 2. Фильтрация и подсчёт

    1. Добавьте фильтр к таблице: выделите заголовки → ДанныеФильтр.
    2. Откройте выпадающий список в столбце с датами → Фильтр по цвету → выберите цвет, который задали на первом шаге.
    3. Excel отобразит только ячейки с нужной датой. Количество строк в фильтре — это и есть искомое значение.

    Преимущество метода: вы сразу видите какие именно даты попали в подсчёт. Недостаток — требует ручных действий при изменении критериев.

    Убедитесь, что столбец содержит именно даты, а не текст|Проверьте, что формат ячеек — "Дата", а не "Общий"|Сохраните файл перед массовыми изменениями|Отмените предыдущие правила форматирования, если они мешают-->

    5. Автоматизация: Power Query для больших данных

    Если вы работаете с тысячами строк (например, выгружаете данные из или CRM), ручные методы становятся неэффективными. Здесь на помощь придёт Power Query — инструмент для преобразования и анализа данных, встроенный в Excel 2016 и новее.

    Пошаговая инструкция:

    1. Выделите таблицу с датами → ДанныеИз таблицы/диапазона (или Get Data → From Table/Range в английской версии).
    2. В открывшемся редакторе Power Query выберите столбец с датами.
    3. Нажмите ГлавнаяФильтрФильтры даты/времениРавно.
    4. Введите искомую дату (например, 15.05.2026) и нажмите ОК.
    5. Вернитесь на вкладку ГлавнаяЗакрыть и загрузить в... → выберите Таблица и укажите, куда загрузить отфильтрованные данные.
    6. В новой таблице будет только нужное количество строк. Чтобы узнать их число, используйте СЧЁТЗ:
    7. =СЧЁТЗ(диапазон_новой_таблицы)

      Power Query удобен тем, что:

      • 🔄 Автоматически обновляет данные при изменении исходной таблицы (достаточно нажать Обновить все)
      • 📊 Не нагружает файл, так как обработка происходит во внешнем движке
      • 🛠️ Позволяет комбинировать несколько условий (например, дата + категория товара)
    ⚠️ Внимание: Если исходные данные содержат пустые ячейки или текст вместо дат, Power Query может воспринять их как ошибки. Перед фильтрацией очистите данные с помощью Удалить строки → Удалить пустые.

    6. Макросы: как посчитать даты с помощью VBA

    Для тех, кто готов автоматизировать рутинные задачи, VBA (Visual Basic for Applications) предлагает гибкие решения. Например, можно написать макрос, который будет подсчитывать даты по заданному критерию и выводить результат в отдельную ячейку.

    Пример макроса для подсчёта точной даты:

    Sub CountDates()
    

    Dim rng As Range

    Dim count As Long

    Dim searchDate As Date

    ' Указываем диапазон для поиска (столбец B)

    Set rng = Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row)

    ' Задаём искомую дату (например, из ячейки D1)

    searchDate = Range("D1").Value

    ' Считаем количество ячеек с датой

    count = Application.WorksheetFunction.CountIf(rng, searchDate)

    ' Выводим результат в ячейку E1

    Range("E1").Value = count

    End Sub

    Как использовать:

    1. Нажмите Alt + F11, чтобы открыть редактор VBA.
    2. Вставьте код в новый модуль (Insert → Module).
    3. Закройте редактор и запустите макрос через Вид → Макросы → CountDates → Выполнить.

    Преимущества VBA:

    • Мгновенный подсчёт даже для миллионов строк
    • 🔧 Гибкость: можно добавить дополнительные условия (например, игнорировать выходные)
    • 📅 Интеграция с другими задачами (например, автоматически отправлять отчёт по email)

    ⚠️ Внимание: Перед запуском макросов убедитесь, что в настройках Excel разрешено их выполнение: Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы. Не запускайте макросы из ненадёжных источников!

    Сравнение методов: какой выбрать?

    Выбор способа подсчёта дат зависит от объёма данных, ваших навыков и задачи. В таблице ниже — сравнение всех рассмотренных методов:

    Метод Сложность Скорость Гибкость Когда использовать
    СЧЁТЕСЛИ ⚡⚡⚡ Только точные совпадения Маленькие таблицы, простые задачи
    СЧЁТЕСЛИМН ⭐⭐ ⚡⚡⚡ Диапазоны дат, несколько условий Средние таблицы, аналитика по периодам
    Формулы массива ⭐⭐⭐ ⚡⚡ Сложные условия (день недели + месяц) Продвинутый анализ, если нет Power Query
    Условное форматирование Визуализация + подсчёт Нужно выделить даты в таблице
    Power Query ⭐⭐ ⚡⚡⚡⚡ Любые условия, очистка данных Большие файлы, регулярные отчёты
    VBA ⭐⭐⭐⭐ ⚡⚡⚡⚡⚡ Автоматизация, интеграция с другими задачами Повторяющиеся операции, сложная логика

    Для большинства задач хватит комбинации СЧЁТЕСЛИМН и Power Query. Если вы работаете с датами ежедневно, стоит освоить VBA — это сэкономит часы в перспективе.

    FAQ: Ответы на частые вопросы

    🔹 Почему СЧЁТЕСЛИ не считает мои даты?

    Скорее всего, ваши даты хранятся как текст. Проверьте формат ячеек: выделите столбец → Формат ячеек → выберите Дата. Если это не помогло, используйте функцию ДАТАЗНАЧ, чтобы преобразовать текст в дату:

    =ДАТАЗНАЧ(A2)

    Или примените Текст по столбцам (Данные → Текст по столбцам), выбрав формат Дата: ДМГ.

    🔹 Как посчитать только рабочие дни (исключая выходные)?

    Используйте функцию ЧИСТРАБДНИ в комбинации с СУММПРОИЗВ:

    =СУММПРОИЗВ(--(A2:A100>=D1); --(A2:A100<=E1); --(ДЕНЬНЕД(A2:A100;2)<6))

    Где D1 и E1 — начальная и конечная даты диапазона, а ДЕНЬНЕД(...,2)<6 исключает субботу (6) и воскресенье (7).

    🔹 Можно ли посчитать даты в сводной таблице?

    Да! Создайте сводную таблицу (Вставка → Сводная таблица), перетащите столбец с датами в область Строки, а любое числовое поле — в Значения. Затем:

    1. Щёлкните правой кнопкой по дате в сводной таблице → Группировка.
    2. Выберите Дни, Месяцы или Годы для группировки.
    3. Excel автоматически посчитает количество записей для каждой группы.
    🔹 Как посчитать уникальные даты в столбце?

    Используйте формулу массива:

    =СУММ(1/СЧЁТЕСЛИ(A2:A100; A2:A100))

    В Excel 365 и 2019 можно упростить до:

    =СЧЁТЕСЛИМН(A2:A100; A2:A100; "<>")

    Или воспользуйтесь Power Query: загрузите данные → выделите столбец с датами → Главная → Группировка → Группировать по → Количество строк.

    🔹 Почему после фильтрации количество строк не совпадает с подсчётом?

    Вероятно, в вашей таблице есть скрытые строки или пустые ячейки. Проверьте:

    • 🔍 Нажмите Ctrl + A, чтобы выделить все данные, и убедитесь, что нет скрытых строк.
    • 📊 Используйте СЧЁТЗ вместо СЧЁТ, чтобы игнорировать пустые ячейки:
    =СЧЁТЗ(диапазон)

    Если проблема остаётся, проверьте фильтры: возможно, применено несколько условий одновременно.