Jak używać logicznej instrukcji AND lub OR w instrukcji SUM+IF w aplikacji Excel

Podsumowanie

W aplikacji Microsoft Excel użycie funkcji logicznych AND i/lub OR wewnątrz instrukcji SUM+IF w celu przetestowania zakresu dla więcej niż jednego warunku może nie działać zgodnie z oczekiwaniami. Zagnieżdżona instrukcja IF udostępnia tę funkcjonalność. Jednak w tym artykule omówiono drugą, łatwiejszą metodę, która używa następujących formuł.

Dla warunków instrukcji AND

=SUM(IF(Test1*Test2*...*Testn))

Dla warunków instrukcji OR

=SUM(IF(Test1+Test2+...+Testn))

Więcej informacji

Użyj instrukcji SUM+IF, aby zliczyć liczbę komórek w zakresie, które przeszedł dany test, lub zsumować te wartości w zakresie, dla którego odpowiednie wartości w innym (lub tym samym) zakresie spełniają określone kryteria. Działa to podobnie do funkcji DSUM w aplikacji Microsoft Excel.

Przykład

W tym przykładzie zlicza się liczbę wartości w zakresie A1:A10, które włącznie mieszczą się w zakresie od 1 do 10.

W tym celu możesz użyć następującej zagnieżdżonej instrukcji IF:

=SUM(IF(A1:A10>=1,IF(A1:A10<=10,1,0)))

Poniższa metoda również działa i jest znacznie łatwiejsza do odczytania, jeśli przeprowadzasz wiele testów:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),1,0))

Następująca metoda zlicza liczbę dat, które mieszczą się między dwiema podanymi datami:

=SUM(IF((A1:A10>=DATEVALUE("1/10/99"))*(A1:A10<=DATEVALUE("2/10/99")),1,0))

Uwaga

  • Należy wprowadzić te formuły jako formuły tablicowe, naciskając jednocześnie klawisze CTRL+SHIFT+ENTER. Na komputerze Macintosh naciśnij klawisze COMMAND+RETURN.
  • Tablice nie mogą odwoływać się do całych kolumn.

Ta metoda polega na pomnożeniu wyników jednego testu logicznego przez inny test logiczny w celu zwrócenia wartości TRUE i FALSE do funkcji SUM. Można je zrównać z następującymi elementami:

TRUE*TRUE=1
TRUE*FALSE=0
FALSE*TRUE=0
FALSE*FALSE=0

Przedstawiona powyżej metoda zlicza liczbę komórek w zakresie A1:A10, dla których oba testy mają wartość TRUE. Aby zsumować wartości w odpowiednich komórkach (na przykład B1:B10), zmodyfikuj formułę, jak pokazano poniżej:

=SUM(IF((A1:A10>=1)*(A1:A10<=10),B1:B10,0))

Instrukcję OR można zaimplementować podobnie w instrukcji SUM+IF. W tym celu zmodyfikuj powyższą formułę, zastępując znak mnożenia (*) znakiem plus (+). Daje to następującą formułę ogólną:

=SUM(IF((Test1)+(Test2)+...+(Testn),1,0))

Informacje

Aby uzyskać więcej informacji dotyczących skalkulowania wartości na podstawie warunku, kliknij polecenie Pomoc aplikacji Microsoft Excel w menu Pomoc, w Asystencie pakietu Office lub Kreatorze odpowiedzi wpisz ciąg informacje na temat kalkulowania wartości na podstawie warunku, a następnie kliknij przycisk Wyszukaj w celu wyświetlenia tematów zwróconych w wynikach wyszukiwania.