KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как отфильтровать в Excel все ячейки с датами до или после сегодняшнего дня?

АвторСяоянДата изменения

В этой статье мы подробно рассмотрим методы фильтрации всех ячеек с датами, приходящимися на период до или после сегодняшнего дня, на листе 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 — это поможет избежать ошибок при выполнении кода.

снимок экрана с выбором диапазона дат после выполнения кода VBA

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

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал 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.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек