Como criar uma lista dinâmica dos 10 principais (ou n) no Excel?
Em muitos projetos e processos empresariais, é comum a necessidade de classificar indivíduos, organizações, produtos ou outras entidades com base no seu desempenho ou em valores numéricos. Uma “lista dos principais” destaca as entradas com melhor desempenho — como os alunos com as melhores notas, os vendedores mais eficazes ou os departamentos com maiores receitas. Por exemplo, pode ter uma tabela com as notas dos alunos e pretender extrair dinamicamente os 10 melhores classificados para atribuição de prémios, análise ou acompanhamento de resultados educacionais, conforme ilustrado na imagem abaixo. Criar uma lista dinâmica dos 10 primeiros (ou dos N primeiros) no Excel permite-lhe obter resultados atualizados automaticamente sempre que os dados mudarem, poupando tempo e evitando erros associados a classificações manuais. Este guia apresenta várias soluções práticas — incluindo fórmulas, Tabelas Dinâmicas e macros VBA — para o ajudar a construir eficazmente uma lista dinâmica dos 10 (ou N) principais, adaptada às mais diversas necessidades de análise de dados.

Criar uma lista dinâmica dos principais 10 no Excel
- Fórmulas para criar uma lista dinâmica dos principais 10
- Fórmulas para criar uma lista dinâmica dos principais 10 com critérios
Criar uma lista dinâmica dos principais 10 no Office 365
- Fórmula para criar uma lista dinâmica dos principais 10
- Fórmula para criar uma lista dinâmica dos principais 10 com critérios
Criar uma lista dinâmica dos principais 10 com um(a) Tabela Dinâmica
Criar uma lista dinâmica dos principais 10 no Excel
No Excel 2019 e versões anteriores, criar uma lista dinâmica dos principais 10 (ou dos principais N) exige combinar fórmulas para extrair simultaneamente os maiores valores e os respetivos nomes ou identificadores associados. Esta abordagem é amplamente adotada e ideal para cenários em que pretende que a lista se atualize automaticamente sempre que os dados forem alterados. Os passos seguintes explicam como alcançar este objetivo utilizando fórmulas clássicas do Excel — soluções flexíveis que não dependem de suplementos especiais, embora o processo de configuração seja ligeiramente mais complexo do que com as modernas funções de matrizes dinâmicas.
Fórmulas para criar uma lista dinâmica dos principais 10
1. Para começar, precisa de extrair os 10 principais valores do seu intervalo. Introduza a seguinte fórmula numa célula vazia (por exemplo, na célula G2). Depois de introduzir a fórmula, arraste a alça de preenchimento para baixo e gere automaticamente a sua lista dinâmica dos 10 principais valores. Veja a imagem:

2. Em seguida, para apresentar os nomes (ou identificadores) correspondentes a esses principais valores, introduza a seguinte fórmula na célula F2. Como se trata de uma fórmula de matriz, após a introduzir, deve premir Ctrl + Shift + Enter para confirmar. Esta fórmula encontra os nomes correspondentes aos principais valores que acabou de extrair:
-A2:A20é o intervalo de onde extrair os nomes;
-B2:B20é o intervalo das pontuações ou valores;
-G2é o valor máximo proveniente da fórmula acima;
-B1é o cabeçalho da lista de valores e é utilizado para compensação nos cálculos da função LIN.
Esta fórmula liga dinamicamente os valores mais altos aos respetivos nomes. Se o seu intervalo de valores contiver duplicados, a função CONTAR.SE garante que cada nome correspondente apareça apenas uma vez com a sua pontuação.

3. Após extrair o primeiro resultado, selecione a fórmula na célula F2 e arraste a alça de preenchimento para baixo, replicando-a pelas linhas necessárias. Assim, os nomes de todas as principais entradas — com as respetivas pontuações — serão apresentados dinamicamente. Veja a imagem:


Desbloqueie a Magia do Excel com KUTOOLS AI
- Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
- fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
- Programação VBA: Escreva e implemente código VBA com facilidade.
- Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
- Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Fórmulas para criar uma lista dinâmica dos principais 10 com critérios
Em algumas tarefas de análise, poderá precisar de uma lista dos principais resultados que inclua apenas entradas correspondentes a critérios específicos — por exemplo, restringir os principais resultados a um determinado grupo, equipa ou categoria. Imagine que pretende identificar as 10 melhores pontuações exclusivamente da "Turma 1", a partir de uma folha de dados com notas de várias turmas. Veja como pode utilizar fórmulas neste cenário:

1. Comece por extrair os 10 principais valores que satisfaçam o critério especificado (por exemplo, "Turma 1") a partir do conjunto de dados. Introduza esta fórmula na célula de destino (por exemplo, J2):
2. Após introduzir a fórmula, prima Ctrl + Shift + Enter para confirmá-la como fórmula de matriz e, em seguida, arraste a alça de preenchimento para baixo para preencher as restantes células. A fórmula devolverá as 10 pontuações mais elevadas que correspondam à condição escolhida (por exemplo, todas as notas da «Turma 1»).

3. Para listar os nomes correspondentes a estes valores superiores de acordo com os seus critérios, copie e cole a fórmula abaixo na célula I2 e prima Ctrl + Shift + Enter como uma fórmula de matriz. Depois, arraste para baixo conforme necessário para obter a lista completa da Lista de Nomes.

Certifique-se de ajustar os intervalos nas fórmulas para corresponderem à sua configuração real de dados. Tenha em atenção que utilizar grandes intervalos com fórmulas de matriz pode afetar negativamente o desempenho. Caso existam valores duplicados no seu top 10, a fórmula tratará corretamente as pontuações repetidas e apresentará vários nomes de alunos sempre que as respetivas notas forem iguais.
Criar uma lista dinâmica dos principais 10 no Office 365
Embora versões anteriores do Excel exijam a combinação de várias funções com fórmulas de matriz, o Office 365 (e o Excel 2021) introduz funções de matriz dinâmica — como INDEX, SORT, SEQUENCE e FILTER — que simplificam drasticamente o seu fluxo de trabalho. Estas funções tornam mais fácil criar listas dinâmicas dos principais 10, reduzem erros e revelam-se especialmente valiosas para tabelas que crescem ou mudam frequentemente. Se trabalha num ambiente com dados em constante atualização, estas ferramentas podem acelerar significativamente a sua análise e impulsionar decisões empresariais mais rápidas.
Fórmula para criar uma lista dinâmica dos principais 10
Para extrair e apresentar uma lista dinâmica dos 10 principais no Office 365, insira a fórmula abaixo na célula de saída pretendida. Basta ajustar os intervalos e os números conforme as suas necessidades, e a fórmula atualizará automaticamente os resultados mais recentes do top 10 sempre que os seus dados forem modificados.
Basta premir a tecla Enter. A lista completa dos 10 principais aparece imediatamente e permanece dinâmica, refletindo instantaneamente quaisquer novos dados ou alterações nas pontuações.

Função ORDENAR:
=ORDENAR(matriz; [índice_ordenar]; [ordem_ordenar]; [por_col])
- matriz: o intervalo que pretende ordenar.
- [índice_ordenar]: Número da coluna pela qual ordenar. Numa tabela típica de classificações, trata-se frequentemente da segunda coluna.
- [ordem_ordenar]: Utilize 1 para ordem crescente ou -1 para ordem decrescente. Para obter as pontuações mais altas, utilize -1.
- [por_col]: Indica se a ordenação é feita por colunas (VERDADEIRO) ou por linhas (FALSO ou omitido).
Por exemplo: ORDENAR(A2:B20;2; -1) ordena o intervalo A2:B20 pela segunda coluna em ordem decrescente.
Função SEQUÊNCIA:
=SEQUÊNCIA(linhas; [colunas]; [início]; [passo])
- linhas: Número de linhas a devolver — por exemplo, 10 para obter a lista dos 10 principais.
- [colunas]: (Opcional) Número de colunas a devolver.
- [início]: (Opcional) Valor inicial.
- [passo]: (Opcional) Valor pelo qual incrementar.
A função SEQUÊNCIA(10) gera os números de 1 a 10, permitindo que a função ÍNDICE selecione os 10 principais resultados ordenados.
Ao combinar estas funções, =ÍNDICE(ORDENAR(A2:B20;2;-1);SEQUÊNCIA(10);{1;2}) obtém uma lista dinâmica dos 10 principais com duas colunas.
Fórmula para criar uma lista dinâmica dos principais 10 com critérios
Se precisar de extrair os 10 principais de um determinado grupo, como por exemplo «Turma 1», as funções avançadas do Office 365 permitem-lhe criar facilmente uma lista dos principais N, incluindo apenas as linhas que cumpram os seus critérios. Basta colocar a fórmula abaixo na localização pretendida e ajustar os intervalos e a célula dos critérios conforme necessário:
Após introduzir a fórmula, basta premir a tecla Enter. É apresentada imediatamente a lista dos 10 principais, filtrada e classificada exclusivamente de acordo com o critério especificado, atualizando-se sempre que modificar os seus dados ou critério.

Função FILTRAR:
=FILTRAR(matriz; incluir; [se_vazio])
- matriz: O intervalo de células a filtrar.
- incluir: A condição (por exemplo, pertencer a determinada turma) para inclusão.
- [se_vazio]: (Opcional) O que mostrar se nenhum resultado corresponder aos critérios.
=FILTRAR(A2:C25;B2:B25=F2) devolve apenas as linhas em que a coluna B corresponde ao valor em F2.
Criar uma lista dinâmica dos principais 10 com um(a) Tabela Dinâmica
Tabela Dinâmica: Apresentar automaticamente os principais N resultados de forma interativa
Uma forma alternativa de criar uma lista dinâmica dos principais N é utilizar a funcionalidade Tabela Dinâmica do Excel. Este método revela-se especialmente adequado para conjuntos de dados extensos, análises interativas — como alterar rapidamente o número de elementos principais ou aplicar filtros — ou quando pretende evitar fórmulas complexas. As Tabelas Dinâmicas são intuitivas e atualizam-se automaticamente sempre que os dados são modificados, tornando-as ideais para painéis ou relatórios partilhados com outras pessoas.
Para criar uma lista dinâmica dos principais N com um(a) Tabela Dinâmica:
- Clique em qualquer lugar dentro da sua tabela de dados e, em seguida, vá para Inserir > Tabela Dinâmica.
- Na caixa de diálogo Tabela Dinâmica, escolha onde pretende colocar a Tabela Dinâmica e clique em OK.
- Arraste o campo «Nome» (ou um identificador semelhante) para a área Linhas.
- Arraste o campo «Pontuação» (ou a coluna de valores) para a área Valores. Por predefinição, será geralmente apresentado como «Soma de» ou «Contagem de» — para listas dos principais resultados, normalmente pretende «Soma» ou «Máx». Se necessário, altere o cálculo do campo de valores clicando com o botão direito do rato e escolhendo Resumir Valores Por.
- Ordene a coluna «Pontuação» por ordem decrescente clicando com o botão direito do rato num valor e selecionando Ordenar > Ordenar Do maior para o menor.
- Para limitar aos principais N resultados, clique na seta suspensa em Rótulos de Linha, selecione Filtros de Valores > Principais 10..., defina o número (por exemplo, «Principais 10») e o campo por que pretende filtrar e, em seguida, clique em OK.
A sua Tabela Dinâmica apresenta agora os principais 10 itens dinâmicos (ou qualquer valor N que definir). Para alterar o valor de N, basta regressar às definições do filtro. Caso os seus dados sejam atualizados, atualize a Tabela Dinâmica para refletir imediatamente as novas classificações.
As vantagens desta abordagem incluem uma configuração rápida, ordenação fácil e ajuste interativo. Contudo, as Tabelas Dinâmicas não conseguem adicionar automaticamente linhas correspondentes de outras colunas, a menos que estas estejam incluídas nas áreas Linhas ou Valores. Utilizadores avançados podem personalizar ainda mais os relatórios através de agrupamentos, criação de segmentações de dados ou incorporação do filtro Top N em painéis.
Criar uma lista dinâmica dos principais 10 com VBA
Macro VBA: gera e atualiza automaticamente uma lista dos principais N
A utilização de uma macro VBA é ideal para utilizadores que trabalham com dados extensos ou frequentemente atualizados, onde se torna essencial automatizar a extração e atualização de uma lista dinâmica dos principais N. As macros são perfeitas para eliminar tarefas repetitivas e assegurar consistência. Pode criar uma rotina que ordene os seus dados e copie automaticamente apenas as primeiras N linhas para uma localização específica sempre que for executada.
Para utilizar uma macro VBA na criação de uma lista dinâmica dos principais N, siga os passos seguintes:
- Clique em Programador > Visual Basic para abrir o editor VBA. (Se não vir o separador Programador, aceda a Ficheiro > Opções > Personalizar Friso e ative «Programador».)
- Na janela do VBA, clique em Inserir > Módulo para adicionar um novo módulo.
- Cole o seguinte código VBA no módulo:
Sub ExtractTopNList()
'Updated by Extendoffice 2025/7/24
Dim DataRange As Range
Dim OutputRange As Range
Dim N As Integer
Dim ws As Worksheet, tempWS As Worksheet
Dim xTitleId As String
Dim LastCol As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
Set DataRange = Application.InputBox("Select the full data range to analyze (including headers)", xTitleId, ws.UsedRange.Address, Type:=8)
Set OutputRange = Application.InputBox("Select the top-left cell of the output area", xTitleId, "", Type:=8)
N = Application.InputBox("How many top items to extract? (Enter a positive integer)", xTitleId, 10, Type:=1)
If DataRange Is Nothing Or OutputRange Is Nothing Or N < 1 Then Exit Sub
' Create a temporary worksheet to avoid sorting original data
Set tempWS = Worksheets.Add(After:=Worksheets(Worksheets.Count))
DataRange.Copy tempWS.Range("A1")
' Determine last column for sorting key
LastCol = DataRange.Columns.Count
' Sort in temporary sheet
tempWS.UsedRange.Sort Key1:=tempWS.Cells(1, LastCol), Order1:=xlDescending, Header:=xlYes
' Copy headers and top N rows to output
tempWS.Rows(1).Copy Destination:=OutputRange
tempWS.Range("A2").Resize(N, LastCol).Copy Destination:=OutputRange.Offset(1, 0)
' Optional: Delete temporary sheet
Application.DisplayAlerts = False
tempWS.Delete
Application.DisplayAlerts = True
Application.CutCopyMode = False
End Sub 4. Para executar a macro, certifique-se de que os seus dados estão corretamente organizados numa tabela com cabeçalhos. Prima F5 ou clique no botão
no editor do VBA. Ser-lhe-á solicitado que:
- Selecione o seu intervalo de dados (incluindo os cabeçalhos para uma ordenação correta).
- Selecione a célula de destino onde pretende colar os resultados.
- Introduza o número N (por exemplo, 10 para os Principais 10).
A macro copiará as N entradas principais (incluindo os cabeçalhos) para a localização que indicou.
Recomenda-se utilizar esta solução numa cópia de segurança ou numa cópia do seu livro na primeira vez que a testar. Caso ocorram erros — como a seleção de um intervalo incorreto —, execute-a novamente e certifique-se de que os intervalos e a estrutura dos dados estão corretos.
Esta solução é ideal para automatizar tarefas repetitivas de relatórios, criar painéis ou atualizar rapidamente os relatórios dos principais N sem recorrer a fórmulas manuais ou ordenações. Além disso, pode personalizar o script VBA para lógicas de classificação mais complexas, como ordenar por uma coluna específica ou exportar os resultados para outro livro.
Resolução de problemas: Se a macro não funcionar como esperado, verifique se a sua tabela de dados inclui cabeçalhos adequados, corrija os tipos de dados para evitar problemas de ordenação e confirme que as referências das células foram corretamente selecionadas em cada pedido. Guarde sempre o seu trabalho antes de executar macros para prevenir alterações acidentais nos dados.
Em resumo, o Excel oferece diversos métodos para criar e manter uma lista dinâmica dos principais N — desde fórmulas tradicionais até funções avançadas do Office 365, Tabelas Dinâmicas para análise interativa e macros VBA para automação avançada. Escolha a abordagem que melhor se adapta ao seu fluxo de trabalho e ao volume dos seus dados: as fórmulas são ideais para análises manuais habituais, as funções do Office 365 garantem simplicidade e potência máxima, as Tabelas Dinâmicas destacam-se pela rapidez e flexibilidade nos resumos, e o VBA revela-se especialmente útil para automatizar tarefas extensas e repetitivas de ordenação. Lembre-se sempre de verificar a integridade das suas fórmulas ou código e ajustar as referências das células sempre que a estrutura dos seus dados sofrer alterações ao longo da evolução do projeto.
As Melhores Ferramentas de Produtividade para o Office
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.
- 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