Fórmula do Excel: Se não estiver em branco, várias células -

Índice

Fórmula genérica

=IF(A1"",A1,IF(B1"",B1,IF(C1"",C1,IF(D1"",D1,"no value"))))

Resumo

Para testar várias células e retornar o valor da primeira célula que não está em branco, você pode usar uma fórmula baseada na função SE. No exemplo mostrado, a coluna D contém as datas de conclusão da tarefa. A fórmula na célula F5 é:

=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))

que retorna um valor da primeira célula não em branco, B5, C5, D5 ou E5, respectivamente. Quando todas as células estão em branco, a fórmula retorna "nenhum valor". O valor retornado quando todas as células estão em branco pode ser ajustado conforme desejado.

Explicação

No Excel, aspas duplas vazias ("") significam string vazia. O símbolo é um operador lógico que significa "diferente de", então a seguinte expressão significa "A1 não está vazio":

=A1"" // A1 is not empty

Esta expressão é usada quatro vezes na fórmula mostrada no exemplo, a fim de testar quatro células diferentes em uma ordem particular.

A estrutura geral desta fórmula é chamada de "fórmula IF aninhada". Cada instrução IF verifica uma célula para ver se ela não está vazia. Se não estiver vazio, o IF retorna o valor dessa célula. Se a célula estiver vazia, a instrução IF transfere o processamento para outra instrução IF:

=IF(B5"",B5,IF(C5"",C5,IF(D5"",D5,IF(E5"",E5,"no value"))))

O fluxo de um IF aninhado é mais fácil de visualizar se você adicionar quebras de linha à fórmula. Abaixo, as quebras de linha foram adicionadas à fórmula para alinhar as instruções IF:

= IF(B5"",B5, IF(C5"",C5, IF(D5"",D5, IF(E5"",E5, "no value"))))

Com ISBLANK

O Excel contém a função ISBLANK, que retorna TRUE quando uma célula está em branco:

=ISBLANK(A1) // A1 is blank

O comportamento pode ser "revertido" aninhando a função ISBLANK dentro da função NOT:

=ISBLANK(A1) // A1 is not blank

A fórmula acima pode ser reescrita para usar ISBLANK da seguinte forma:

=IF(NOT(ISBLANK(B5)),B5,IF(NOT(ISBLANK(C5)),C5,IF(NOT(ISBLANK(D5)),D5,IF(NOT(ISBLANK(E5)),E5,"novalue"))))

Artigos interessantes...