Skip to main content

Kutools para Office — Uma Suíte. Cinco Ferramentas. Aumente sua Produtividade.

Como encontrar o valor máximo ou mínimo em um intervalo de datas específico (entre duas datas) no Excel?

Author Siluvia Last modified

Na análise de dados diária, especialmente ao trabalhar com registros transacionais ou dados de séries temporais, você pode frequentemente precisar identificar o maior ou menor valor que ocorre dentro de um período específico. Por exemplo, imagine que você tenha uma tabela como a mostrada na captura de tela abaixo, e deseja determinar o valor máximo ou mínimo entre duas datas — como de 01/07/2016 a 01/12/2016. Essa é uma necessidade comum ao gerar relatórios sobre períodos específicos, comparar o desempenho mensal ou rastrear picos e vales nos dados. Este artigo irá guiá-lo através de várias soluções práticas usando fórmulas do Excel, código VBA e recursos embutidos, ajudando-o a extrair rapidamente e com precisão o valor que você precisa.

A screenshot showing an Excel table with dates and values to calculate max or min in a date range


Encontre o valor máximo ou mínimo em um intervalo de datas específico com fórmulas de matriz

Uma abordagem direta é usar fórmulas de matriz no Excel, que permitem calcular valores com base em múltiplos critérios — como verificar se as datas estão dentro do intervalo especificado. Este método é adequado para dados de tamanho moderado e para usuários confortáveis ao inserir fórmulas.

Suponha que sua planilha liste datas na coluna A (A5:A17) e os valores correspondentes na coluna B (B5:B17), com as datas de início e fim para o intervalo inseridas nas células B1 e D1, respectivamente.

1. Selecione uma célula em branco onde você deseja exibir o resultado (por exemplo, E2).

Encontrando o valor máximo entre 01/07/2016 e 01/12/2016:

2. Insira a seguinte fórmula na célula selecionada. Após editar, pressione Ctrl + Shift + Enter (não apenas Enter), para que o Excel reconheça como uma fórmula de matriz:

=MAX(IF((A5:A17<=$D$1)*(A5:A17>=$B$1),B5:B17,""))

Esta fórmula verifica quais datas estão entre suas datas de início e fim, e considera apenas os valores das linhas correspondentes para calcular o máximo.

A screenshot showing the result of finding the max value within a date range using an array formula in Excel

Encontrando o valor mínimo entre 01/07/2016 e 01/12/2016:

3. Para encontrar o mínimo no mesmo intervalo de datas, use uma abordagem semelhante. Insira a seguinte fórmula (e novamente, confirme com Ctrl + Shift + Enter):

=MIN(IF((A5:A17<=$D$1)*(A5:A17>=$B$1), B5:B17, ""))

Essa fórmula funciona da mesma forma, mas retorna o valor mínimo que corresponde aos seus critérios de data.

A screenshot showing the result of finding the min value within a date range using an array formula in Excel

Notas:

  • Nos exemplos acima, A5:A17 é o intervalo contendo suas datas, $B$1 é a data de início, $D$1 é a data de término, e B5:B17 é o intervalo de valores que você deseja avaliar. Ajuste essas referências para corresponder aos seus dados reais.
  • Certifique-se de que os dois intervalos que você referencia têm o mesmo comprimento — caso contrário, a fórmula pode gerar erros.
  • Verifique duas vezes se suas entradas de data estão formatadas como datas, não como texto, ou a fórmula pode não funcionar conforme o pretendido.

Dicas:

  • Se você estiver trabalhando com o Office 365 ou Excel 2021 e versões posteriores, poderá usar as funções MAXIFS e MINIFS para cálculos mais diretos baseados em critérios.
  • Se a fórmula retornar um 0 ou ficar em branco inesperadamente, verifique se seu intervalo de datas se sobrepõe às datas disponíveis nos dados e procure células em branco despercebidas.

Código VBA: Encontre automaticamente o valor máximo ou mínimo em um intervalo de datas especificado

Para usuários que lidam com grandes conjuntos de dados, precisam repetir essa tarefa com frequência ou buscam automação em relatórios, uma solução de macro VBA pode encontrar eficientemente o valor máximo ou mínimo dentro de um intervalo de datas escolhido. Com o VBA, você pode solicitar ao usuário para selecionar os intervalos relevantes e definir as datas toda vez, tornando-o ideal para aplicações dinâmicas ou integração avançada de fluxo de trabalho.

1. Vá para Desenvolvedor > Visual Basic. Na janela do editor VBA que aparece, clique em Inserir > Módulo, e depois copie e cole o seguinte código no novo módulo:

Sub FindMaxMinInDateRange_Robust()
    Dim ws As Worksheet
    Dim dateRange As Range, valueRange As Range
    Dim startCell As Range, endCell As Range
    Dim startDate As Date, endDate As Date
    Dim i As Long
    Dim d As Date, v As Variant
    Dim hasHit As Boolean
    Dim maxV As Double, minV As Double
    Const TITLE As String = "KutoolsforExcel"
    
    On Error GoTo FailFast
    
    Set ws = ActiveSheet
    
    
    Set dateRange = Application.InputBox("Select the DATE range:", TITLE, Type:=8)
    If dateRange Is Nothing Then Exit Sub
    Set valueRange = Application.InputBox("Select the VALUE range (same rows as date range):", TITLE, Type:=8)
    If valueRange Is Nothing Then Exit Sub
    
    If dateRange.Rows.Count <> valueRange.Rows.Count Then
        MsgBox "Date range and value range must have the SAME number of rows.", vbExclamation, TITLE
        Exit Sub
    End If
    
   
    Set startCell = Application.InputBox("Select START date cell:", TITLE, Type:=8)
    If startCell Is Nothing Then Exit Sub
    Set endCell = Application.InputBox("Select END date cell:", TITLE, Type:=8)
    If endCell Is Nothing Then Exit Sub
    
    If Not IsDate(startCell.Value) Or Not IsDate(endCell.Value) Then
        MsgBox "Start/End cell must contain valid dates.", vbExclamation, TITLE
        Exit Sub
    End If
    
    startDate = CDate(startCell.Value)
    endDate = CDate(endCell.Value)
 
    If startDate > endDate Then
        Dim tmp As Date
        tmp = startDate: startDate = endDate: endDate = tmp
    End If
    

    For i = 1 To dateRange.Rows.Count
        If IsDate(dateRange.Cells(i, 1).Value) Then
            d = CDate(dateRange.Cells(i, 1).Value)
            If d >= startDate And d <= endDate Then
                v = valueRange.Cells(i, 1).Value
                If IsNumeric(v) And Not IsEmpty(v) Then
                    If Not hasHit Then
                        maxV = CDbl(v): minV = CDbl(v)
                        hasHit = True
                    Else
                        If CDbl(v) > maxV Then maxV = CDbl(v)
                        If CDbl(v) < minV Then minV = CDbl(v)
                    End If
                End If
            End If
        End If
    Next i
    
    If hasHit Then
        MsgBox "Max value in range: " & maxV & vbCrLf & _
               "Min value in range: " & minV, vbInformation, TITLE
    Else
        MsgBox "No rows matched the date range (or values were non-numeric).", vbExclamation, TITLE
    End If
    Exit Sub

FailFast:
    MsgBox "Something went wrong: " & Err.Description, vbExclamation, TITLE
End Sub

2. Para executar a macro, clique no Run button botão no editor VBA (ou pressione F5). Siga os prompts para selecionar os intervalos de datas e valores, e inserir as datas de início e fim. O valor máximo e mínimo resultante para o intervalo de datas especificado será exibido em uma caixa de diálogo.

Dicas:

  • Certifique-se de que os intervalos de datas e valores selecionados contenham o mesmo número de linhas e correspondam diretamente entre si.
  • Essa abordagem é especialmente útil para processar listas extensas ou automatizar cálculos repetitivos de máximo/mínimo com base em critérios variáveis.
  • Se um intervalo vazio ou inválido for selecionado, ou se a entrada da data não estiver formatada corretamente, o código pode não produzir um resultado válido — verifique suas seleções antes de executar.

Outros métodos embutidos do Excel: Use a Tabela Dinâmica para filtrar e exibir o máximo/mínimo por intervalo de datas

Se você prefere não usar fórmulas ou código, aproveitar o recurso de Tabela Dinâmica do Excel oferece um método interativo e livre de fórmulas para filtrar dados por data e exibir valores resumidos como máximo ou mínimo. Essa solução é adequada para usuários que precisam explorar dados, gerar relatórios ou ajustar facilmente os critérios usando uma interface gráfica.

1. Selecione sua tabela (incluindo datas e valores), depois vá até a guia Inserir e clique em Tabela Dinâmica.

2. No diálogo Criar Tabela Dinâmica, escolha onde você deseja que a Tabela Dinâmica seja colocada, e clique em OK.

3. No painel Campos da Tabela Dinâmica, arraste o campo Data para a área Linhas, e o campo Valores (aquele para o qual você deseja encontrar o máximo/mínimo) para a área Valores. Por padrão, ele mostrará Soma; clique no campo em Valores, escolha Configurações de Campo de Valor e altere para Máximo ou Mínimo conforme necessário.

4. Para filtrar por um intervalo de datas específico, clique na seta suspensa nos rótulos de linha para o campo Data, escolha Filtros de Data > Entre…, depois especifique suas datas de início e fim (por exemplo, 01/07/2016 a 01/12/2016) e clique em OK.

Agora a Tabela Dinâmica exibirá o valor máximo ou mínimo para cada data dentro do intervalo especificado. Se você só precisar do único valor mais alto ou mais baixo nesse intervalo, pode filtrar ainda mais ou visualizar o resultado resumido.

Notas:

  • Certifique-se de que todas as células na coluna Data são datas reais (não texto). Formatos mistos podem fazer com que os filtros ignorem linhas.
  • Se os dados de origem mudarem, clique com o botão direito na Tabela Dinâmica e escolha Atualizar para atualizar os resultados.
  • Dependendo do seu layout, o Excel pode agrupar datas por mês/trimestre/ano. Se necessário, clique com o botão direito em uma data na Tabela Dinâmica e escolha Desagrupar (ou Agrupar… para definir o nível desejado).
  • Para conjuntos de dados muito grandes, colocar a Tabela Dinâmica em uma nova planilha pode melhorar a legibilidade e o desempenho.

Dicas:

  • Adicione um Fatiador para o campo Data (Analisar Tabela Dinâmica > Inserir Fatiador) para alterar os intervalos interativamente.
  • Precisa de um único máximo/mínimo em todo o intervalo filtrado? Depois de filtrar, ordene a coluna Valores ou adicione um segundo campo de Valores e alterne para Máximo/Mínimo.
  • Combine com um Gráfico Dinâmico para um resumo visual que se atualiza com seus filtros.

Este método evita a entrada manual de fórmulas e permite interação dinâmica — ótimo para apresentações ou cenários multiusuários. Para saídas altamente personalizadas ou automação em lote em várias planilhas, considere as abordagens de fórmula ou VBA.


Artigos relacionados:

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com: Execução Inteligente   |  Gerar Código  |  Criar Fórmulas Personalizadas  |  Analisar Dados e Gerar Gráficos  |  Chamar Funções Aprimoradas
Recursos Populares: Localizar, Destacar ou Marcar Duplicatas   |  Excluir Linhas em Branco   |  Consolidar Colunas ou Células sem Perder Dados   |   Arredondar...
Super PROC: Procura por múltiplos critérios    Procura por múltiplos valores  |   Procura em várias planilhas   |   Correspondência Fuzzy...
Lista Suspensa Avançada: Crie rapidamente Lista suspensa  |  Lista suspensa dependente  |  Lista suspensa com múltipla seleção ...
Gerenciador de Colunas: Adicionar número específico de colunas  | Mover Colunas  | Alternar status de visibilidade de Colunas ocultas |  Comparar Intervalos & Colunas...
Recursos em Destaque: Grade de foco   |  Visualização de Design  |  Barra de fórmulas aprimorada    Gerenciador de Pasta de trabalho & Planilha   |  Biblioteca de AutoTexto (Auto Text)   |  Selecionador de Data   |  Mesclar Dados   |  Criptografar/Descriptografar Células    Enviar Email por Lista   |  Super Filtro   |   Filtro Especial (filtrar negrito/itálico/tachado...) ...
Os 15 Principais Conjuntos de Ferramentas: 12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ...)  | 50+ Tipos de Gráficos (Gráfico de Gantt, ...)  | 40+ Fórmulas Práticas (Calcular a idade com base na data de nascimento, ...)  | 19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem pelo Caminho, ...)  | 12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ...)  | 7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ...) | ...e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 idiomas!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência incomparável. Kutools para Excel oferece mais de300 recursos avançados para aumentar a produtividade e economizar tempo.  Clique aqui para acessar o recurso que você mais precisa...


Office Tab traz interface com abas para o Office e facilita muito seu trabalho

  • Habilite edição e leitura por abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie múltiplos documentos em novas abas de uma mesma janela, em vez de em novas janelas.
  • Aumente sua produtividade em50% e economize centenas de cliques todos os dias!

Todos os complementos Kutools. Um instalador

O pacote Kutools for Office reúne complementos para Excel, Word, Outlook & PowerPoint, além do Office Tab Pro, sendo ideal para equipes que trabalham em vários aplicativos do Office.

Excel Word Outlook Tabs PowerPoint
  • Pacote tudo-em-um — complementos para Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Um instalador, uma licença — configuração em minutos (pronto para MSI)
  • Trabalhe melhor em conjunto — produtividade otimizada entre os aplicativos do Office
  • Avaliação completa por30 dias — sem registro e sem cartão de crédito
  • Melhor custo-benefício — economize comparado à compra individual de add-ins