Фильтрация данных по временным интервалам в Microsoft Excel — одна из самых востребованных операций при работе с отчётами, журналами событий или временными рядами. Без этого инструмента анализ продаж по часам, мониторинг производственных циклов или обработка логов превращается в рутинную работу с ручным просмотром тысяч строк. Однако даже опытные пользователи часто сталкиваются с нюансами: почему фильтр не видит время без даты, как отсеять записи за конкретный час или почему результаты отличаются от ожидаемых.
В этой статье вы найдёте 5 проверенных методов фильтрации по времени — от базового автофильтра до продвинутых инструментов вроде Power Query. Мы разберём типичные ошибки (например, почему Excel игнорирует формат чч:мм), покажем, как фильтровать по диапазону времени без даты, и дадим готовые формулы для динамических фильтров. Все инструкции актуальны для Excel 2010–2026 и Office 365, с учётом особенностей новых версий.
Если вы работаете с большими массивами данных, где время записано в отдельном столбце (например, 14:30:00 без привязки к дате), стандартный фильтр может не сработать. Причина — Excel по умолчанию воспринимает ячейки с временем как часть даты (01.01.1900 14:30). Мы покажем, как обойти это ограничение и настроить точную фильтрацию даже в таких случаях.
Для удобства статья разделена на блоки по уровню сложности: от простых действий для новичков до автоматизированных решений для аналитиков. В конце вы найдёте FAQ с ответами на частые вопросы и таблицу совместимости методов с разными версиями Excel.
1. Базовый автофильтр по времени: быстро и просто
Самый доступный способ отфильтровать данные по времени — использовать встроенный автофильтр. Он подходит для большинства задач, если время в вашей таблице записано корректно (в формате чч:мм:сс или дд.мм.гггг чч:мм).
Чтобы включить автофильтр:
- Выделите заголовок столбца с временем (или всю таблицу).
- Перейдите на вкладку
Данные→Фильтр(или нажмитеCtrl+Shift+L). - Нажмите на стрелку фильтра в заголовке столбца с временем.
В открывшемся меню вы увидите несколько вариантов фильтрации:
- 📅 Фильтр по датам — если в ячейках есть и дата, и время (например, 15.05.2026 14:30). Здесь можно выбрать конкретный день, месяц или квартал.
- ⏰ Фильтр по времени — появится только если Excel распознаёт ячейки как время. Позволяет выбрать конкретный час, интервал (утро/день/вечер) или задать собственные условия.
- 🔍 Текстовые фильтры →
Настраиваемый фильтр— универсальный вариант для любых форматов.
Если в меню фильтра нет пункта "Фильтр по времени", значит Excel не распознаёт ваши данные как временные. Чтобы исправить это, выделите столбец → правая кнопка → "Формат ячеек" → выберите категорию "Время" и нужный формат (например, 13:30).
2. Настраиваемый фильтр: точные временные диапазоны
Когда нужно отфильтровать записи за конкретный промежуток (например, с 9:00 до 18:00), стандартные опции автофильтра не подходят. Здесь поможет настраиваемый фильтр с условиями.
Инструкция:
- Включите автофильтр (как в предыдущем разделе).
- Нажмите на стрелку фильтра в столбце с временем → выберите
Текстовые фильтры→Настраиваемый фильтр. - В открывшемся окне:
- В первом поле выберите "
больше или равно" и введите 9:00. - Во втором поле выберите "
меньше или равно" и введите 18:00. - Убедитесь, что между полями стоит "
И" (а не "ИЛИ").
- В первом поле выберите "
ОК.Excel отобразит только строки, где время попадает в заданный интервал. Этот метод работает и для времени без даты, если ячейки отформатированы как Время.
00 до 01:00?:
В Excel время хранится как дробная часть числа (где 1 = 24 часа). Значения от 00:00 до 00:59 могут восприниматься как "0" и игнорироваться фильтром. Чтобы избежать этого, используйте формат чч:мм:сс и проверьте, что в ячейках нет скрытых нулей (например, 0:30 вместо 00:30).Почему фильтр не находит записи с 00
Если вам нужно фильтровать по времени нескольких дней (например, все записи с 14:00 до 16:00 за последний месяц), комбинируйте условия:
- Сначала отфильтруйте по дате (выберите нужный диапазон дней).
- Затем примените настраиваемый фильтр по времени.
- Изменить формат ячеек:
- Выделите столбец с временем → правая кнопка →
Формат ячеек. - Выберите категорию
Времяи формат 13:30. - Если данные не изменились, используйте функцию
=ВРЕМЯ(ЧАС(A1);МИНУТ(A1);СЕКУНД(A1))в дополнительном столбце.
- Выделите столбец с временем → правая кнопка →
- Добавить "фиктивную" дату:
- Создайте новый столбец с формулой
=ДАТА(2026;1;1)+A1, гдеA1— ячейка с временем. - Отфильтруйте данные по этому столбцу, а затем скройте его.
- Создайте новый столбец с формулой
- Использовать текстовый фильтр:
- Если время записано как текст (например, "14:30"), примените фильтр "
содержит" или "начинается с". - Минус: не получится отфильтровать диапазоны (например, с 14:00 до 15:00).
- Если время записано как текст (например, "14:30"), примените фильтр "
3. Фильтрация по времени без даты: решение проблемы
Одна из самых распространённых проблем — когда время в таблице записано без даты (например, 14:30), а Excel упорно не хочет его фильтровать. Это происходит потому, что программа по умолчанию воспринимает такие ячейки как часть даты 01.01.1900.
Есть три способа решить эту проблему:
Критическая ошибка: если вы используете формулу для преобразования времени, не забудьте зафиксировать её значения (копировать → "Вставить как значения"), иначе фильтр будет применён к формулам, а не к данным.
Убедиться, что столбец отформатирован как "Время"|Проверить отсутствие скрытых символов (функция =ЧИСТ())|При необходимости добавить фиктивную дату|Создать резервную копию данных-->
4. Расширенный фильтр: для сложных условий
Если вам нужно фильтровать данные по нескольким критериям времени (например, "вторник с 10:00 до 12:00 ИЛИ четверг с 14:00 до 16:00"), стандартный автофильтр не справится. Здесь поможет расширенный фильтр.
Алгоритм действий:
- Создайте диапазон условий (обычно над или рядом с таблицей). Например:
День недели Время вторник >=10:00 вторник <=12:00 или четверг >=14:00 четверг <=16:00 Слово "
или" в отдельной строке указывает Excel, что следующие условия применяются как альтернатива. - Перейдите на вкладку
Данные→Расширенный фильтр. - В поле "
Исходный диапазон" укажите вашу таблицу (включая заголовки). - В поле "
Диапазон условий" укажите созданный вами диапазон с критериями. - Выберите "
Фильтровать список на месте" или "Скопировать результат в другое место" (если нужно сохранить оригинал). - Нажмите
ОК. - 🔄 Можно комбинировать условия с логическими операторами (
И,ИЛИ). - 📊 Поддерживает фильтрацию по нескольким столбцам одновременно.
- 💾 Позволяет сохранять результаты в отдельном месте без изменения оригинала.
Преимущества расширенного фильтра:
Ограничение: если в ваших данных время записано как текст (не в формате чч:мм), расширенный фильтр не сработает. В этом случае сначала преобразуйте данные с помощью функции =ВРЕМЯЗНАЧ().
5. Power Query: автоматизация фильтрации по времени
Для больших таблиц (десятки тысяч строк) или регулярных отчётов ручная фильтрация неэффективна. Power Query (доступен в Excel 2016+ и Office 365) позволяет автоматизировать процесс и сохранять шаги фильтрации для повторного использования.
Как фильтровать время с помощью Power Query:
- Выделите вашу таблицу → вкладка
Данные→Из таблицы/диапазона(в группе "Получить и преобразовать"). - В открывшемся редакторе Power Query выделите столбец с временем.
- Нажмите на стрелку фильтра в заголовке столбца → выберите "
Фильтры по времени". - Задайте нужные условия (например, "
начинается с" → 09:00 или "между" → 14:00 и 18:00). - После применения фильтров нажмите "
Закрыть и загрузить", чтобы вернуть данные в Excel.
Преимущества Power Query:
- 🔄 Не разрушает оригинальные данные — все изменения применяются к копии.
- 📅 Можно фильтровать по часу, минуте или секунде отдельно (например, показать все записи, где минуты = 30).
- 🔄 Шаги фильтрации сохраняются — при обновлении данных они применятся автоматически.
Если ваше время записано как текст (например, "14:30:45"), в Power Query сначала преобразуйте его в формат времени:
- Выделите столбец → вкладка "
Преобразовать" → "Тип данных" → "Время". - Если Excel не распознаёт формат, используйте "
Столбец из примеров" (вкладка "Добавить столбец") и введите образец правильного времени.
Пример формулы для преобразования текста в время (если автоматический метод не сработал):
= Table.TransformColumns(#"Предыдущий шаг", {{"ВашСтолбец", each Time.From(_), type time}})
6. Динамические фильтры с формулами
Если вам нужно, чтобы фильтр обновлялся автоматически при изменении данных (например, показывать только актуальные записи за последний час), используйте формулы массива или динамические диапазоны.
Пример 1: Фильтрация за последний час
- Создайте ячейку с текущим временем:
=СЕЙЧАС()(или=ТДАТА()для даты + времени). - В дополнительном столбце добавьте формулу, которая проверяет попадание времени в интервал:
=ЕСЛИ(I2>=$Z$1-1/24; "Актуально"; "Устарело")где
I2— ячейка с временем, а$Z$1— ячейка с текущим временем.1/24= 1 час (так как в Excel 1 день = 1). - Отфильтруйте таблицу по дополнительному столбцу, оставив только строки с меткой "
Актуально".
Пример 2: Фильтр по рабочему времени (9:00–18:00)
- Создайте два named range (именованных диапазона):
НачалоДня==ВРЕМЯ(9;0;0)КонецДня==ВРЕМЯ(18;0;0)
=ЕСЛИ(И(B2>=НачалоДня; B2<=КонецДня); "В рабочее время"; "Вне рабочего времени")
Преимущества формул:
- 🔄 Автоматическое обновление при изменении данных или времени.
- 📊 Можно создавать сложные условия (например, фильтровать по времени и дню недели одновременно).
Внимание: если вы используете формулы для фильтрации, не забывайте обновлять их значения (
Если ваши данные содержат временные метки в разных часовых поясах, сначала приведите их к единому стандарту (UTC или локальному времени) с помощью функции F9) после изменений в исходных данных.
Как фильтровать по времени с учётом часовых поясов?
=ВРЕМЯЗНАЧ(ТЕКСТ(A1;"чч:мм:сс")) + (ЧасовойПояс/24), где ЧасовойПояс — разница в часах (например, +3 для Москвы).
Частые ошибки и как их избежать
Даже опытные пользователи сталкиваются с проблемами при фильтрации по времени. Вот самые распространённые ошибки и их решения:
⚠️ Внимание: Если после применения фильтра данные исчезли, проверьте формат ячеек. Excel может воспринимать время как текст, если в ячейках есть невидимые символы (например, пробелы перед 14:30). Используйте функцию =ЧИСТ() для очистки.
| Проблема | Причина | Решение |
|---|---|---|
| Фильтр не показывает записи с 00:00 до 01:00 | Excel воспринимает эти значения как "0" | Используйте формат чч:мм:сс и проверьте, что в ячейках нет скрытых нулей |
| Не работает фильтр "между" для времени | Данные записаны как текст | Преобразуйте в формат времени с помощью =ВРЕМЯЗНАЧ() |
| Фильтр применяется не ко всем строкам | Таблица содержит пустые ячейки или объединённые области | Разделите объединённые ячейки и заполните пустые значения |
| После фильтрации время отображается как дата (например, 01.01.1900) | Неверный формат ячеек | Измените формат на "Время" или используйте =ТЕКСТ(A1;"чч:мм") |
Ещё одна типичная ошибка — попытка отфильтровать время, записанное в формате ччмм (например, 1430 вместо 14:30). В этом случае:
- Создайте дополнительный столбец с формулой:
=ВРЕМЯ(ЛЕВСИМВ(A1;2); ПРАВСИМВ(A1;2); 0)где
A1— ячейка с временем в формате ччмм. - Отфильтруйте данные по новому столбцу.
Внимание: если вы работаете с данными, импортированными из внешних источников (например, CSV), проверьте, что разделитель времени соответствует региональным настройкам Excel (в России это обычно : или .). При необходимости замените разделитель с помощью функции =ПОДСТАВИТЬ().
FAQ: Ответы на частые вопросы
Как отфильтровать время без секунды (например, только часы и минуты)?
Если ваше время записано с секундами (14:30:45), но вам нужны только часы и минуты:
- Создайте дополнительный столбец с формулой
=ОКРВНИЗ(B2; 1/1440), гдеB2— ячейка с временем, а1/1440= 1 минута. - Отформатируйте новый столбец как чч:мм.
- Примените фильтр к новому столбцу.
Альтернативно, измените формат ячеек на чч:мм (без секунд) — это не удалит секунды из данных, но скрывает их при отображении.
Можно ли фильтровать по времени в сводной таблице?
Да, но с нюансами:
- Добавьте поле с временем в область "
Строки" или "Столбцы". - Нажмите на стрелку фильтра рядом с названием поля → "
Фильтры по меткам" или "Фильтры по значениям". - Для группировки по часам: правая кнопка на поле времени → "
Группировка" → выберите "Часы".
Если время не группируется, проверьте, что источник данных содержит полноценные метки времени (а не текст).
Как сохранить фильтр, чтобы не настраивать его каждый раз?
Есть три способа:
- Таблицы Excel: преобразуйте диапазон в таблицу (
Ctrl+T), тогда фильтры сохранятся при добавлении новых строк. - Power Query: сохраните запрос с фильтрами (как описано в разделе 5).
- Макрос: запишите действия по фильтрации (
Вид → Макросы → Записать макрос) и назначьте его на кнопку.
Почему фильтр по времени работает медленно на больших таблицах?
Excel может тормозить при фильтрации десятков тысяч строк. Решения:
- Используйте Power Query — он оптимизирован для больших данных.
- Преобразуйте данные в таблицу Excel (
Ctrl+T) — это ускоряет фильтрацию. - Отключите автоматический пересчёт формул:
Формулы → Параметры вычислений → Вручную. - Если возможно, фильтруйте данные до импорта в Excel (например, в SQL или Python).
Можно ли фильтровать время с учётом выходных дней?
Да, для этого:
- Добавьте столбец с днём недели:
=ТЕКСТ(A1;"дддд"), гдеA1— ячейка с датой. - Создайте дополнительный столбец с формулой:
=ЕСЛИ(И(B2<>"суббота"; B2<>"воскресенье"; C2>=ВРЕМЯ(9;0;0); C2<=ВРЕМЯ(18;0;0)); "Рабочее время"; "Выходной/ночное время")где
B2— день недели, аC2— время. - Отфильтруйте по новому столбцу.