Como extrair todos os registros entre duas datas no Excel?
Ao trabalhar com grandes quantidades de dados com carimbo de data/hora no Excel, você pode frequentemente precisar extrair ou filtrar todos os registros que se enquadram entre duas datas específicas. Por exemplo, você pode querer analisar transações dentro de um período de faturamento, revisar a frequência de um mês específico ou simplesmente examinar entradas registradas em um intervalo de datas personalizado. Procurar e copiar manualmente cada linha relevante pode ser tanto tedioso quanto propenso a erros, especialmente à medida que seus dados aumentam em volume. Extrair eficientemente todos os registros entre duas datas dadas não apenas economiza tempo e esforço consideráveis, mas também reduz a probabilidade de perder entradas importantes ou introduzir falhas durante o manuseio dos dados.
![]() | ![]() | ![]() |
Abaixo, você encontrará vários métodos práticos para extrair todos os registros entre duas datas no Excel. Cada abordagem possui seus próprios cenários aplicáveis e vantagens, desde extração baseada em fórmulas (sem complementos necessários), até o uso do Kutools para Excel para maior conveniência, passando por código VBA e o filtro embutido do Excel — oferecendo soluções flexíveis para diferentes necessidades e preferências de usuário.
Extrair todos os registros entre duas datas usando fórmulas
Extrair todos os registros entre duas datas usando Kutools para Excel
Usar VBA para extrair registros entre duas datas
Usar o Filtro do Excel para extrair registros entre duas datas
Extrair todos os registros entre duas datas usando fórmulas
Para extrair todos os registros entre duas datas no Excel usando fórmulas, você pode seguir estes passos. Esta solução é especialmente útil quando você deseja atualização dinâmica: sempre que o conjunto de dados original ou as condições de data mudarem, os resultados serão atualizados automaticamente. No entanto, se você não está familiarizado com fórmulas de matriz, a configuração inicial pode parecer um pouco complexa. Se o seu conjunto de dados for muito grande, este método pode causar desempenho mais lento nos cálculos.
1. Prepare uma nova planilha, por exemplo, Planilha2, onde você especificará os limites de data e exibirá os registros extraídos. Insira a data de início e a data de término desejadas nas células A2 e B2, respectivamente. Para clareza, você pode adicionar cabeçalhos em A1 e B1 (como "Data de Início" e "Data de Término").
2. Na célula C2 da Planilha2, insira a seguinte fórmula para contar quantas linhas na Planilha1 têm datas que se enquadram no intervalo especificado:
=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))
Após inserir a fórmula, pressione Enter. Isso ajuda você a entender quantas entradas correspondem à sua condição de filtro, facilitando saber quantos resultados esperar.
Nota: Nesta fórmula, Planilha1 refere-se à sua planilha de dados original; $A$2:$A$22 é a coluna de data em seus dados. Ajuste essas referências conforme necessário para seus dados. A2 e B2 são suas células de data de início e término.
3. Para exibir os registros correspondentes, selecione uma célula em branco onde você deseja que a lista extraída comece (por exemplo, na Planilha2, célula A5). Insira a seguinte fórmula de matriz:
=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))))
Após digitar a fórmula, pressione Ctrl + Shift + Enter (em vez de apenas Enter) para fazer com que funcione como uma fórmula de matriz. Em seguida, use a alça de preenchimento para arrastá-la para a direita em tantas colunas quanto você tiver dados, e depois para baixo para que todas as linhas correspondentes sejam exibidas. Continue arrastando até ver espaços em branco, o que significa que todos os dados correspondentes foram extraídos.
Dicas:
- Se você obtiver zeros, significa que não há mais registros correspondentes para retornar. Simplesmente pare de arrastar mais.
- A parte INDEX(...) da fórmula pode ser adaptada para extrair outras colunas. Altere a coluna referenciada na parte Planilha1!A$2:A$22 se você quiser retornar outros campos.
- Esta fórmula pode ser expandida para funcionar com múltiplos critérios ou para extrair linhas inteiras (repetindo a fórmula em cada coluna).
4. Alguns resultados de data podem aparecer como números de 5 dígitos (números de série de data do Excel). Para convertê-los em formato de data legível, selecione as células correspondentes, vá para a Início guia, abra o menu suspenso de formatação e escolha Data Curta. Isso tornará os dados extraídos mais claros e utilizáveis.
Precauções:
- Certifique-se de que todas as entradas de data em seus dados originais estão realmente no formato de data, não armazenadas como texto. Caso contrário, a fórmula pode não funcionar conforme o esperado.
- Ajuste os intervalos de matriz se o tamanho dos seus dados mudar.
- Se você vir erros #NÚM! ou #N/D, verifique se há datas de entrada em branco ou inconsistências nos seus dados de origem.
Extrair todos os registros entre duas datas usando Kutools para Excel
Se você prefere uma solução mais simplificada e interativa, o recurso Selecionar Células Específicas no Kutools para Excel pode ajudá-lo a extrair linhas inteiras correspondentes ao seu intervalo de datas com apenas alguns cliques, minimizando a necessidade de fórmulas ou configurações manuais. Isso é particularmente adequado para usuários que frequentemente lidam com tarefas de filtragem complexas ou realizam operações em lote em grandes conjuntos de dados, pois reduz a chance de erros de fórmulas e acelera o fluxo de trabalho.
Após instalar o Kutools para Excel, siga os passos abaixo: (Baixe Gratuitamente Kutools para Excel Agora!)
1. Primeiro, selecione o intervalo do seu conjunto de dados que deseja analisar e extrair. Em seguida, clique Kutools > Selecionar > Selecionar Células Específicas na faixa de opções do Excel. Isso abrirá uma janela de diálogo para seleção avançada.
2. Na caixa de diálogo Selecionar Células Específicas:
- Marque a opção "Linha Inteira" para selecionar linhas completas correspondentes.
- Defina a condição de filtro: escolha Maior que e Menor que nas listas suspensas para sua coluna de data.
- Insira manualmente suas datas de início e término nas caixas de texto (certifique-se de que o formato corresponda aos seus dados).
- Certifique-se de que a lógica “E” está escolhida para que ambas as condições se apliquem simultaneamente.

3. Clique OK. O Kutools irá instantaneamente selecionar todas as linhas cuja coluna de data se encontra dentro do intervalo especificado. Em seguida, pressione Ctrl + C para copiar as linhas selecionadas, vá para uma folha em branco ou nova localização e pressione Ctrl + V para colar os resultados extraídos.
Dicas e Precauções:
- A abordagem Kutools não requer alterar seus dados originais ou escrever qualquer fórmula.
- Se houver inconsistências no formato de data, visualize os resultados da seleção antes de copiar.
- Use o recurso para trabalhos de filtragem repetidos ou em lote—repita rapidamente os passos para diferentes intervalos de datas.
- Se a versão do seu Kutools não mostrar um recurso conforme descrito, atualize para a versão mais recente para melhor compatibilidade.
Análise de Cenário: Este método é ideal para usuários que gerenciam listas com muitas colunas ou para aqueles que precisam extrair repetidamente registros completos com base em limites de data variáveis.
Código VBA - Use uma macro para filtrar e extrair automaticamente todas as linhas entre duas datas especificadas
Se o seu fluxo de trabalho frequentemente inclui extrair dados entre duas datas e você gostaria de automatizar completamente o processo, usar uma macro VBA pode ser uma escolha inteligente. Com o VBA, você pode solicitar que os usuários selecionem a coluna de data, insiram as datas de início e término, e filtrem e copiem automaticamente as linhas correspondentes para uma nova planilha. Essa abordagem economiza esforço manual e reduz erros, mas requer ativar macros e alguma familiaridade com o editor Visual Basic.
Aqui está como configurar tal macro:
1. Clique Desenvolvedor > Visual Basic para abrir o editor VBA. Na nova janela Microsoft Visual Basic for Applications, clique Inserir > Módulo, então copie e cole o seguinte código no Módulo:
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. Para executar a macro, clique no (Executar) botão ou pressione F5.
Em seguida, siga os prompts para concluir os passos:
- Selecione a tabela de dados (incluindo cabeçalhos) Quando a primeira caixa de entrada aparecer, selecione toda a tabela, incluindo a linha de cabeçalho. Clique OK.
- Selecione a coluna de data (incluindo cabeçalho) Quando a segunda caixa de entrada aparecer, selecione apenas a coluna de data, incluindo o cabeçalho. Clique OK.
- Insira as datas de início e término Você será solicitado a inserir a data de início (formato: aaaa-mm-dd, por exemplo, 2025-06-01)Depois insira a data de término (por exemplo, 2025-06-30)Clique OK após cada.
Uma planilha chamada FilteredRecords será criada automaticamente (se já não existir). As linhas correspondentes (onde a data se encontra entre as datas de início e término) serão copiadas para essa planilha. E novas linhas correspondentes serão anexadas abaixo dos resultados existentes sempre que você executar a macro.
Solução de Problemas:
- Se nada acontecer após executar, verifique seus intervalos selecionados — intervalos inválidos ou diálogos cancelados farão com que a macro saia.
- Certifique-se de que as entradas na coluna de data são verdadeiras datas do Excel; se armazenadas como texto, converta-as primeiro para filtragem precisa.
Análise de Cenário: Esta solução VBA é particularmente valiosa para tarefas repetitivas, fluxos de trabalho avançados ou quando compartilhando uma solução semi-automatizada com usuários não técnicos — basta atribuir um botão para operação ainda mais fácil.
Outros Métodos Embutidos do Excel - Usar o recurso Filtro embutido do Excel
Para usuários que preferem uma abordagem simples e interativa sem escrever fórmulas ou código, o recurso Filtro embutido do Excel oferece uma maneira rápida de visualizar e extrair linhas entre duas datas. Isso é ideal para tarefas ocasionais, verificação visual ou quando você precisa trabalhar diretamente com a interface da planilha. No entanto, ele não fornece atualizações automáticas se seus critérios de data ou dados mudarem — você precisa repetir os passos para cada nova sessão de filtro.
Aqui está como usá-lo:
- Selecione seu intervalo de dados, garantindo que os cabeçalhos das colunas estejam incluídos.
- Vá para a guia Dados na faixa de opções, então clique Filtro. Pequenas setas suspensas aparecerão ao lado de cada cabeçalho.
- Clique na seta para sua coluna de data e escolha Filtros de Data > Entre....
- Na caixa de diálogo, insira suas datas de início e término desejadas. Certifique-se de que o formato corresponde ao formato de data dos seus dados.
- Clique OK. Apenas as linhas com datas no intervalo especificado permanecerão visíveis.
- Selecione todas as linhas visíveis, pressione Ctrl + C para copiar, vá para uma área em branco ou outra planilha, e pressione Ctrl + V para colar os resultados filtrados.
Dicas e Precauções:
- Este método é melhor para inspeção rápida e visual ou extração ad-hoc.
- Se sua coluna de data usa formatos inconsistentes, corrija-os antes para garantir que o filtro funcione com precisão.
- Lembre-se de limpar o filtro quando terminar para revelar novamente o conjunto completo de dados.
- As linhas filtradas ficam ocultas, não excluídas — seus dados originais permanecem intactos.
Análise de Cenário: O Filtro embutido do Excel é mais adequado para tabelas de tamanho moderado e quando você precisa visualizar ou copiar subconjuntos instantaneamente sem salvar fórmulas ou macros.
Solução de Problemas e Sugestões de Resumo:
- Sempre confirme que suas células de data estão formatadas consistentemente em toda a planilha para que todas as soluções funcionem corretamente.
- Ao usar fórmulas ou VBA, ajuste as referências de coluna e intervalo para corresponder à estrutura real de sua planilha para evitar erros de índice ou referência.
- Para desempenho em conjuntos de dados muito grandes, Kutools ou filtragem embutida geralmente oferecem resultados mais rápidos e são menos propensos a exceder limites de memória/cálculo de fórmula comparados a extensas fórmulas de matriz.
- Se você encontrar espaços em branco inesperados ou registros ausentes na saída, verifique novamente se suas condições de data, intervalos de entrada e formatos de dados estão definidos conforme pretendido.
Demonstração: Extrair todos os registros entre duas datas usando Kutools para Excel
Melhores Ferramentas de Produtividade para Office
Potencialize suas habilidades no Excel com o Kutools para Excel e experimente uma eficiência sem igual. O Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo. Clique aqui para obter o recurso que você mais precisa...
O Office Tab traz interface com abas para o Office e facilita muito o seu trabalho
- Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Abra e crie vários documentos em novas abas na mesma janela, em vez de abrir novas janelas.
- Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!