Usando a instrução IF e ISBLANK para determinar um intervalo de células se algum deles tiver informações neles

8

Eu tenho uma fórmula em que estou verificando um intervalo de células, estejam elas em branco ou não.

Se todos eles estiverem em branco, quero retornar outro espaço em branco.

Se alguma das células do intervalo não estiver em branco, quero retornar um valor Major Milestone Due .

Aqui está a fórmula que tenho atualmente:

=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")

Ele está retornando tudo como Major Milestone Due , mesmo que haja determinados intervalos de linha com todas as células em branco.

    
por Heather 27.02.2014 / 20:04

4 respostas

13

COUNTA fornecerá o número de células em um intervalo não vazio .

Então, tente ...

 =IF(NOT(COUNTA(BM2:BQ2)),"","Major Milestone Due")
    
por 27.02.2014 / 20:23
8

Sua fórmula está correta se for inserida como uma fórmula de matriz .

O isblank não funciona para um array, a menos que você o insira como uma fórmula de array usando ctrl + shift + enter . Vai ficar assim com as chaves ao redor:

{=IF(ISBLANK(BM2:BQ2),"","Major Milestone Due")}

Além disso, um if-counta também não causará problemas -

=IF(COUNTA(BM2:BQ2)=0,"","Major Milestone Due")

    
por 27.02.2014 / 21:06
2

Uma coisa importante a considerar é a sua definição de "em branco". Com base no fato de que você usou o texto "Quero retornar outro espaço em branco", parece que você está definindo "em branco" como células que aparecem em branco, mas que na verdade podem conter uma fórmula outputs "" e, portanto, não estão vazios .

Os métodos COUNTA e ISBLANK não funcionarão se você quiser manipular esses tipos de células como espaços em branco, uma vez que essas duas fórmulas procuram por células realmente vazias . Para lidar com fórmulas que geram "" , você tem duas opções:


  • Se você sempre sabe o tamanho do seu intervalo, você pode usar uma das seguintes opções:

    =IF( COUNTBLANK(BM2:BQ2)=5, "", "Major Milestone Due")
    =IF( COUNTIF(BM2:BQ2,"")=5, "", "Major Milestone Due")

    onde 5 é o tamanho do seu intervalo. Este método não funciona tão bem com intervalos dinâmicos.


  • Uma fórmula um pouco mais complexa (pelo menos, mais complexa para explicar!) usa SUMPRODUCT :

    =IF( SUMPRODUCT(--(BM2:BQ2<>""))=0, "", "Major Milestone Due")


(Observe que COUNTIF(BM2:BQ2,"<>") tem o mesmo problema que COUNTA .)

    
por 18.01.2018 / 02:25
-1

Cheguei a esta página em busca da resposta a uma pergunta quase idêntica.

Quando vi que COUNTA foi mencionado, soube quase imediatamente o que fazer. Em um contexto ligeiramente diferente, tenho um intervalo de colunas à esquerda de uma coluna que quero dizer not started se todas as células na mesma linha estiverem vazias (em branco).

A fórmula a seguir funciona para mim.

=IF(COUNTA(P3:U3)=0,"Not Started"...)

As reticências indicam que há várias funções IF adicionais em minha fórmula, que realizam testes adicionais no intervalo se um ou mais estiver preenchido.

    
por 03.07.2016 / 20:38