Função FILTRO do Excel Ignora Critério em Branco: Correção
🔍 WiseChecker

Função FILTRO do Excel Ignora Critério em Branco: Correção

A função FILTRO do Excel retorna um resultado vazio ou um erro #CALC! ao tentar filtrar células em branco. Isso acontece porque a função FILTRO trata critérios em branco como nenhum critério e retorna todas as linhas da matriz de origem. Você precisa de uma solução específica para fazer o FILTRO reconhecer e retornar apenas linhas em branco. Este artigo explica por que o problema ocorre e fornece dois métodos confiáveis para corrigi-lo.

Principais Conclusões: Como Fazer o FILTRO Retornar Células em Branco

  • Função ÉCÉLULA.VAZIA no argumento incluir: Converte células em branco para VERDADEIRO para que o FILTRO possa avaliá-las como uma condição válida.
  • Combinação de ÉCÉLULA.VAZIA com LEN=0: Lida com células que parecem em branco, mas contêm resultados de fórmulas que retornam cadeia de caracteres vazia “”.
  • Uso de coluna auxiliar com SE e ÉCÉLULA.VAZIA: Cria um marcador numérico que o FILTRO pode avaliar sem retornar todas as linhas.

ADVERTISEMENT

Por que o FILTRO Ignora Critérios em Branco

A função FILTRO usa a sintaxe FILTRO(matriz, incluir, [se_vazio]). O argumento incluir deve ser uma matriz de valores VERDADEIRO e FALSO. Quando você passa uma referência a uma célula em branco como argumento incluir, o FILTRO interpreta esse branco como um valor ausente e retorna toda a matriz. A função não converte uma célula em branco em uma condição FALSO. Esse comportamento é proposital no Excel 365 e Excel 2021.

Por exemplo, se a célula A1 estiver em branco e você escrever =FILTRO(B2:B100, A2:A100=A1, "Sem dados"), o FILTRO compara cada célula em A2:A100 com uma célula em branco. A comparação retorna VERDADEIRO para cada linha, pois o Excel trata um branco como igual a outro branco em testes lógicos. O resultado são todas as linhas de B2:B100, não apenas as linhas em branco.

O mesmo problema ocorre quando você usa uma referência de célula que contém uma fórmula retornando uma cadeia de caracteres vazia "". O FILTRO vê a cadeia vazia como um valor válido e ainda retorna todas as linhas. A solução requer o uso de funções que retornam explicitamente VERDADEIRO apenas para células que estão realmente vazias ou não contêm dados.

Dois Métodos para Fazer o FILTRO Retornar Linhas em Branco

Ambos os métodos abaixo resolvem o problema convertendo a condição em branco em uma matriz VERDADEIRO/FALSO que o FILTRO pode avaliar corretamente. Escolha o método que corresponde ao seu tipo de dados.

Método 1: Usar ÉCÉLULA.VAZIA no Argumento Incluir

A função ÉCÉLULA.VAZIA retorna VERDADEIRO quando uma célula está completamente vazia e FALSO quando contém qualquer valor, incluindo espaços ou fórmulas. Este método funciona para células que estão realmente em branco, sem fórmulas.

  1. Identifique a coluna a ser verificada quanto a espaços em branco
    Suponha que seus dados estejam no intervalo A2:C100 e você queira filtrar linhas onde a coluna B está em branco. A matriz de origem para FILTRO é A2:C100.
  2. Escreva a condição ÉCÉLULA.VAZIA
    Em uma nova célula, insira =ÉCÉLULA.VAZIA(B2:B100). Isso retorna uma matriz de VERDADEIRO para células em branco e FALSO para células não vazias.
  3. Combine com FILTRO
    Insira a fórmula =FILTRO(A2:C100, ÉCÉLULA.VAZIA(B2:B100), "Nenhuma linha em branco encontrada"). A função ÉCÉLULA.VAZIA fornece a matriz incluir. O FILTRO agora retorna apenas as linhas onde a coluna B está realmente vazia.
  4. Teste com uma linha em branco conhecida
    Verifique se o resultado inclui apenas linhas onde a coluna B não tem dados. Se você vir linhas com espaços ou resultados de fórmulas, use o Método 2.

Método 2: Usar uma Coluna Auxiliar com SE e ÉCÉLULA.VAZIA

Quando seus dados contêm fórmulas que retornam cadeias vazias ou células com espaços que parecem em branco, ÉCÉLULA.VAZIA sozinha retorna FALSO. Uma coluna auxiliar converte a condição em branco em um número 1 ou 0 que o FILTRO pode avaliar.

  1. Adicione uma coluna auxiliar ao lado dos seus dados
    Insira uma nova coluna à direita do intervalo de dados. Por exemplo, se seus dados estão nas colunas A a C, insira a coluna D.
  2. Escreva a fórmula auxiliar na primeira linha
    Na célula D2, insira =SE(ÉCÉLULA.VAZIA(B2), 1, 0). Isso retorna 1 quando B2 está em branco e 0 quando não está. Copie a fórmula até D100.
  3. Use FILTRO com a condição da coluna auxiliar
    Insira =FILTRO(A2:C100, D2:D100=1, "Nenhuma linha em branco"). A condição D2:D100=1 cria uma matriz VERDADEIRO/FALSO que o FILTRO usa para retornar apenas as linhas onde a coluna B está em branco.
  4. Oculte a coluna auxiliar se necessário
    Clique com o botão direito na coluna D e selecione Ocultar. O resultado do FILTRO permanece dinâmico e é atualizado quando os dados de origem mudam.

ADVERTISEMENT

Se o FILTRO Ainda Retornar Todas as Linhas ou um Erro

FILTRO retorna erro #CALC!

O erro #CALC! aparece quando o FILTRO não encontra nenhuma linha correspondente aos critérios. Isso significa que toda célula na coluna verificada contém um valor, mesmo que algumas pareçam em branco. Use a função LEN para detectar células com espaços: =FILTRO(A2:C100, LEN(ARRUMAR(B2:B100))=0, "Nenhuma linha em branco"). ARRUMAR remove espaços extras, e LEN retorna 0 para células que estão realmente vazias ou contêm apenas espaços.

FILTRO retorna todas as linhas apesar de ÉCÉLULA.VAZIA

Isso acontece quando as células que você pensa estarem em branco contêm uma fórmula que retorna uma cadeia vazia. ÉCÉLULA.VAZIA retorna FALSO para essas células. Substitua ÉCÉLULA.VAZIA por B2:B100="" no argumento incluir. A fórmula se torna =FILTRO(A2:C100, B2:B100="", "Nenhuma linha em branco"). Isso verifica células que estão realmente vazias ou contêm uma fórmula que retorna uma cadeia vazia.

FILTRO retorna linhas erradas ao usar critérios de outra célula

Se você referenciar uma célula que contém uma fórmula retornando branco, o FILTRO avalia esse branco como igual a toda célula. Em vez de referenciar a célula, use a abordagem ÉCÉLULA.VAZIA ou LEN diretamente no argumento incluir. Não use uma referência de célula para os critérios; codifique a condição na fórmula.

FILTRO com ÉCÉLULA.VAZIA vs FILTRO com LEN=0: Principais Diferenças

Item FILTRO com ÉCÉLULA.VAZIA FILTRO com LEN=0
Detecta células realmente vazias Sim Sim
Detecta células com espaços Não Sim, quando combinado com ARRUMAR
Detecta fórmula retornando “” Não Sim
Requer coluna auxiliar Não Não
Melhor caso de uso Entrada de dados sem fórmulas Dados com fórmulas ou texto importado

Agora você pode fazer a função FILTRO retornar apenas linhas em branco usando ÉCÉLULA.VAZIA para células realmente vazias ou LEN com ARRUMAR para células que parecem em branco, mas contêm espaços ou resultados de fórmulas. Experimente a combinação ARRUMAR e LEN primeiro se seus dados vierem de fontes externas ou contiverem fórmulas. Para uma configuração mais avançada, combine FILTRO com a função BYROW para verificar várias colunas em busca de espaços em branco em uma única fórmula.

ADVERTISEMENT