Formuła programu Excel: SUMPRODUCT z IF -

Spisie treści

Formuła ogólna

=SUMPRODUCT(expression,range)

Podsumowanie

Aby odfiltrować wyniki funkcji SUMPRODUCT według określonych kryteriów, można zastosować proste wyrażenia logiczne bezpośrednio do tablic w funkcji zamiast używać funkcji JEŻELI. W pokazanym przykładzie formuły w H5: H7 to:

=SUMPRODUCT(--(color="red"),quantity,price) =SUMPRODUCT(--(state="tx"),--(color="red"),quantity,price) =SUMPRODUCT(--(state="co"),--(color="blue"),quantity,price)

gdzie zdefiniowano następujące nazwane zakresy:

state=B5:B14 color=C5:C14 quantity=D5:D14 price=E5:E14

Jeśli wolisz unikać nazwanych zakresów, użyj zakresów wprowadzonych powyżej jako odniesień bezwzględnych. Wyrażenia logiczne w H6 i H7 można łączyć, jak wyjaśniono poniżej.

Wyjaśnienie

Ten przykład ilustruje jedną z kluczowych zalet funkcji SUMPRODUCT - możliwość filtrowania danych za pomocą podstawowych wyrażeń logicznych zamiast funkcji JEŻELI. Wewnątrz SUMPRODUCT pierwsza tablica jest logicznym wyrażeniem filtrującym według koloru „czerwony”:

--(color="red")

W rezultacie powstaje tablica lub wartości TRUE FALSE, które są przekształcane na jedynki i zera za pomocą operacji podwójnego ujemnego (-). Wynikiem jest ta tablica:

(1;0;1;0;0;0;1;0;0;0)

Zwróć uwagę, że tablica zawiera 10 wartości, po jednej dla każdego wiersza. Jedynka wskazuje wiersz, w którym kolor jest „czerwony”, a zero oznacza wiersz z dowolnym innym kolorem.

Następnie mamy jeszcze dwie tablice: jedną dla ilości i jedną dla ceny. Wraz z wynikami z pierwszej tablicy otrzymujemy:

=SUMPRODUCT((1;0;1;0;0;0;1;0;0;0),quantity,price)

Rozwijając tablice mamy:

=SUMPRODUCT((1;0;1;0;0;0;1;0;0;0),(10;6;14;9;11;10;8;9;11;10),(15;18;15;16;18;18;15;16;18;16))

Podstawowym zachowaniem SUMPRODUCT jest mnożenie, a następnie sumowanie tablic. Ponieważ pracujemy z trzema tablicami, możemy wizualizować operację, jak pokazano w poniższej tabeli, gdzie kolumna wyników jest wynikiem pomnożenia tablica1 * tablica2 * tablica3 :

tablica1 tablica2 tablica3 wynik
1 10 15 150
0 6 18 0
1 14 15 210
0 9 16 0
0 11 18 0
0 10 18 0
1 8 15 120
0 9 16 0
0 11 18 0
0 10 16 0

Zauważ, że tablica1 działa jak filtr - zerowe wartości tutaj „zerują” wartości w wierszach, w których kolor nie jest „czerwony”. Odkładając wyniki z powrotem do SUMPRODUCT, mamy:

=SUMPRODUCT((150;0;210;0;0;0;120;0;0;0))

Co daje końcowy wynik 480.

Dodanie dodatkowych kryteriów

Kryteria można rozszerzyć, dodając kolejne wyrażenie logiczne. Na przykład, aby znaleźć łączną sprzedaż, której kolor to „Czerwony”, a stan to „TX”, H6 zawiera:

=SUMPRODUCT(--(state="tx"),--(color="red"),quantity,price)

Uwaga: SUMPRODUCT nie rozróżnia wielkości liter.

Upraszczanie za pomocą jednej tablicy

Specjaliści od Excela często upraszczają nieco składnię w SUMPRODUCT, mnożąc tablice bezpośrednio w array1 w następujący sposób:

=SUMPRODUCT((state="tx")*(color="red")*quantity*price)

Działa to, ponieważ operacja matematyczna (mnożenie) automatycznie przekształca wartości PRAWDA i FAŁSZ z pierwszych dwóch wyrażeń na jedynki i zera.

Interesujące artykuły...