A função FILTRAR permite-lhe filtrar um intervalo de dados com base nos critérios que definir.
No exemplo seguinte, utilizámos a fórmula =FILTER(A5:D20,C5:C20=H2,"") para devolver todos os registos da Apple, conforme selecionado na célula H2 e, se não existirem maçãs, devolve uma cadeia vazia ("").
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) |
Notas:
-
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 atualmente não suporta 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 irão devolver 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 intervalo da nossa matriz (A5:D20) que têm Maçãs E estão na região Este: =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 usar a função FILTRAR anterior em conjunto com a função ORDENAR para devolver todos os valores no intervalo da nossa matriz (A5:D20) que têm Maçãs E estão na região Este, e, em seguida, ordenar as Unidades por ordem descendente: =ORDENAR(FILTRAR(A5:D20,(C5:C20=H1)*(A5:A20=H2),""),4,-1)
Neste caso, estamos a usar a função FILTRAR em conjunto com o operador de adição (+) para devolver todos os valores no intervalo da nossa matriz (A5:D20) que têm Maçãs OU estão na região Este, e, em seguida, ordenar as 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 colocar uma pergunta a um especialista da Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.
Consulte Também
Erros de #TRANSPOSIÇÃO DE LIMITES! no Excel