Fórmula do Excel: calcular apenas se não estiver em branco -

Índice

Fórmula genérica

=IF(criteria,formula(),"")

Resumo

Para executar uma fórmula apenas quando uma ou mais células não estão em branco, você pode usar a função SE com um critério lógico apropriado. No exemplo mostrado, a fórmula em E5 é:

=IF(COUNT(C5:C7)=3,SUM(C5:C7),"")

Como C7 não tem valor na tela acima, a fórmula não mostra nenhum resultado. Na tela abaixo, C7 contém um número e a soma é exibida:

Explicação

O objetivo deste exemplo é verificar a entrada antes de calcular um resultado. O ponto chave a entender é que qualquer fórmula válida pode ser substituída. A função SUM é usada apenas como exemplo. A lógica também pode ser ajustada de várias maneiras para se adequar à situação.

No exemplo mostrado, estamos usando a função IF junto com a função COUNT. O critério é uma expressão baseada na função COUNT, que conta apenas valores numéricos:

COUNT(C5:C7)=3 // returns TRUE or FALSE

Enquanto o intervalo contiver três números (ou seja, todas as 3 células não estão em branco), o resultado é TRUE e IF executará a função SUM. Caso contrário, o resultado é FALSO e IF retorna uma string vazia (""). Como C7 não tem valor na tela acima, a fórmula não mostra nenhum resultado.

Existem várias maneiras de verificar as células em branco e várias opções são explicadas a seguir.

Com COUNTBLANK

A função COUNTBLANK conta células vazias em um intervalo, então podemos escrever uma fórmula um pouco mais compacta como esta:

=IF(COUNTBLANK(C5:C7),"",SUM(C5:C7))

Se COUNTBLANK retornar qualquer número exceto zero, a função IF será avaliada como TRUE e não retornará nada (""). Se COUNTBLANK retornar zero, IF avalia como FALSE e retorna a soma.

Com ISBLANK

No exemplo mostrado, as células de entrada estão todas no mesmo intervalo contíguo. Nos casos em que as células não estão juntas, você pode usar uma fórmula como esta:

=IF(OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)),"",SUM(C5:C7))

Este exemplo usa uma abordagem literal com a função ISBLANK. Como queremos verificar todas as três células ao mesmo tempo, precisamos usar ISBLANK três vezes dentro da função OR. Este é o teste lógico dentro de IF:

OR(ISBLANK(C5),ISBLANK(C6),ISBLANK(C7)

Quando OR retorna TRUE (pelo menos uma célula está vazia), IF retorna uma string vazia (""). Quando OR retorna FALSE (nenhuma célula está em branco), IF executa a função SUM e retorna o resultado:

SUM(C5:C7)

Com operadores lógicos

A função ISBLANK pode ser substituída por operadores lógicos padrão como este:

=IF(OR(C5="",C6="",C7=""),"",SUM(C5:C7))

Como alternativa, podemos combinar o operador diferente de () com a função E assim:

=IF(AND(C5"",C6"",C7""),SUM(C5:C7),"")

Observe que a função SUM foi movida para o resultado TRUE. Ele será executado apenas se C5 e C6 e C5 não estiverem vazios.

Com CONT.valor

Finalmente, você pode usar a função CONT.valores para verificar a entrada numérica ou de texto:

=IF(COUNTA(C5:C7)=3,SUM(C5:C7),"")

Enquanto o intervalo C5: C5 contiver três valores (números ou texto), o resultado será TRUE e a função SUM será executada. Isso realmente não faz sentido para o exemplo mostrado (que requer entrada numérica), mas pode ser usado em outras situações.

Artigos interessantes...