Как отфильтровать в Excel все ячейки с датами до или после сегодняшнего дня?
В этой статье мы подробно рассмотрим методы фильтрации всех ячеек с датами, приходящимися на период до или после сегодняшнего дня, на листе Excel. Управление и анализ времязависимых данных — распространённая задача, особенно при работе с журналами, расписаниями, графиками проектов или отслеживанием сроков выполнения. Эффективная фильтрация по датам помогает сосредоточиться исключительно на релевантных записях в нужный момент времени, повышая продуктивность и точность принимаемых решений.
➤ Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью функции фильтрации
➤ Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью кода VBA
➤ Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью вспомогательного столбца Excel
Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью функции фильтрации
Встроенная функция фильтрации Excel позволяет легко находить и отображать даты до или после сегодняшнего дня. Этот визуальный подход не требует формул или кода VBA, что делает его идеальным решением для пользователей, которым нужен быстрый способ фильтрации актуальных данных без использования формул или макросов.
1. Выделите столбец с датами, перейдите на вкладку Данные и нажмите Фильтр на ленте. Рядом с заголовками столбцов появятся стрелки фильтра, как показано ниже:

2. Нажмите стрелку раскрывающегося списка в заголовке столбца с датами. Наведите курсор на пункт Фильтры по датам, затем выберите либо До, либо После — в зависимости от ваших задач. Например, выберите До, чтобы найти даты, предшествующие сегодняшнему дню.

3. В диалоговом окне Пользовательский автофильтр нажмите значок Выбор даты
, чтобы открыть календарь. Нажмите кнопку Сегодня, чтобы быстро установить текущую дату.

4. Нажмите ОК. Excel отфильтрует данные и покажет только строки, в которых дата соответствует заданному условию (до или после сегодняшнего дня), как показано ниже:

Этот метод отлично подходит для таблиц среднего размера и чрезвычайно прост в использовании — он не требует продвинутых навыков. Однако при обновлении данных или изменении критериев процедуру придётся повторять вручную.
⚠️ Примечание: Если столбец с датами содержит текст или не отформатирован как корректные даты Excel, параметры фильтрации в разделе Фильтры по датам могут не отображаться.
Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью кода VBA
Если вам регулярно приходится фильтровать данные или автоматизировать эту задачу для больших объёмов информации, VBA — чрезвычайно практичное решение. Оно особенно ценно для аналитиков, автоматизации отчётов и любых рабочих процессов, где требуется частая фильтрация по сегодняшней дате. С помощью VBA вы сможете применять фильтр одним щелчком мыши, избавившись от рутинных ручных операций. Обратите внимание: чтобы использовать VBA, книгу необходимо сохранить в формате с поддержкой макросов ().xlsm), а у некоторых пользователей доступ может быть ограничен настройками безопасности макросов.
1. Удерживая клавиши ALT + F11, откройте окно Microsoft Visual Basic for Applications.
2. В редакторе нажмите Вставка > Модуль, затем вставьте один из приведённых ниже блоков кода в окно модуля.
Код VBA: фильтрация всех ячеек с датами до сегодняшнего дня:
Sub FilterDateBeforeToday()
Dim xLastRow As Long
Dim xRg As Range
On Error Resume Next
Set xRg = Application.InputBox("Please select filtered column:", "KuTools for Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
If xRg.Count = 1 Then Set xRg = xRg.CurrentRegion
xRg.AutoFilter 1, "<" & CDbl(Date)
Application.ScreenUpdating = True
End Sub
Код VBA: фильтрация всех ячеек с датами после сегодняшнего дня:
Sub FilterDateAfterToday()
Dim xLastRow As Long
Dim xRg As Range
On Error Resume Next
Set xRg = Application.InputBox("Please select filtered column:", "KuTools for Excel", Selection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
If xRg.Count = 1 Then Set xRg = xRg.CurrentRegion
xRg.AutoFilter 1, ">" & CDbl(Date)
Application.ScreenUpdating = True
End Sub
3. После копирования и вставки одного из приведённых выше кодов нажмите клавишу F5, чтобы запустить его. Появится диалоговое окно для выбора диапазона или столбца с датами. Убедитесь, что вы выделили только диапазон с соответствующими данными и что ваши даты представлены в корректном формате даты Excel — это поможет избежать ошибок при выполнении кода.

4. Нажмите ОК, чтобы применить фильтр. Строки, в которых дата находится до или после сегодняшнего дня (в зависимости от выбранного вами варианта), автоматически отобразятся, а остальные строки будут скрыты.
⚠️ Примечание: Фильтрация на основе VBA минимизирует взаимодействие пользователя и подходит как для простых, так и для сложных задач. Однако всегда сохраняйте данные перед запуском макроса и дважды проверяйте выбранный диапазон, чтобы случайно не исключить важные строки. В случае возникновения ошибок убедитесь, что все значения дат являются корректными датами Excel — записи без дат могут привести к сбою макроса. Для удобства рекомендуем назначить макрос кнопке, чтобы выполнять фильтрацию одним щелчком мыши.
Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью вспомогательного столбца Excel
Ещё одно универсальное решение — добавить вспомогательный столбец с формулой Excel, помечающей даты до или после сегодняшнего дня. Такой подход обеспечивает гибкость при настройке условий фильтрации и особенно удобен для динамических таблиц, сложной фильтрации или случаев, когда помеченные данные требуют дальнейшего анализа. В отличие от фильтрации на месте, вспомогательный столбец позволяет визуально выделить нужные строки, а затем использовать стандартный инструмент фильтрации Excel для точного контроля. Этот приём прост в реализации и идеально подходит для отслеживания сроков, просроченных задач или мониторинга предстоящих событий.
1. Вставьте новый столбец рядом со столбцом с датами. Допустим, ваши даты находятся в столбце A, начиная с ячейки A2. В новом вспомогательном столбце (например, в столбце)B) введите следующую формулу в ячейку B2, чтобы пометить все даты, предшествующие сегодняшнему дню:
=A2<,TODAY() Формула вернёт значение ИСТИНА для дат до сегодняшнего дня и ЛОЖЬ во всех остальных случаях.
If you want to flag dates after today (i.e., future dates), используйте эту версию формулы в ячейке B2:
=A2>,TODAY() 2. Протяните формулу вниз по вспомогательному столбцу, чтобы применить её ко всем строкам вашего набора данных. Если данные начинаются со строки 2, просто выделите ячейку B2, наведите курсор на правый нижний угол — дождитесь появления маленького чёрного крестика — и дважды щёлкните, чтобы автоматически заполнить все строки.
3. Теперь, когда в вашем вспомогательном столбце напротив каждой строки отображаются значения ИСТИНА или ЛОЖЬ, выделите заголовок этого столбца и включите Фильтр на вкладке Данные (если он ещё не включён). Нажмите стрелку раскрывающегося списка и отфильтруйте по значению ИСТИНА, чтобы отобразить только строки, соответствующие вашему условию — до или после сегодняшнего дня, в зависимости от использованной формулы.
💡 Советы: Чтобы избежать путаницы, назовите вспомогательный столбец в соответствии с логикой фильтрации — например, «До_сегодня» или «После_сегодня». Если нужно фильтровать по определённым условиям (например, только даты в пределах скользящего окна), при необходимости скорректируйте формулу. Всегда убедитесь, что ваш столбец с датами содержит исключительно корректные даты Excel: пустые ячейки или некорректные записи могут повлиять на результаты ИСТИНА/ЛОЖЬ.
ℹ️ Дополнительные примечания:
• Этот метод на основе формул особенно полезен для просмотра, сортировки или дальнейшего анализа данных без потери исходной информации. Он также поддерживает гибкое применение условного форматирования и сводных вычислений на основе значений ИСТИНА/ЛОЖЬ, хотя и требует дополнительного столбца. Прозрачность и многократное использование этого подхода обычно перевешивают небольшие неудобства.
• Если таблица часто обновляется, просто повторно примените или расширьте формулу по мере добавления новых строк. Если сортировка или фильтрация работают некорректно, дважды проверьте наличие пустых или несогласованных записей в столбце с датами и при необходимости пересчитайте вспомогательные формулы ()Формулы > Вычислить сейчас, если расчёт установлен вручную).
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек