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

Как извлечь все записи между двумя заданными датами в Excel?

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

При работе с большим объёмом временных меток в Excel вам нередко приходится извлекать или фильтровать записи, попадающие в интервал между двумя конкретными датами. Например, вы можете захотеть проанализировать транзакции за расчётный период, проверить посещаемость за определённый месяц или просто изучить записи, сделанные в течение заданного диапазона дат. Ручной поиск и копирование каждой подходящей строки — утомительный и ошибкоопасный процесс, особенно по мере роста объёма данных. Эффективное извлечение всех записей между двумя указанными датами не только существенно экономит время и усилия, но и минимизирует риск пропустить важные данные или допустить ошибки при обработке информации.

Снимок экрана диапазона данных в Excel для извлечения записей между двумя датамиСтрелка вправоСнимок экрана с извлеченными записями между двумя датами в Excel

Ниже представлены несколько практичных способов извлечения всех записей между двумя датами в Excel. Каждый метод идеально подходит для определённых ситуаций и имеет свои преимущества: от использования формул (без надстроек) и встроенного фильтра Excel до применения Kutools для Excel ради удобства и даже написания кода на VBA — обеспечивая гибкие решения под любые задачи и предпочтения пользователей.

Извлечение всех записей между двумя датами с помощью формул

Извлечение всех записей между двумя датами с помощью Kutools для Excelgood idea3

Использование VBA для извлечения записей между двумя датами

Использование фильтра Excel для извлечения записей между двумя датами


Извлечение всех записей между двумя датами с помощью формул

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

1. Подготовьте новый лист, например «Лист2», где вы зададите диапазон дат и отобразите извлечённые записи. Введите нужные даты начала и окончания в ячейки A2 и B2 соответственно. Для наглядности добавьте заголовки в ячейки A1 и B1 (например, «Дата начала» и «Конечная дата»).
Снимок экрана ячеек ввода начальной и конечной даты в Excel

2. В ячейку C2 на Листе2 введите следующую формулу, чтобы подсчитать количество строк на Листе1, даты в которых попадают в заданный ограниченный диапазон:

=SUMPRODUCT((Sheet1!$A$2:$A$22>,=A2)*(Sheet1!$A$2:$A$22<,=B2))

После ввода формулы нажмите Enter. Это поможет вам понять, сколько записей соответствует условию фильтрации, и упростит оценку ожидаемого количества результатов.
Снимок экрана формулы, используемой для подсчета совпадающих строк между двумя датами

Примечание: В этой формуле Лист1 — это лист с исходными данными; $A$2:$A$22 — столбец с датами в ваших данных. При необходимости скорректируйте эти ссылки. A2 и B2 — ячейки с начальной и конечной датой.

3. Чтобы отобразить соответствующие записи, выделите пустую ячейку, с которой должен начинаться вывод списка «Извлечь» (например, на Листе2 — ячейку A5), и введите следующую формулу массива:

=IF(ROWS(A$5:A5)>,$C$2,"",INDEX(Sheet1!A$2:A$22,SMALL(IF((Sheet1!$A$2:$A$22>,=$A$2)*(Sheet1!$A$2:$A$22<,=$B$2),ROW(Sheet1!A$2:A$22)-ROW(Sheet1!$A$2)+1),ROWS(A$5:A5))))

После ввода формулы нажмите Ctrl + Shift + Enter (а не просто Enter), чтобы она работала как формула массива. Затем используйте маркер заполнения, чтобы протянуть её вправо — на столько столбцов, сколько у вас есть данных, — а потом вниз, пока не отобразятся все подходящие строки. Продолжайте перетаскивание, пока не появятся пустые ячейки: это значит, что все соответствующие данные уже извлечены.
Снимок экрана с извлеченными данными с использованием формул

Советы:

  • Если вы видите нули, это значит, что подходящих записей больше нет — просто прекратите перетаскивание.
  • Часть формулы INDEX(…) можно адаптировать для извлечения данных из других столбцов. Просто измените ссылку на столбец в части Sheet1!A$2:A$22, чтобы получить нужные поля.
  • Эту формулу можно расширить для работы с несколькими критериями или для извлечения всей строки (путём повторения формулы в каждом столбце).

4. Некоторые даты могут отображаться как пятизначные числа (серийные номера дат Excel). Чтобы преобразовать их в читаемый формат даты, выделите нужные ячейки, перейдите на вкладку Главная, откройте выпадающий список форматов и выберите Краткая дата. Так ваши данные станут понятнее и удобнее в работе!
Снимок экрана отформатированных дат

Меры предосторожности:

  • Убедитесь, что все даты в исходных данных действительно указаны в формате «Формат даты», а не сохранены как текст — иначе формула может работать некорректно.
  • При изменении объёма данных обязательно скорректируйте диапазоны массивов.
  • Если вы видите ошибки #ЧИСЛО! или #Н/Д, проверьте наличие пустых дат во входных данных или несогласованности в ваших исходных данных.

Извлечение всех записей между двумя датами с помощью Kutools для Excel

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

Kutools для Excel,оснащённый ИИ 🤖предлагает более 300 удобных функций для упрощения ваших задач.

После установки Kutools для Excel следуйте инструкциям ниже:(Бесплатно скачать Kutools для Excel прямо сейчас!)

1. Сначала выделите диапазон данных, который нужно проанализировать и из которого требуется извлечь информацию. Затем на ленте Excel нажмите Kutools > Выделить > Выбрать определенные ячейки. Откроется диалоговое окно расширенного выделения.
Снимок экрана функции Kutools «Выделить определенные ячейки»

2. В диалоговом окне Выбрать определенные ячейки:

  • Установите флажок «Вся строка», чтобы выбрать строки, полностью соответствующие условию.
  • Задайте условие фильтрации: выберите Больше и Меньше в раскрывающемся списке для столбца с датами.
  • Вручную введите начальную и конечную даты в текстовое поле (убедитесь, что формат совпадает с данными).
  • Убедитесь, что выбрана логика «И», чтобы оба условия применялись одновременно.
См. снимок экрана:
Снимок экрана диалогового окна «Выделить определенные ячейки» с параметрами «больше чем» и «меньше чем»

3. Нажмите кнопку ОК. Kutools немедленно выделит все строки, в которых дата попадает в указанный вами диапазон. Затем нажмите сочетание клавиш Ctrl + C, чтобы скопировать выделенные строки, перейдите на новый лист или в другое место и нажмите Ctrl + V, чтобы вставить полученные результаты.
Снимок экрана с извлеченными строками после использования Kutools для выделения и копирования записей между двумя датами

Советы и предостережения:

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

Анализ сценариев: Этот метод идеально подходит пользователям, работающим со списками, содержащими множество столбцов, а также тем, кому регулярно нужно извлекать полные записи на основе меняющихся временных границ.


Код VBA — используйте макрос для автоматической фильтрации и извлечения всех строк между двумя Определенная дата

Если в вашем рабочем процессе часто возникает необходимость извлекать данные между двумя датами и вы стремитесь полностью автоматизировать эту задачу, макрос VBA станет идеальным решением. С его помощью можно предложить пользователю выбрать столбец с датами, указать начальную и конечную даты, а затем автоматически отфильтровать и скопировать соответствующие строки на новый лист. Такой подход не только экономит время, но и минимизирует ошибки — правда, требует включения макросов и базового знакомства с редактором Visual Basic.

Вот как настроить такой макрос:

1. Нажмите Разработчик > Visual Basic, чтобы открыть редактор VBA. В новом окне Microsoft Visual Basic для приложений выберите Вставка > Модуль, затем скопируйте и вставьте приведённый ниже код в модуль:

Sub ExtractRowsBetweenDates_Final()
'Updated by Extendoffice
    Dim wsSrc As Worksheet
    Dim wsDest As Worksheet
    Dim rngTable As Range
    Dim colDate As Range
    Dim StartDate As Date
    Dim EndDate As Date
    Dim i As Long
    Dim destRow As Long
    Dim dateColIndex As Long
    Dim cellDate As Variant

    Set wsSrc = ActiveSheet
    Set rngTable = Application.InputBox("Select the data table (including headers):", "KutoolsforExcel", Type:=8)
    If rngTable Is Nothing Then Exit Sub

    Set colDate = Application.InputBox("Select the date column (including header):", "KutoolsforExcel", Type:=8)
    If colDate Is Nothing Then Exit Sub

    On Error GoTo DateError
    StartDate = CDate(Application.InputBox("Enter the start date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    EndDate = CDate(Application.InputBox("Enter the end date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
    On Error GoTo 0

    On Error Resume Next
    Set wsDest = Worksheets("FilteredRecords")
    On Error GoTo 0
    If wsDest Is Nothing Then
        Set wsDest = Worksheets.Add
        wsDest.Name = "FilteredRecords"
        
        rngTable.Rows(1).Copy
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
    End If

    destRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1
    dateColIndex = colDate.Column - rngTable.Columns(1).Column + 1

    For i = 2 To rngTable.Rows.Count
        cellDate = rngTable.Cells(i, dateColIndex).Value
        If IsDate(cellDate) Then
            If cellDate >= StartDate And cellDate <= EndDate Then
                rngTable.Rows(i).Copy
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
                wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteFormats
                destRow = destRow + 1
            End If
        End If
    Next i

    Application.CutCopyMode = False
    wsDest.Columns.AutoFit
    MsgBox "Filtered results have been added to '" & wsDest.Name & "'.", vbInformation
    Exit Sub

DateError:
    MsgBox "Invalid date format. Please enter dates as yyyy-mm-dd.", vbExclamation
End Sub

2. Чтобы запустить макрос, нажмите кнопку Кнопка запуска («Выполнить») или клавишу F5.

Затем следуйте инструкциям для завершения настройки:

  1. Выделите таблицу данных (включая заголовки)
    Когда появится первое диалоговое окно, выделите всю таблицу, включая строку заголовков, и нажмите ОК.
  2. Select the date column (including header)
    Когда появится второе диалоговое окно, выделите только столбец с датами, включая заголовок, и нажмите ОК.
  3. Введите начальную и Конечная дата
    Вам будет предложено указать Дата начала (формат: гггг-мм-дд, например, 2025-06-01)
    Затем введите Конечная дата (например, 2025-06-30)
    Нажмите ОКпосле каждого ввода.

Автоматически создаётся лист с именем FilteredRecords (если он ещё не существует). Соответствующие строки, в которых дата находится между начальной и конечной, копируются на этот лист. При каждом последующем запуске макроса новые совпадающие строки добавляются под уже существующими результатами.

Устранение неполадок:

  • Если после запуска ничего не происходит, проверьте параметр «Выберите диапазон»: недопустимые диапазоны или отменённые диалоговые окна приведут к завершению макроса.
  • Убедитесь, что записи в столбце с датами являются настоящими датами Excel; если они сохранены как текст, сначала преобразуйте их — это обеспечит точную фильтрацию.

Анализ сценариев: Это решение на основе VBA особенно ценно при выполнении повторяющихся задач, в сложных рабочих процессах или при передаче полуавтоматизированного решения нетехническим пользователям. Для ещё большего удобства макрос можно назначить на кнопку.


Другие встроенные методы Excel — используйте встроенную функцию фильтрации Excel

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

Вот как её использовать:

  • Выделите диапазон данных, обязательно включив заголовки столбцов.
  • Перейдите на вкладку Данные на ленте, затем нажмите Фильтр. Рядом с каждым заголовком появятся небольшие стрелки раскрывающегося списка.
  • Нажмите стрелку в столбце с датами и выберите Фильтры по дате > Между….
  • В диалоговом окне укажите желаемые начальную и конечную даты. Убедитесь, что их формат совпадает с форматом дат в ваших данных.
  • Нажмите ОК. Останутся видимыми только строки с датами в указанном ограниченном диапазоне.
  • Выделите все видимые строки, нажмите Ctrl + C, чтобы скопировать, перейдите в пустую область или на другой лист и нажмите Ctrl + V, чтобы вставить отфильтрованные результаты.

Советы и меры предосторожности:

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

Анализ сценариев: Встроенный фильтр Excel идеально подходит для таблиц среднего размера и ситуаций, когда нужно мгновенно просмотреть или скопировать подмножества данных без сохранения формул или макросов.


Устранение неполадок и рекомендации по итогам:

  • Всегда проверяйте, чтобы ячейки с датами имели единый формат по всему листу — это гарантирует корректную работу всех функций.
  • При использовании формул или VBA обязательно адаптируйте ссылки на столбцы и диапазоны под реальную структуру вашего листа, чтобы избежать ошибок индексации и некорректных ссылок.
  • Для очень больших наборов данных Kutools или встроенный фильтр Excel обычно обеспечивают более высокую производительность и реже достигают пределов памяти или вычислительных возможностей по сравнению с объёмными формулами массивов.
  • Если в результатах появляются неожиданные пустые ячейки или отсутствующие записи, дважды проверьте корректность заданных условий дат, входного диапазона и форматов данных.

Демонстрация: извлечение всех записей между двумя датами с помощью Kutools для Excel

 
Kutools для Excel: Более 300 удобных инструментов всегда под рукой! Воспользуйтесь функциями на базе ИИ для более умной и быстрой работы!Скачать сейчас!

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