Formuła programu Excel: jeśli nie jest pustych wiele komórek -

Spisie treści

Formuła ogólna

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

Podsumowanie

Aby przetestować wiele komórek i zwrócić wartość z pierwszej niepustej komórki, możesz użyć formuły opartej na funkcji JEŻELI. W przedstawionym przykładzie kolumna D zawiera daty ukończenia zadań. Formuła w komórce F5 to:

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

która zwraca wartość z pierwszej niepustej komórki, odpowiednio B5, C5, D5 lub E5. Gdy wszystkie komórki są puste, formuła zwraca „brak wartości”. Wartość zwracaną, gdy wszystkie komórki są puste, można dostosować według potrzeb.

Wyjaśnienie

W programie Excel puste podwójne cudzysłowy („”) oznaczają pusty ciąg. Symbol jest operatorem logicznym, który oznacza „różne od”, więc poniższe wyrażenie oznacza, że ​​„A1 nie jest puste”:

=A1"" // A1 is not empty

To wyrażenie jest używane czterokrotnie w formule przedstawionej w przykładzie w celu przetestowania czterech różnych komórek w określonej kolejności.

Ogólna struktura tego wzoru jest nazywana „zagnieżdżoną formułą JEŻELI”. Każda instrukcja IF sprawdza komórkę, aby zobaczyć, czy nie jest pusta. Jeśli nie jest pusta, funkcja JEŻELI zwraca wartość z tej komórki. Jeśli komórka jest pusta, instrukcja IF przekazuje przetwarzanie innej instrukcji IF:

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

Przepływ zagnieżdżonego IF jest łatwiejszy do wizualizacji, jeśli dodasz podziały wierszy do formuły. Poniżej do formuły dodano podziały wierszy, aby wyrównać instrukcje IF:

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

Z ISBLANK

Excel zawiera funkcję ISBLANK, która zwraca wartość TRUE, gdy komórka jest pusta:

=ISBLANK(A1) // A1 is blank

Zachowanie można „odwrócić”, zagnieżdżając funkcję ISBLANK wewnątrz funkcji NOT:

=ISBLANK(A1) // A1 is not blank

Powyższy wzór można ponownie napisać, aby używał ISBLANK w następujący sposób:

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

Interesujące artykuły...