Как поставить фильтр по времени в Excel: 5 рабочих способов с примерами

Фильтрация данных по временным интервалам в Microsoft Excel — одна из самых востребованных операций при работе с отчётами, журналами событий или временными рядами. Без этого инструмента анализ продаж по часам, мониторинг производственных циклов или обработка логов превращается в рутинную работу с ручным просмотром тысяч строк. Однако даже опытные пользователи часто сталкиваются с нюансами: почему фильтр не видит время без даты, как отсеять записи за конкретный час или почему результаты отличаются от ожидаемых.

В этой статье вы найдёте 5 проверенных методов фильтрации по времени — от базового автофильтра до продвинутых инструментов вроде Power Query. Мы разберём типичные ошибки (например, почему Excel игнорирует формат чч:мм), покажем, как фильтровать по диапазону времени без даты, и дадим готовые формулы для динамических фильтров. Все инструкции актуальны для Excel 2010–2026 и Office 365, с учётом особенностей новых версий.

Если вы работаете с большими массивами данных, где время записано в отдельном столбце (например, 14:30:00 без привязки к дате), стандартный фильтр может не сработать. Причина — Excel по умолчанию воспринимает ячейки с временем как часть даты (01.01.1900 14:30). Мы покажем, как обойти это ограничение и настроить точную фильтрацию даже в таких случаях.

Для удобства статья разделена на блоки по уровню сложности: от простых действий для новичков до автоматизированных решений для аналитиков. В конце вы найдёте FAQ с ответами на частые вопросы и таблицу совместимости методов с разными версиями Excel.

1. Базовый автофильтр по времени: быстро и просто

Самый доступный способ отфильтровать данные по времени — использовать встроенный автофильтр. Он подходит для большинства задач, если время в вашей таблице записано корректно (в формате чч:мм:сс или дд.мм.гггг чч:мм).

Чтобы включить автофильтр:

  1. Выделите заголовок столбца с временем (или всю таблицу).
  2. Перейдите на вкладку ДанныеФильтр (или нажмите Ctrl+Shift+L).
  3. Нажмите на стрелку фильтра в заголовке столбца с временем.

В открывшемся меню вы увидите несколько вариантов фильтрации:

  • 📅 Фильтр по датам — если в ячейках есть и дата, и время (например, 15.05.2026 14:30). Здесь можно выбрать конкретный день, месяц или квартал.
  • Фильтр по времени — появится только если Excel распознаёт ячейки как время. Позволяет выбрать конкретный час, интервал (утро/день/вечер) или задать собственные условия.
  • 🔍 Текстовые фильтрыНастраиваемый фильтр — универсальный вариант для любых форматов.

Если в меню фильтра нет пункта "Фильтр по времени", значит Excel не распознаёт ваши данные как временные. Чтобы исправить это, выделите столбец → правая кнопка → "Формат ячеек" → выберите категорию "Время" и нужный формат (например, 13:30).

2. Настраиваемый фильтр: точные временные диапазоны

Когда нужно отфильтровать записи за конкретный промежуток (например, с 9:00 до 18:00), стандартные опции автофильтра не подходят. Здесь поможет настраиваемый фильтр с условиями.

Инструкция:

  1. Включите автофильтр (как в предыдущем разделе).
  2. Нажмите на стрелку фильтра в столбце с временем → выберите Текстовые фильтрыНастраиваемый фильтр.
  3. В открывшемся окне:
    • В первом поле выберите "больше или равно" и введите 9:00.
    • Во втором поле выберите "меньше или равно" и введите 18:00.
    • Убедитесь, что между полями стоит "И" (а не "ИЛИ").
  • Нажмите ОК.
  • Excel отобразит только строки, где время попадает в заданный интервал. Этот метод работает и для времени без даты, если ячейки отформатированы как Время.

    Почему фильтр не находит записи с 00

    00 до 01:00?:

    В Excel время хранится как дробная часть числа (где 1 = 24 часа). Значения от 00:00 до 00:59 могут восприниматься как "0" и игнорироваться фильтром. Чтобы избежать этого, используйте формат чч:мм:сс и проверьте, что в ячейках нет скрытых нулей (например, 0:30 вместо 00:30).

    Если вам нужно фильтровать по времени нескольких дней (например, все записи с 14:00 до 16:00 за последний месяц), комбинируйте условия:

    1. Сначала отфильтруйте по дате (выберите нужный диапазон дней).
    2. Затем примените настраиваемый фильтр по времени.
    3. 📊 Какой метод фильтрации вы используете чаще?
      Автофильтр
      Настраиваемый фильтр
      Формулы
      Power Query
      Другой

      3. Фильтрация по времени без даты: решение проблемы

      Одна из самых распространённых проблем — когда время в таблице записано без даты (например, 14:30), а Excel упорно не хочет его фильтровать. Это происходит потому, что программа по умолчанию воспринимает такие ячейки как часть даты 01.01.1900.

      Есть три способа решить эту проблему:

      1. Изменить формат ячеек:
        • Выделите столбец с временем → правая кнопка → Формат ячеек.
        • Выберите категорию Время и формат 13:30.
        • Если данные не изменились, используйте функцию =ВРЕМЯ(ЧАС(A1);МИНУТ(A1);СЕКУНД(A1)) в дополнительном столбце.
      2. Добавить "фиктивную" дату:
        • Создайте новый столбец с формулой =ДАТА(2026;1;1)+A1, где A1 — ячейка с временем.
        • Отфильтруйте данные по этому столбцу, а затем скройте его.
    4. Использовать текстовый фильтр:
      • Если время записано как текст (например, "14:30"), примените фильтр "содержит" или "начинается с".
      • Минус: не получится отфильтровать диапазоны (например, с 14:00 до 15:00).

    Критическая ошибка: если вы используете формулу для преобразования времени, не забудьте зафиксировать её значения (копировать → "Вставить как значения"), иначе фильтр будет применён к формулам, а не к данным.

    Убедиться, что столбец отформатирован как "Время"|Проверить отсутствие скрытых символов (функция =ЧИСТ())|При необходимости добавить фиктивную дату|Создать резервную копию данных-->

    4. Расширенный фильтр: для сложных условий

    Если вам нужно фильтровать данные по нескольким критериям времени (например, "вторник с 10:00 до 12:00 ИЛИ четверг с 14:00 до 16:00"), стандартный автофильтр не справится. Здесь поможет расширенный фильтр.

    Алгоритм действий:

    1. Создайте диапазон условий (обычно над или рядом с таблицей). Например:
      День неделиВремя
      вторник>=10:00
      вторник<=12:00
      или
      четверг>=14:00
      четверг<=16:00

      Слово "или" в отдельной строке указывает Excel, что следующие условия применяются как альтернатива.

    2. Перейдите на вкладку ДанныеРасширенный фильтр.
    3. В поле "Исходный диапазон" укажите вашу таблицу (включая заголовки).
    4. В поле "Диапазон условий" укажите созданный вами диапазон с критериями.
    5. Выберите "Фильтровать список на месте" или "Скопировать результат в другое место" (если нужно сохранить оригинал).
    6. Нажмите ОК.
    7. Преимущества расширенного фильтра:

      • 🔄 Можно комбинировать условия с логическими операторами (И, ИЛИ).
      • 📊 Поддерживает фильтрацию по нескольким столбцам одновременно.
      • 💾 Позволяет сохранять результаты в отдельном месте без изменения оригинала.

    Ограничение: если в ваших данных время записано как текст (не в формате чч:мм), расширенный фильтр не сработает. В этом случае сначала преобразуйте данные с помощью функции =ВРЕМЯЗНАЧ().

    5. Power Query: автоматизация фильтрации по времени

    Для больших таблиц (десятки тысяч строк) или регулярных отчётов ручная фильтрация неэффективна. Power Query (доступен в Excel 2016+ и Office 365) позволяет автоматизировать процесс и сохранять шаги фильтрации для повторного использования.

    Как фильтровать время с помощью Power Query:

    1. Выделите вашу таблицу → вкладка ДанныеИз таблицы/диапазона (в группе "Получить и преобразовать").
    2. В открывшемся редакторе Power Query выделите столбец с временем.
    3. Нажмите на стрелку фильтра в заголовке столбца → выберите "Фильтры по времени".
    4. Задайте нужные условия (например, "начинается с" → 09:00 или "между" → 14:00 и 18:00).
    5. После применения фильтров нажмите "Закрыть и загрузить", чтобы вернуть данные в Excel.

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

    • 🔄 Не разрушает оригинальные данные — все изменения применяются к копии.
    • 📅 Можно фильтровать по часу, минуте или секунде отдельно (например, показать все записи, где минуты = 30).
    • 🔄 Шаги фильтрации сохраняются — при обновлении данных они применятся автоматически.

    Если ваше время записано как текст (например, "14:30:45"), в Power Query сначала преобразуйте его в формат времени:

    1. Выделите столбец → вкладка "Преобразовать" → "Тип данных" → "Время".
    2. Если Excel не распознаёт формат, используйте "Столбец из примеров" (вкладка "Добавить столбец") и введите образец правильного времени.

    Пример формулы для преобразования текста в время (если автоматический метод не сработал):

    = Table.TransformColumns(#"Предыдущий шаг", {{"ВашСтолбец", each Time.From(_), type time}})

    6. Динамические фильтры с формулами

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

    Пример 1: Фильтрация за последний час

    1. Создайте ячейку с текущим временем: =СЕЙЧАС() (или =ТДАТА() для даты + времени).
    2. В дополнительном столбце добавьте формулу, которая проверяет попадание времени в интервал:
      =ЕСЛИ(I2>=$Z$1-1/24; "Актуально"; "Устарело")

      где I2 — ячейка с временем, а $Z$1 — ячейка с текущим временем. 1/24 = 1 час (так как в Excel 1 день = 1).

    3. Отфильтруйте таблицу по дополнительному столбцу, оставив только строки с меткой "Актуально".

    Пример 2: Фильтр по рабочему времени (9:00–18:00)

    1. Создайте два named range (именованных диапазона):
      • НачалоДня = =ВРЕМЯ(9;0;0)
      • КонецДня = =ВРЕМЯ(18;0;0)
  • Добавьте столбец с формулой:
    =ЕСЛИ(И(B2>=НачалоДня; B2<=КонецДня); "В рабочее время"; "Вне рабочего времени")
  • Отфильтруйте по этому столбцу.
  • Преимущества формул:

    • 🔄 Автоматическое обновление при изменении данных или времени.
    • 📊 Можно создавать сложные условия (например, фильтровать по времени и дню недели одновременно).

    Внимание: если вы используете формулы для фильтрации, не забывайте обновлять их значения (F9) после изменений в исходных данных.

    Как фильтровать по времени с учётом часовых поясов?

    Если ваши данные содержат временные метки в разных часовых поясах, сначала приведите их к единому стандарту (UTC или локальному времени) с помощью функции =ВРЕМЯЗНАЧ(ТЕКСТ(A1;"чч:мм:сс")) + (ЧасовойПояс/24), где ЧасовойПояс — разница в часах (например, +3 для Москвы).

    Частые ошибки и как их избежать

    Даже опытные пользователи сталкиваются с проблемами при фильтрации по времени. Вот самые распространённые ошибки и их решения:

    ⚠️ Внимание: Если после применения фильтра данные исчезли, проверьте формат ячеек. Excel может воспринимать время как текст, если в ячейках есть невидимые символы (например, пробелы перед 14:30). Используйте функцию =ЧИСТ() для очистки.
    Проблема Причина Решение
    Фильтр не показывает записи с 00:00 до 01:00 Excel воспринимает эти значения как "0" Используйте формат чч:мм:сс и проверьте, что в ячейках нет скрытых нулей
    Не работает фильтр "между" для времени Данные записаны как текст Преобразуйте в формат времени с помощью =ВРЕМЯЗНАЧ()
    Фильтр применяется не ко всем строкам Таблица содержит пустые ячейки или объединённые области Разделите объединённые ячейки и заполните пустые значения
    После фильтрации время отображается как дата (например, 01.01.1900) Неверный формат ячеек Измените формат на "Время" или используйте =ТЕКСТ(A1;"чч:мм")

    Ещё одна типичная ошибка — попытка отфильтровать время, записанное в формате ччмм (например, 1430 вместо 14:30). В этом случае:

    1. Создайте дополнительный столбец с формулой:
      =ВРЕМЯ(ЛЕВСИМВ(A1;2); ПРАВСИМВ(A1;2); 0)

      где A1 — ячейка с временем в формате ччмм.

    2. Отфильтруйте данные по новому столбцу.

    Внимание: если вы работаете с данными, импортированными из внешних источников (например, CSV), проверьте, что разделитель времени соответствует региональным настройкам Excel (в России это обычно : или .). При необходимости замените разделитель с помощью функции =ПОДСТАВИТЬ().

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

    Как отфильтровать время без секунды (например, только часы и минуты)?

    Если ваше время записано с секундами (14:30:45), но вам нужны только часы и минуты:

    1. Создайте дополнительный столбец с формулой =ОКРВНИЗ(B2; 1/1440), где B2 — ячейка с временем, а 1/1440 = 1 минута.
    2. Отформатируйте новый столбец как чч:мм.
    3. Примените фильтр к новому столбцу.

    Альтернативно, измените формат ячеек на чч:мм (без секунд) — это не удалит секунды из данных, но скрывает их при отображении.

    Можно ли фильтровать по времени в сводной таблице?

    Да, но с нюансами:

    • Добавьте поле с временем в область "Строки" или "Столбцы".
    • Нажмите на стрелку фильтра рядом с названием поля → "Фильтры по меткам" или "Фильтры по значениям".
    • Для группировки по часам: правая кнопка на поле времени → "Группировка" → выберите "Часы".

    Если время не группируется, проверьте, что источник данных содержит полноценные метки времени (а не текст).

    Как сохранить фильтр, чтобы не настраивать его каждый раз?

    Есть три способа:

    1. Таблицы Excel: преобразуйте диапазон в таблицу (Ctrl+T), тогда фильтры сохранятся при добавлении новых строк.
    2. Power Query: сохраните запрос с фильтрами (как описано в разделе 5).
    3. Макрос: запишите действия по фильтрации (Вид → Макросы → Записать макрос) и назначьте его на кнопку.
    Почему фильтр по времени работает медленно на больших таблицах?

    Excel может тормозить при фильтрации десятков тысяч строк. Решения:

    • Используйте Power Query — он оптимизирован для больших данных.
    • Преобразуйте данные в таблицу Excel (Ctrl+T) — это ускоряет фильтрацию.
    • Отключите автоматический пересчёт формул: Формулы → Параметры вычислений → Вручную.
    • Если возможно, фильтруйте данные до импорта в Excel (например, в SQL или Python).
    Можно ли фильтровать время с учётом выходных дней?

    Да, для этого:

    1. Добавьте столбец с днём недели: =ТЕКСТ(A1;"дддд"), где A1 — ячейка с датой.
    2. Создайте дополнительный столбец с формулой:
      =ЕСЛИ(И(B2<>"суббота"; B2<>"воскресенье"; C2>=ВРЕМЯ(9;0;0); C2<=ВРЕМЯ(18;0;0)); "Рабочее время"; "Выходной/ночное время")

      где B2 — день недели, а C2 — время.

    3. Отфильтруйте по новому столбцу.