Как отфильтровать все ячейки с датами до или после сегодняшнего дня в Excel?
В этой статье мы рассмотрим пошаговые методы фильтрации всех ячеек с датами, которые находятся до или после сегодняшнего дня, на листе Excel. Управление и анализ данных, чувствительных ко времени, является частым требованием, особенно при работе с журналами, расписаниями, временными рамками проектов или отслеживанием сроков. Эффективная фильтрация по датам облегчает фокусировку только на тех записях, которые имеют значение в данный момент времени, тем самым улучшая рабочий процесс и точность принятия решений.
➤ Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью функции Фильтр
➤ Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью кода VBA
➤ Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью вспомогательного столбца формул Excel
Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью функции Фильтр
Встроенная функция Фильтр Excel предлагает простой способ выявления и отображения дат либо до, либо после сегодняшнего дня. Этот подход визуален и не требует использования формул или кода VBA, что делает его идеальным для пользователей, желающих быстро фильтровать текущие наборы данных без использования формул или 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 минимизирует взаимодействие пользователя и подходит как для простых, так и для сложных потребностей. Однако всегда сохраняйте свои данные перед применением VBA и еще раз проверьте выбранный диапазон, чтобы случайно не отфильтровать важные строки. Если возникают ошибки, убедитесь, что все значения дат являются действительными датами — записи, не являющиеся датами, могут привести к сбою макроса. Для удобства использования рассмотрите возможность назначения макроса кнопке для фильтрации одним щелчком.
Фильтрация всех ячеек с датами до или после сегодняшнего дня с помощью вспомогательного столбца формул Excel
Другое универсальное решение включает добавление вспомогательного столбца с формулой Excel для маркировки дат, которые находятся до или после сегодняшнего дня. Этот метод обеспечивает большую гибкость в определении и корректировке условий фильтрации, что особенно подходит для динамических таблиц, сложной фильтрации или когда требуется провести дальнейший анализ помеченных данных. В отличие от фильтрации на месте, подход с использованием вспомогательного столбца позволяет визуально отметить строки, а затем применить инструмент Фильтр Excel для более детального контроля. Этот метод легко реализовать и он отлично подходит для отслеживания сроков, просроченных задач или мониторинга предстоящих событий.
1. Вставьте новый столбец рядом со столбцом дат. Для иллюстрации предположим, что ваши даты находятся в столбце A, начиная с ячейки A2. В новом вспомогательном столбце (предположим, столбец B) введите следующую формулу в B2 для отметки дат до сегодняшнего дня:
=A2<TODAY()
Формула вернет ИСТИНА для дат до сегодняшнего дня и ЛОЖЬ в противном случае.
Если вы хотите отметить даты после сегодняшнего дня (то есть будущие даты), используйте эту версию в 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-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек