A função FILTRAR permite-lhe filtrar um intervalo de dados com base nos critérios que definir.
No exemplo que se segue, usámos a fórmula =FILTRAR(A5:D20,C5:C20=H2,"") para devolver todos os registos com Maçãs, conforme selecionado na célula H2, e, caso não existam maçãs, devolver uma cadeia vazia ("").
Sintaxe
A função FILTRAR filtra uma matriz com base numa matriz Booleana (Verdadeiro/Falso).
=FILTRAR(matriz,incluir,[se_vazia])
| Argumento | Descrição |
|---|---|
|
matriz Obrigatório |
A matriz ou intervalo para filtrar |
|
incluir Obrigatório |
Uma matriz booleana cuja altura ou largura é idêntica à matriz |
|
[se_vazia] Opcional |
O valor a devolver se todos os valores na matriz incluída estiverem em branco (o filtro não devolve nada) |
Nota
- Pode considerar uma matriz como uma linha de valores, uma coluna de valores ou uma combinação de linhas e de colunas de valores. No exemplo acima, a matriz de origem para a nossa fórmula FILTRAR é o intervalo A5:D20.
- A função FILTRAR irá devolver uma matriz, que será transposta se for o resultado final de uma fórmula. Isto significa que o Excel irá criar, de forma dinâmica, o intervalo da matriz com o tamanho adequado quando premir a tecla ENTER. Se os seus dados de suporte estiverem numa tabela de Excel, a matriz será automaticamente redimensionada ao adicionar ou remover dados do intervalo da matriz, se estiver a utilizar referências estruturadas. Para mais detalhes, consulte este artigo sobre comportamento de matrizes transpostas.
- Se existir a possibilidade de o seu conjunto de dados devolver um valor em branco, utilize o 3.º argumento ([se_vazia]). Caso contrário, será apresentado um erro #CALC! , uma vez que o Excel não suporta atualmente matrizes vazias.
- Se qualquer valor do argumento incluir for um erro (#N/D, #VALUE, etc.) ou não puder ser convertido num Booleano, a função FILTER devolverá um erro.
- O Excel tem suporte limitado para matrizes dinâmicas entre livros e este cenário é suportado apenas quando ambos os livros estão abertos. Se fechar o livro de origem, as fórmulas de matriz dinâmica ligadas devolverão um erro #REF! quando forem atualizadas.
Exemplos
Função FILTRAR utilizada para devolver múltiplos critérios
Neste caso, estamos a utilizar o operador de multiplicação (*) para devolver todos os valores no nosso intervalo de matrizes (A5:D20) que têm Maçãs E estão na região Leste: =FILTRAR(A5:D20;(C5:C20=H1)*(A5:A20=H2)"").
Função FILTRAR utilizada para devolver múltiplos critérios e ordenar
Neste caso, estamos a utilizar a função FILTER anterior com a função ORDENAR para devolver todos os valores no nosso intervalo de matrizes (A5:D20) que têm Maçãs E estão na região Leste e, em seguida, ordenar Unidades por ordem descendente: =ORDENAR(FILTRAR(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)
Neste caso, estamos a utilizar a função FILTER com o operador de adição (+) para devolver todos os valores no nosso intervalo de matrizes (A5:D20) que têm Maçãs OU na região Leste e, em seguida, ordenar Unidades por ordem descendente: =ORDENAR(FILTRAR(A5:D20,(C5:C20=H1)+(A5:A20=H2),""),4,-1).
Repare que nenhuma das funções requer referências absolutas, uma vez que apenas existem numa célula e transpõem os resultados para as células adjacentes.
Precisa de mais ajuda?
Pode sempre perguntar a um especialista na Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.