Filtrando dados com FILTER
Retorne dinamicamente apenas as linhas que atendem às suas condições
Filtrando dados com FILTER é uma aula grátis de Excel Formulas Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Excel Formulas Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Excel Formulas Academy inclui 4 aulas no total.
O que FILTER faz
A função FILTER retorna apenas as linhas de um intervalo que atendem a uma condição definida por você. Em vez de ocultar linhas manualmente ou copiar correspondências, FILTER preenche automaticamente as linhas correspondentes.
Ela é dinâmica: quando seus dados mudam, o resultado filtrado é atualizado instantaneamente. Isso a torna ideal para relatórios dinâmicos que sempre mostram as correspondências atuais.
A sintaxe de FILTER
FILTER aceita até três argumentos:
=FILTER(array, include, [if_empty])
- array é o intervalo que você deseja retornar.
- include é um teste lógico que produz TRUE ou FALSE para cada linha.
- if_empty é um valor opcional a ser exibido quando nada corresponder.
O teste include deve ter a mesma altura que array, para que cada linha receba um valor TRUE ou FALSE.
=FILTER(array, include, [if_empty])Um FILTER simples
Suponha que A2:A10 contenha nomes de vendedores e B2:B10 contenha a região deles. Para listar apenas os nomes da região Leste:
=FILTER(A2:A10, B2:B10="East")
O teste B2:B10="East" produz uma coluna de valores TRUE e FALSE. FILTER mantém as linhas cujo resultado é TRUE e as preenche automaticamente.
=FILTER(A2:A10, B2:B10="East")Retornando várias colunas
O array pode ter mais de uma coluna. Para retornar tanto o nome quanto o valor das vendas da região Leste, indique o bloco inteiro no argumento array:
=FILTER(A2:C10, B2:B10="East")
FILTER retorna todas as colunas das linhas correspondentes, preenchendo uma pequena tabela. O teste include continua analisando apenas a coluna da condição.
=FILTER(A2:C10, B2:B10="East")Condições numéricas
As condições não se limitam a texto. Para retornar todas as linhas em que as vendas em C2:C10 são superiores a 500:
=FILTER(A2:C10, C2:C10>500)
Operadores de comparação, como maior que, menor que e diferente de, funcionam dentro do argumento include, assim como em um teste lógico comum.
=FILTER(A2:C10, C2:C10>500)Combinando condições com a lógica AND
Para exigir duas condições ao mesmo tempo, multiplique os testes. A multiplicação funciona como AND porque TRUE vale 1 e FALSE vale 0; portanto, uma linha só passa quando ambos os valores são 1.
=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))
Isso retorna as linhas da região Leste que também têm vendas superiores a 500. Coloque cada teste entre parênteses.
=FILTER(A2:C10, (B2:B10="East")*(C2:C10>500))Combinando condições com a lógica OR
Para que uma linha passe quando qualquer uma das condições for verdadeira, some os testes. A adição funciona como OR porque a soma é de pelo menos 1 sempre que qualquer teste for TRUE.
=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))
Isso retorna as linhas das regiões Leste ou Oeste. Uma linha com resultado 1 ou 2 é mantida; uma linha com resultado 0 é descartada.
=FILTER(A2:C10, (B2:B10="East")+(B2:B10="West"))Lidando com a ausência de correspondências
Se nenhuma linha atender à condição, FILTER retornará o erro #CALC! por padrão. O terceiro argumento opcional evita isso ao fornecer uma mensagem amigável:
=FILTER(A2:C10, B2:B10="South", "No matches found")
Se a região Sul não existir, a célula exibirá o texto em vez de um erro. Em relatórios reais, sempre adicione um valor if_empty.
=FILTER(A2:C10, B2:B10="South", "No matches found")Filtrando por um valor de célula
Em um relatório interativo, compare com uma célula em vez de usar um valor fixo. Se E1 contiver a região escolhida pelo usuário:
=FILTER(A2:C10, B2:B10=E1, "No matches")
Altere E1 para West, e a lista preenchida será atualizada instantaneamente com as linhas da região Oeste. Essa é a base de um painel controlado por uma lista suspensa.
=FILTER(A2:C10, B2:B10=E1, "No matches")Classificando os resultados filtrados
FILTER retorna as correspondências na ordem original. Para classificá-las, envolva FILTER com SORT. Para mostrar as linhas da região Leste ordenadas pelas vendas em ordem decrescente:
=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)
SORT ordena a tabela preenchida pela terceira coluna; -1 significa ordem decrescente. Combinar funções de preenchimento dessa forma é comum e muito poderoso.
=SORT(FILTER(A2:C10, B2:B10="East"), 3, -1)FILTER no Google Sheets
FILTER funciona tanto no Excel 365 quanto no Google Sheets, com uma sintaxe praticamente idêntica. No Google Sheets, você pode passar várias condições como argumentos separados, em vez de multiplicá-las:
=FILTER(A2:C10, B2:B10="East", C2:C10>500)
O Sheets trata cada argumento adicional como uma condição AND. No Excel, você deve usar a abordagem de multiplicar para AND e somar para OR dentro de um único argumento include.
=FILTER(A2:C10, B2:B10="East", C2:C10>500)Verificação rápida
Teste sua compreensão de FILTER.
Recapitulação: filtrando com FILTER
Você aprendeu a retornar apenas as linhas correspondentes com FILTER:
- A sintaxe é
=FILTER(array, include, [if_empty]). - O teste include deve ter a mesma altura que array.
- Multiplique os testes para AND e some-os para OR.
- Adicione uma mensagem if_empty para evitar erros #CALC!.
- Envolva FILTER com SORT para ordenar os resultados.
A seguir, você extrairá uma lista distinta de valores com UNIQUE.
Perguntas Frequentes
A aula “Filtrando dados com FILTER” é grátis?
Sim — o texto completo de “Filtrando dados com FILTER” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Excel Formulas Academy, atualize para CoddyKit PRO. O curso de Excel Formulas Academy inclui 4 aulas no total.
O que vou aprender em “Filtrando dados com FILTER”?
Retorne dinamicamente apenas as linhas que atendem às suas condições Você pratica Excel Formulas Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Excel Formulas Academy?
Nenhuma experiência prévia é necessária. Excel Formulas Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Filtrando dados com FILTER”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Excel Formulas Academy?
Sim. Cada aula de Excel Formulas Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que significa o derramamento
- Filtrando dados com FILTER
- Removendo duplicatas com UNIQUE
- Como lidar com o erro SPILL