Retornar em Branco em Vez de 0 com PROCX – Excel
Este tutorial demonstra como retornar um espaço em branco em vez de zero ao usar a função PROCX. Se sua versão do Excel não for compatível com a função PROCX, leia como usar a função PROCV.
No Excel, ao se referir a outra célula com uma fórmula, os valores em branco são calculados como zero.
Isso também acontece ao procurar valores com PROCV ou PROCX:
=PROCX("2021-D";B3:B7;C3:C7)
Isso pode ser muito problemático em alguns cenários.
PROCX com SE e ÉCÉL.VAZIA
Para retornar um valor em branco em vez de zero, podemos adicionar as funções SE e ÉCÉL.VAZIA a uma fórmula:
=SE(ÉCÉL.VAZIA(PROCX(E3;B3:B7;C3:C7));"";PROCX(E3;B3:B7;C3:C7))
Vamos examinar a fórmula:
Função PROCX
Primeiro, temos nossa função PROCX original:
=PROCX("2021-D";B3:B7;C3:C7)
Função ÉCÉL.VAZIA
Em seguida, podemos usar ÉCÉL.VAZIA para verificar se o resultado da função PROCX está em branco.
=ÉCÉL.VAZIA(PROCX(E3;B3:B7;C3:C7))
Observações:
- A função ÉCÉL.VAZIA retorna VERDADEIRO se um valor estiver em branco. A cadeia de caracteres vazia (“”) e 0 não são equivalentes a um espaço em branco. Uma célula que contém uma fórmula não está em branco, e é por isso que não podemos usar F3 como entrada para ÉCÉL.VAZIA.
- As fórmulas podem retornar espaços em branco, mas eles são convertidos em zero no estágio final do cálculo.
- Portanto, podemos aninhar fórmulas em ÉCÉL.VAZIA para verificar se seus resultados são espaços em branco em vez de atribuir as fórmulas às células antes de aplicar ÉCÉL.VAZIA às células.
Função SE
Em seguida, podemos usar a função SE para testar se a combinação de ÉCÉL.VAZIA e PROCX é VERDADEIRA ou FALSA. Podemos definir qualquer processo (por exemplo, emitir uma string vazia) se a condição for VERDADEIRA e outro (por exemplo, o resultado do PROCX se não estiver em branco) se o resultado for FALSO.
=SE(G3;"";F3)
A combinação de todos esses conceitos resulta em nossa fórmula original:
=SE(ÉCÉL.VAZIA(PROCX(E3;B3:B7;C3:C7));"";PROCX(E3;B3:B7;C3:C7))
PROCX com SE e String Vazia (“”)
Podemos usar a cadeia de caracteres vazia como um critério para verificar se o valor do PROCX está em branco em vez de usar a função ÉCÉL.VAZIA:
=SE(PROCX(E3;B3:B7;C3:C7)="";"";PROCX(E3;B3:B7;C3:C7))
Observação: Célula em branco pode ser equivalente a zero ou a uma cadeia de caracteres vazia, dependendo do cálculo, mas cadeias de caracteres vazias e 0s não são espaços em branco.
PROCX com SE e NÚM.CARACT
Outra alternativa ao ÉCÉL.VAZIA é usar a função NÚM.CARACT:
=SE(NÚM.CARACT(PROCX(E3;B3:B7;C3:C7))=0;"";PROCX(E3;B3:B7;C3:C7))
Vamos nos aprofundar nessa solução alternativa:
Verificar se está em branco usando NÚM.CARACT
Podemos usar a função NÚM.CARACT para contar o número de caracteres da saída do PROCX:
=NÚM.CARACT(PROCX(E3;B3:B7;C3:C7))
Se o número de caracteres for 0, isso significa que o valor está em branco. Podemos então usar a função SE para verificar se a função NÚM.CARACT é igual a 0 e retornar uma cadeia de caracteres vazia se isso for verdade:
=SE(G3=0;"";F3)
A combinação de todos esses conceitos resulta em nossa fórmula original:
=SE(NÚM.CARACT(PROCX(E3;B3:B7;C3:C7))=0;"";PROCX(E3;B3:B7;C3:C7))
Observe que as fórmulas acima só são aplicáveis se a saída estiver em branco, o que é diferente de um resultado “sem correspondência”. Se o PROCX não encontrar uma correspondência, ele retornará o erro #N/D e, nesse caso, precisamos lidar com o erro #N/D; consulte o artigo: “PROCX – Correção do erro #N/D”