Formula Excel: dacă nu este goală mai multe celule -

Cuprins

Formula generică

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

rezumat

Pentru a testa mai multe celule și a returna valoarea de la prima celulă necompletată, puteți utiliza o formulă bazată pe funcția IF. În exemplul prezentat, coloana D conține date de finalizare a sarcinii. Formula din celula F5 este:

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

care returnează o valoare din prima celulă necompletată, B5, C5, D5 sau, respectiv, E5. Când toate celulele sunt goale, formula returnează „fără valoare”. Valoarea returnată când toate celulele sunt goale poate fi ajustată după cum doriți.

Explicaţie

În Excel, ghilimelele goale ("") înseamnă șir gol. Simbolul este un operator logic care înseamnă „nu este egal cu”, deci următoarea expresie înseamnă „A1 nu este gol”:

=A1"" // A1 is not empty

Această expresie este utilizată de patru ori în formula prezentată în exemplu, pentru a testa patru celule diferite într-o anumită ordine.

Structura generală a acestei formule este ceea ce se numește o „formulă IF imbricată”. Fiecare instrucțiune IF verifică o celulă pentru a vedea dacă nu este goală. Dacă nu este gol, IF returnează valoarea din acea celulă. Dacă celula este goală, instrucțiunea IF predă procesarea către o altă instrucțiune IF:

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

Fluxul unui IF imbricat este mai ușor de vizualizat dacă adăugați pauze de linie la formulă. Mai jos, s-au adăugat întreruperi de linie la formulă pentru a alinia instrucțiunile IF:

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

Cu ISBLANK

Excel conține funcția ISBLANK, care returnează TRUE atunci când o celulă este goală:

=ISBLANK(A1) // A1 is blank

Comportamentul poate fi „inversat” prin cuibărirea funcției ISBLANK în funcția NOT:

=ISBLANK(A1) // A1 is not blank

Formula de mai sus poate fi rescrisă pentru a utiliza ISBLANK după cum urmează:

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

Articole interesante...