Formuła programu Excel: obliczaj tylko wtedy, gdy nie jest puste -

Spisie treści

Formuła ogólna

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

Podsumowanie

Aby formułę uruchamiać tylko wtedy, gdy co najmniej jedna komórka nie jest pusta, można użyć funkcji JEŻELI z odpowiednimi kryteriami logicznymi. W pokazanym przykładzie formuła w E5 to:

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

Ponieważ C7 nie ma wartości na powyższym ekranie, wzór nie pokazuje wyniku. Na poniższym ekranie C7 zawiera liczbę i jest wyświetlana suma:

Wyjaśnienie

Celem tego przykładu jest zweryfikowanie danych wejściowych przed obliczeniem wyniku. Kluczową kwestią do zrozumienia jest to, że można zastąpić każdą prawidłową formułę. Funkcja SUMA została użyta tylko jako przykład. Logikę można również dostosować na wiele sposobów, aby dopasować ją do sytuacji.

W przedstawionym przykładzie używamy funkcji JEŻELI razem z funkcją LICZBA. Kryterium jest wyrażeniem opartym na funkcji COUNT, która liczy tylko wartości liczbowe:

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

Dopóki zakres zawiera trzy liczby (tj. Wszystkie 3 komórki nie są puste), wynikiem jest PRAWDA i JEŻELI uruchomi funkcję SUMA. Jeśli nie, wynikiem jest FAŁSZ, a JEŻELI zwraca pusty ciąg („”). Ponieważ C7 nie ma wartości na powyższym ekranie, wzór nie pokazuje wyniku.

Istnieje wiele sposobów sprawdzania pustych komórek, a kilka opcji wyjaśniono poniżej.

Z COUNTBLANK

Funkcja LICZ.PUSTE zlicza puste komórki w zakresie, więc możemy napisać nieco bardziej zwartą formułę, taką jak ta:

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

Jeśli LICZ.PUSTE zwraca dowolną liczbę oprócz zera, funkcja JEŻELI zwróci wartość PRAWDA i nic nie zwróci („”). Jeśli LICZ.PUSTE zwraca zero, funkcja JEŻELI ma wartość FAŁSZ i zwraca sumę.

Z ISBLANK

W przedstawionym przykładzie wszystkie komórki wejściowe znajdują się w tym samym ciągłym zakresie. W przypadkach, gdy komórki nie są razem, możesz użyć następującego wzoru:

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

W tym przykładzie zastosowano podejście dosłowne z funkcją ISBLANK. Ponieważ chcemy sprawdzić wszystkie trzy komórki w tym samym czasie, musimy użyć ISBLANK trzy razy wewnątrz funkcji OR. Oto logiczny test wewnątrz IF:

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

Gdy OR zwraca PRAWDA (co najmniej jedna komórka jest pusta), funkcja JEŻELI zwraca pusty ciąg („”). Gdy OR zwraca FALSE (żadna komórka nie jest pusta), IF uruchamia funkcję SUMA i zwraca wynik:

SUM(C5:C7)

Z operatorami logicznymi

Funkcję ISBLANK można zastąpić standardowymi operatorami logicznymi, takimi jak:

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

Alternatywnie możemy połączyć operator nierówności () z funkcją AND w następujący sposób:

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

Zwróć uwagę, że funkcja SUMA została przeniesiona do wyniku PRAWDA. Będzie działać tylko wtedy, gdy C5, C6 i C5 nie są puste.

Z COUNTA

Na koniec możesz użyć funkcji LICZBA, aby sprawdzić dane liczbowe lub tekstowe:

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

Dopóki zakres C5: C5 zawiera trzy wartości (liczby lub tekst), wynikiem będzie TRUE i funkcja SUMA będzie działać. To naprawdę nie ma sensu w przedstawionym przykładzie (który wymaga wprowadzenia numerycznego), ale może być użyte w innych sytuacjach.

Interesujące artykuły...