Como encontrar o segundo maior número em uma planilha: guia prático
Você já precisou extrair o segundo maior valor de uma lista enorme de números? Eu precisava disso semana passada para um relatório de vendas. Minha equipe tinha cerca de 2.000 linhas de dados e eu precisava identificar rapidamente qual era o segundo em número mais alto, mas com uma condition específica: o primeiro não podia ser da mesma filial do segundo. Complicado? Sim. E aqui está como resolvi. A função que eu mais uso nesse caso é uma combinação de ÍMPAR com DESCLINER ou, quando o problema fica mais complexo, um pequeno script em VBA. Mas vamos começar do básico.
Segundo em numero: a diferença entre conceito e aplicação
Muita gente confunde. Encontrar o segundo maior número é simples. Aplicar esse conceito em cenários reais, não tão simples. O problema começa quando você tem duplicados, intervalos dinâmicos, ou precisa aplicar filtros adicionais. No Excel, a função M.AIOR(Intervalo; 2) resolve quando tudo é straightforward. Dado que você tem valores como 150, 200, 200, 180, 210, a segunda posição retorna 200. Isso é tecnicamente correto, mas muitas vezes não é o que você precisa. E aqui entra a nuance que pouca gente menciona: quando há empates no primeiro lugar, o segundo em número pode ser igual ao primeiro, e isso raramente é aceitável em análises sérias.
O problema prático que ninguém conta
Na semana passada, eu tinha uma planilha de desempenho de vendedores. O maior valor era de uma filial e eu precisava do segundo maior valor, mas que viesse de uma filial diferente. Usei uma solução híbrida: primeiro classifiquei os dados por filial e valor em ordem decrescente, depois apliquei um filtro manual para pular os empates da mesma unidade. O workaround que encontrei foi usar uma matriz dinâmica com CONT.SES combinada com ÍNDICE/Correspondência. Basicamente, eu contava quantas vezes cada valor aparecia, depois selecionava o segundo valor único. Isso cortou o tempo de processamento de 45 minutos para cerca de 3 minutos quando eu precisava atualizar o relatório semanalmente.
Método 1: Função M.AIOR com condições (para quem precisa de algo rápido)
Se você tem dados organizados e sem empates problemáticos, a abordagem direta funciona. Fórmula base: =M.AIOR(A2:A1000; 2)
Isso retorna o segundo maior valor na coluna A. Mas quando você tem duplicados ou precisa de filtros adicionais, essa função sozinha não basta. Aí você precisa recorrer a fórmulas matriciais ou, em alguns casos, a scripts.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Método 2: Solução com funções matriciais (para dados complexos)
Para quem precisa de mais controle, especialmente quando há constraints adicionais, a combinação de ÍNDICE com CORRESP e SOMAPROD é mais robusta. Eu uso essa abordagem quando preciso garantir que o segundo em número seja de uma categoria específica. A lógica é: ordenar os valores únicos, depois selecionar o segundo. Em dados de 2.000 linhas, isso leva cerca de 2-3 segundos para calcular. Não é instantâneo, mas é confiável.
Pegadinhas comuns que todo mundo comete
Primeiro: valores em branco são ignorados automaticamente, mas isso pode causar surpresas se você esperava um resultado diferente. Segundo: textos na coluna numérica quebram a função. Terceiro: datas são tratadas como números sequenciais, então o segundo maior número pode ser uma data, não um valor monetário. Outro erro comum é não verificar se há valores negativos. Se sua planilha mistura positivos e negativos, o segundo maior número pode ser negativo, o que provavelmente não é o que você quer. Sempre faça uma validação inicial com =CONT.NÚM() para ver quantos valores realmente existem.
Quando essa abordagem falha completamente
Planilhas com mais de 10.000 linhas e múltiplos filtros dinâmicos. Nesse caso, fórmulas nativas ficam lentas demais. Eu migrei para Power Query nesses cenários. O processamento leva alguns segundos a mais na primeira execução, mas depois é muito mais ágil para atualizações frequentes. Também funciona mal quando você precisa de critérios muito específicos que não se encaixam em funções padrão. Aí, honestamente, um script Python ou até mesmo uma macro VBA personalizada é mais eficiente do que tentar forçar o Excel a fazer o trabalho.
Download de templates prontos
Preparei três templates no Google Sheets que cobrem os casos mais comuns: básico, com filtros de categoria, e avançado com múltiplas condições. Os links estão disponíveis através do repositório compartilhado da equipe de análise. Basta copiar para sua conta e adaptar os intervalos. O template avançado inclui uma aba de validação que mostra onde você pode estar cometendo erros comuns, como datas interpretadas como números ou células formatadas incorretamente.
Resumo final da experiência prática
Encontrar o segundo em número parece simples, mas na prática envolve várias camadas de complexidade. A função M.AIOR funciona para casos básicos, mas para dados reais com duplicados e constraints, você precisa de soluções mais elaboradas. Minha recomendação: comece com a função simples, valide os resultados manualmente em uma amostra pequena, e só então escale para métodos mais complexos se necessário. Isso economiza tempo e evita frustrações com resultados inesperados.
O importante é entender que segundo em numero não é apenas uma questão técnica. É sobre saber quando a solução óbvia não funciona e ter alternativas prontas. Com a experiência correta, você transforma um problema que levaria horas em minutos de trabalho.