O Excel 365 trouxe uma revolução silenciosa com as chamadas funções de array dinâmico. Funções como ÚNICO, FILTRO e CLASSIFICAR fazem coisas que antes só eram possíveis com fórmulas de matriz complexas ou com VBA, e agora funcionam com uma sintaxe simples e direta. Neste artigo iremos mostrar como usar essas três funções poderosas e como elas podem transformar a forma como você trabalha com listas no Excel.
O que são as funções de array dinâmico?
As funções de array dinâmico são funções que retornam automaticamente múltiplos resultados, preenchendo várias células a partir de uma única fórmula. Você insere a fórmula em uma célula e o resultado se espalha pelas células vizinhas conforme necessário, sem precisar confirmar com Ctrl+Shift+Enter como nas fórmulas de matriz antigas.
Esse comportamento é chamado de “derramamento” (spill em inglês), e o intervalo preenchido automaticamente é chamado de intervalo de derramamento.
ÚNICO: extraindo valores sem repetição
A função ÚNICO retorna uma lista com os valores únicos de um intervalo, removendo automaticamente as duplicatas. Antes dessa função, extrair valores únicos exigia tabelas dinâmicas, filtros avançados ou fórmulas de matriz complexas.
A sintaxe é:
=ÚNICO(matriz; [por_coluna]; [exatamente_uma_vez])
Exemplo: para extrair os nomes únicos da coluna A:
=ÚNICO(A2:A100)
O resultado é uma lista dinâmica com todos os valores que aparecem pelo menos uma vez na coluna A, sem repetições. Se você adicionar um novo valor à coluna A, a lista se atualiza automaticamente.
Extraindo valores que aparecem exatamente uma vez
Se você quiser apenas os valores que aparecem exatamente uma vez (sem nenhuma duplicata), use o terceiro parâmetro como VERDADEIRO:
=ÚNICO(A2:A100; FALSO; VERDADEIRO)
FILTRO: filtrando dados com fórmulas
A função FILTRO retorna um subconjunto de dados de um intervalo com base em uma condição, de forma dinâmica. É como o filtro automático do Excel, mas em forma de fórmula, com resultado que se atualiza automaticamente.
A sintaxe é:
=FILTRO(matriz; incluir; [se_vazio])
- matriz: o intervalo com os dados que você quer filtrar
- incluir: a condição que define quais linhas serão incluídas
- se_vazio: o que exibir se nenhuma linha atender à condição
Exemplo: filtrar todas as linhas de uma tabela onde a coluna B for igual a “Sul”:
=FILTRO(A2:D100; B2:B100="Sul"; "Nenhum resultado")
O resultado é uma tabela dinâmica com apenas as linhas onde a coluna B é “Sul”. Se os dados mudarem, o resultado é atualizado automaticamente.
Filtrando com múltiplos critérios
Para combinar critérios com E (ambos devem ser verdadeiros), multiplique as condições:
=FILTRO(A2:D100; (B2:B100="Sul")*(C2:C100="Entregue"); "Sem resultados")
Para combinar com OU (pelo menos um deve ser verdadeiro), some as condições:
=FILTRO(A2:D100; (B2:B100="Sul")+(B2:B100="Norte"); "Sem resultados")
CLASSIFICAR: ordenando dados com fórmulas
A função CLASSIFICAR ordena um intervalo ou uma matriz dinamicamente. Ela é perfeita para criar listas ordenadas que se atualizam automaticamente conforme os dados mudam.
A sintaxe é:
=CLASSIFICAR(matriz; [índice_classificação]; [ordem_classificação]; [por_coluna])
- matriz: o intervalo a ser ordenado
- índice_classificação: o número da coluna pela qual ordenar (padrão: 1)
- ordem_classificação: 1 para crescente, -1 para decrescente
Exemplo: ordenar a tabela A2:C100 pela segunda coluna em ordem decrescente:
=CLASSIFICAR(A2:C100; 2; -1)
Combinando as três funções
O poder real dessas funções aparece quando você as combina. Por exemplo, para criar uma lista dos vendedores únicos da região “Sul”, ordenada alfabeticamente:
=CLASSIFICAR(ÚNICO(FILTRO(B2:B100; A2:A100="Sul")))
Essa única fórmula: filtra as linhas da região Sul, extrai os nomes únicos e ordena alfabeticamente. O que antes levaria uma tabela dinâmica e vários passos, agora é uma única fórmula.
CLASSIFICAR.POR: ordenando por outra coluna
A função CLASSIFICAR.POR é uma variação do CLASSIFICAR que permite ordenar um intervalo com base em uma coluna diferente ou em múltiplas colunas. Por exemplo, ordenar a tabela de vendas pelos valores da coluna C em ordem decrescente:
=CLASSIFICAR.POR(A2:C100; C2:C100; -1)
O intervalo de derramamento e o símbolo #
Quando uma dessas funções preenche automaticamente as células adjacentes, você pode referenciar todo o intervalo de derramamento usando o símbolo # após a célula da fórmula. Por exemplo, se a fórmula está em F2 e derramou para F2:F20, você pode referenciar todas as células com F2#.
Isso é muito útil para criar fórmulas que usam o resultado de uma função dinâmica como entrada de outra.
Disponibilidade dessas funções
As funções ÚNICO, FILTRO e CLASSIFICAR estão disponíveis apenas no Microsoft 365 e no Excel 2021. Se você usa uma versão mais antiga, essas funções não vão funcionar. Para verificar se a sua versão suporta, tente digitar =ÚNICO( em uma célula. Se o Excel sugerir o autocompletar da função, está disponível.
Se você curtiu esse artigo onde mostramos como usar as funções dinâmicas ÚNICO, FILTRO e CLASSIFICAR no Excel, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.