Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

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


Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью функции Фильтр

Встроенная функция Фильтр Excel предлагает простой способ выявления и отображения дат либо до, либо после сегодняшнего дня. Этот подход визуален и не требует использования формул или кода VBA, что делает его идеальным для пользователей, желающих быстро фильтровать текущие наборы данных без использования формул или VBA.

1. Выберите столбец, содержащий ваши даты, затем перейдите на вкладку Данные и нажмите Фильтр на ленте. Вы должны увидеть значки фильтра рядом с каждым заголовком столбца, как показано ниже:

a screenshot of enabling the Filter function

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

a screenshot of specifying the filter condition

3. В Автоматический настраиваемый фильтр диалоговом окне нажмите Выбор даты a screenshot of a calendar icon значок, чтобы открыть календарь. Нажмите кнопку Сегодня чтобы быстро установить сегодняшнюю дату.

a screenshot of picking today's date in the calendar

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

a screenshot showing the original data and the filtered data

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

⚠️ Примечание: Если ваш столбец с датами содержит текст или не отформатирован как правильные даты 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, чтобы избежать ошибок кода.

a screenshot of selecting the date range after running the VBA code

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

⚠️ Примечание: Фильтрация на основе VBA минимизирует взаимодействие пользователя и подходит как для простых, так и для сложных потребностей. Однако всегда сохраняйте свои данные перед применением VBA и еще раз проверьте выбранный диапазон, чтобы случайно не отфильтровать важные строки. Если возникают ошибки, убедитесь, что все значения дат являются действительными датами — записи, не являющиеся датами, могут привести к сбою макроса. Для удобства использования рассмотрите возможность назначения макроса кнопке для фильтрации одним щелчком.


Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью вспомогательного столбца формул Excel

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

1. Вставьте новый столбец рядом со столбцом дат. Для иллюстрации предположим, что ваши даты находятся в столбце A, начиная с ячейки A2. В новом вспомогательном столбце (предположим, столбец B) введите следующую формулу в B2 для отметки дат до сегодняшнего дня:

=A2<TODAY()

Формула вернет ИСТИНА для дат до сегодняшнего дня и ЛОЖЬ в противном случае.

Если вы хотите отметить даты после сегодняшнего дня (то есть будущие даты), используйте эту версию в B2:

=A2>TODAY()

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

3. Теперь, когда ваш вспомогательный столбец показывает ИСТИНА или ЛОЖЬ напротив каждой строки, выберите заголовок нового вспомогательного столбца и включите Фильтр на вкладке Данные (если он еще не включен). Нажмите стрелку выпадающего списка и отфильтруйте по ИСТИНА, чтобы видеть только строки, соответствующие вашему условию (либо до, либо после сегодняшнего дня, в зависимости от использованной формулы).

💡 Советы: Чтобы избежать путаницы, рассмотрите возможность маркировки вспомогательного столбца в соответствии с логикой фильтра, например "До_Сегодня" или "После_Сегодня." Если вам нужно фильтровать по конкретным условиям (например, только даты в рамках подвижного окна), скорректируйте формулу по необходимости. Всегда проверяйте, что ваш столбец с датами содержит только правильные даты Excel, так как пустые или не являющиеся датами записи могут повлиять на результаты ИСТИНА/ЛОЖЬ.

ℹ️ Дополнительные примечания:

• Этот метод, основанный на формулах, особенно полезен для просмотра, сортировки или дальнейшего анализа данных без потери исходной информации. Он также поддерживает гибкое условное форматирование и сводные расчеты на основе значений ИСТИНА/ЛОЖЬ, хотя требует дополнительного столбца. Прозрачность и возможность повторного использования этого подхода часто перевешивают это небольшое неудобство.

• Если ваша таблица часто обновляется, просто переопределите или расширьте формулу по мере добавления новых строк. Если сортировка или фильтрация не работают должным образом, еще раз проверьте наличие пустых или несогласованных записей в вашем столбце с датами и, при необходимости, пересчитайте вспомогательные формулы (Формулы > Пересчитать сейчас, если расчет установлен вручную).


Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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