Como usar a função FILTRAR com critério incompleto?
Neste novo artigo vou mostrar-te como podes como podes utilizar a função FILTRAR [FILTER], no Microsoft Excel, para retornar um resultado mesmo quando o valor a procurar não se encontra completo. Vamos lá?
Como já vimos no artigo anterior, a Função FILTRAR [FILTER] permite aplicar várias condições para filtrar os dados da tua tabela. Ou, também, intervalo de dados, utilizando as condições “E” / “OU”, para obter os registos quando as condições se verificam em simultâneo.
Uma particularidade da função FILTRAR [FILTER], é o facto de necessitarmos que o valor a procurar seja exatamente igual a um valor que exista na lista ou intervalo de critério. Caso não se verifique, a função devolve o erro #CALC, que pode ser substituído por qualquer valor quando aplicamos o argumento se_vazia. Mas, vamos ao caso prático, para uma melhor percepção...
Não percas aqui todo o processo detalhado, aprende a usar a função FILTRAR com com critério incompleto! Se tiveres alguma dúvida, envia-nos a tua mensagem... ficamos à tua espera!
Faça aqui o download dos seus ficheiros de apoio!
Vamos recordar a sintaxe base da função:
FILTRAR(matriz;incluir;[se_vazia])
- matriz (obrigatório): O intervalo que pretendemos filtrar.
- incluir (obrigatório): O intervalo comparado ao critério que pretendemos utilizar para aplicar o Filtro.
- se_vazia (opcional): Valor a mostrar, caso o resultado da filtragem dos dados não devolva resultados.
No caso, o argumento incluir deve conter o valor exatamente igual no intervalo e no valor a comparar, para devolver as correspondências. Isto significa que na sua génese a função FILTRAR vai avaliar no intervalo a incluir todos os valores VERDADEIRO [TRUE] que correspondem ao valor correspondente da função. Os valores VERDADEIRO são retornados e os valores FALSO são excluídos.
A imagem em baixo demostra o conceito que está pro trás da função, quando analisamos o segundo argumento da função (incluir).
O que significa que a função FILTRAR, não está “preparada” para retornar verdadeiro quando fazemos uma pesquisa “aproximada” ou com caracteres universais como o “*”. Ou seja, não é possível por exemplo no critério de pesquisa utilizar a palavra “New” apenas para retornar todos os artigos da marca “New Balance”.
Devolver resultado com uma pesquisa “incompleta”
Para contornar a situação podemos utilizar a função PROCURAR [SEARCH] ou mesmo a função LOCALIZAR [FIND] (caso pretendemos uma pesquisa sensível a maiúsculas e minúsculas). A função PROCURAR permite encontrar a localização de uma expressão dentro de um texto.
O resultado da função PROCURAR é o esperado pela função, mas ainda não é um resultado ideal para a função FILTRAR, pois a função PROCURAR encontra a ocorrência da palavra “Sapatilha” e devolve um valor numérico [1]. Todos os restantes valores que não contém “Sapatilha” devolvem o erro de #VALOR.
=PROCURAR(J4;Produtos[Produto])
Contudo, se utilizarmos uma das funções de informação, como por exemplo a função É.NUM [ISNUMBER] convertemos o resultado em VERDADEIRO / FALSO que é ideal para a função FILTRAR.
=É.NUM(PROCURAR(J4;Produtos[Produto]))
O resultado é o ideal para a função FILTRAR.
Se aplicarmos então esta lógica no argumento incluir da função FILTRAR obtemos um resultado mesmo que o valor a incluir no filtro seja um valor aproximado ou incompleto, dando total flexibilidade para obter os dados.
O resultado é o esperado…
Exemplo: Devolver apenas valores “numéricos”
Com esta lógica, podemos agora implementar outras soluções, que permite aumentar o potencial de resultados disponíveis. Por exemplo podemos filtrar “apenas” os produtos cujo tamanho contém valores numéricos.
=FILTRAR(Produtos;É.NÚM(Produtos[Tamanho]);"Sem Dados")
Neste caso a função já nem necessita de um valor a ser comparada com, no argumento incluir.
E o resultado apresenta apenas produtos cujo tamanho seja definido por números.
Exemplo: Devolver apenas valores “de texto”
As possibilidades são agora imensas! Podemos agora filtrar “apenas” os produtos cujo tamanho contém valores de texto (“L”, “XL”, “M”, etc...)
=FILTRAR(Produtos;É.TEXTO(Produtos[Tamanho]);"Sem Dados")
Exemplo: Devolver produtos sem tamanho
Para podermos obter todos as possibilidades porque não encontrar todos os produtos que não têm um tamanho definido…
=FILTRAR(Produtos;É.CÉL.VAZIA(Produtos[Tamanho]);"Sem Dados")
Outros conteúdos relevantes:
Funções CHOOSEROWS e CHOOSECOLS: Aprende a escolher linhas e colunas de um intervalo no Excel!
Neste vídeo, vais aprender a usar as funções CHOOSEROWS e CHOOSECOLS para escolher e reter linhas ou colunas de um determinado intervalo no Excel.
Power BI: Cálculos Visuais: Funções COLLAPSE e EXPAND
Neste novo vídeo, vou mostrar-te as restantes novas funções DAX, disponíveis para os cálculos visuais! Vamos lá?