KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como encontrar o valor máximo ou mínimo num determinado intervalo de datas (entre duas datas) no Excel?

AutorSiluvia Data de Modificação

No dia a dia da Análise de Dados, especialmente ao trabalhar com registos transacionais ou séries temporais, é frequente precisar de identificar o valor mais alto ou mais baixo num determinado período. Por exemplo, imagine que tem uma tabela como a apresentada na imagem seguinte e pretende encontrar o valor máximo ou mínimo entre duas datas — por exemplo, de 1/7/2016 a 1/12/2016. Trata-se de um requisito comum ao gerar relatórios para períodos específicos, comparar desempenhos mensais ou monitorizar picos e mínimos nos dados. Este artigo orientá-lo-á através de várias soluções práticas, utilizando fórmulas do Excel, código VBA e funcionalidades integradas, para que possa extrair de forma rápida e precisa exatamente o valor de que necessita.

Uma captura de ecrã que mostra uma tabela do Excel com datas e valores para calcular o máximo ou mínimo num intervalo de datas


Encontrar o valor máximo ou Valor Mínimo num determinado Intervalo de Datas com fórmulas matriciais

Uma abordagem simples consiste em utilizar fórmulas matriciais no Excel, que lhe permitem calcular valores com base em múltiplos critérios — como verificar se as datas estão dentro do seu intervalo definido. Este método é ideal para conjuntos de dados de dimensão moderada e para utilizadores à vontade com a introdução de fórmulas.

Suponha que as suas datas da Lista de Planilhas estejam na coluna A (A5:A17) e os respetivos valores na coluna B (B5:B17), com a data de início e a data de término do intervalo inseridas nas células B1 e D1, respetivamente.

1. Selecione uma célula vazia onde deseje exibir o resultado (por exemplo, E2).

Encontrar o Valor Máximo entre 1/7/2016 e 1/12/2016:

2. Introduza a seguinte fórmula na célula selecionada. Após a edição, prima Ctrl+Shift+Enter (e não apenas Enter) para que o Excel a reconheça como uma fórmula matricial:

=MAX(IF((A5:A17=$B$1),B5:B17,""))

Esta fórmula identifica as datas compreendidas entre a data de início e a data de término, considerando apenas os valores das linhas correspondentes para calcular o máximo.

Uma captura de ecrã que mostra o resultado da obtenção do valor máximo dentro de um intervalo de datas utilizando uma fórmula matricial no Excel

Encontrar o Valor Mínimo entre 1/7/2016 e 1/12/2016:

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

=MIN(IF((A5:A17=$B$1), B5:B17, ""))

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

Uma captura de ecrã que mostra o resultado da obtenção do valor mínimo dentro de um intervalo de datas utilizando uma fórmula matricial no Excel

Notas:

  • Nos exemplos acima, A5:A17 é o intervalo que contém as suas datas, $B$1 é a data de início, $D$1 é a data de término e B5:B17 é o intervalo de valores que pretende avaliar. Ajuste estas referências para corresponderem aos seus dados reais.
  • Certifique-se de que os dois intervalos referidos têm o mesmo comprimento; caso contrário, a fórmula poderá gerar erros.
  • Verifique cuidadosamente se as suas entradas de data estão formatadas como datas e não como texto, caso contrário a fórmula poderá não funcionar como esperado.

Sugestões:

  • Se estiver a trabalhar com o Office 365 ou Excel 2021 e versões posteriores, pode utilizar as funções MAXIFS e MINIFS para realizar cálculos baseados em critérios de forma mais direta.
  • Se a fórmula devolver inesperadamente um 0 ou um valor em branco, verifique se o seu intervalo de datas se sobrepõe às datas disponíveis nos dados e procure por células em branco inadvertidas.

Código VBA: Encontrar automaticamente o valor máximo ou Valor Mínimo num intervalo Data específica

Para utilizadores que trabalham com grandes conjuntos de dados, precisam de repetir frequentemente esta tarefa ou pretendem automatizar relatórios, uma solução com macro VBA permite encontrar de forma eficiente o valor máximo ou mínimo dentro de um intervalo de datas escolhido. Com o VBA, pode solicitar ao utilizador que selecione os intervalos relevantes e defina as datas em cada utilização, tornando-a ideal para aplicações dinâmicas ou integração avançada em fluxos de trabalho.

1. Aceda a Programador > Visual Basic. Na janela do editor VBA que surge, clique em Inserir > Módulo e 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 botão Botão Executarno editor VBA (ou prima)F5). Siga as instruções para selecionar os intervalos de datas e valores e introduzir as datas de início e de término. Após concluído, o valor máximo e o valor mínimo correspondentes ao seu intervalo de datas específico serão apresentados numa caixa de diálogo.

Sugestões:

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

Outros métodos integrados do Excel: Utilize a Tabela Dinâmica para filtrar e apresentar valores máximos/mínimos por Intervalo de Datas

Se preferir não utilizar fórmulas nem código, a funcionalidade Tabela Dinâmica do Excel oferece um método interativo e sem fórmulas para filtrar dados por data e apresentar valores resumo, como o máximo ou o mínimo. Esta solução é ideal para utilizadores que precisam de explorar dados, gerar relatórios ou ajustar facilmente critérios através de uma interface gráfica.

1. Selecione a sua tabela (incluindo datas e valores), aceda ao separador Inserir e clique em Tabela Dinâmica.

2. Na caixa de diálogo Criar Tabela Dinâmica, escolha onde pretende colocar a Tabela Dinâmica 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 pretende encontrar o máximo ou mínimo) para a área Valores. Por predefinição, será apresentada a Soma; clique no campo em Valores, escolha Configuração de Valor – Configurações de Campo e altere para Máx ou Mín, conforme necessário.

4. Para filtrar por um determinado intervalo de datas, clique na seta suspensa dos rótulos de linha do campo Data, escolha Filtros de Data > Entre…, especifique a data inicial e a data de término (por exemplo,)2016/7/1 a 2016/12/1) e clique em OK.

A Tabela Dinâmica apresentará agora o valor máximo ou mínimo para cada data dentro do seu intervalo limitado. Caso precise apenas do valor mais alto ou mais baixo em todo esse intervalo, pode aplicar um filtro adicional ou analisar visualmente o resultado resumido.

Notas:

  • Certifique-se de que todas as células na coluna Data contêm datas reais (e 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 do rato na Tabela Dinâmica e escolha Atualizar para atualizar os resultados.
  • De acordo com o seu esquema, o Excel poderá agrupar datas por mês, trimestre ou ano. Se necessário, clique com o botão direito numa data na Tabela Dinâmica e escolha Desagrupar(ou)Agrupar… para definir o nível pretendido).
  • Para conjuntos de dados muito grandes, colocar a Tabela Dinâmica numa nova folha pode melhorar significativamente a legibilidade e o desempenho.

Sugestões:

  • Adicione um Segmentador de Dadosao campo Data (Análise de Tabela Dinâmica >)Inserir Segmentador de Dados) para alterar intervalos interativamente.
  • Precisa de obter um único valor máximo ou mínimo em todo o intervalo filtrado? Após aplicar o filtro, ordene a coluna Valores ou adicione um segundo campo Valores e altere-o para Máx/Mín.
  • Combine com um Gráfico Dinâmico para obter um resumo visual que se atualiza automaticamente à medida que aplica os seus filtros.

Este método evita a introdução manual de fórmulas e permite uma interação dinâmica — ideal para apresentações ou cenários com vários utilizadores. Para resultados altamente personalizados ou automatização em lote em várias folhas, considere utilizar fórmulas ou abordagens em VBA.


Artigos relacionados:

As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos