Excel formülü: IF ile SUMPRODUCT -

İçindekiler

Genel formül

=SUMPRODUCT(expression,range)

Özet

SUMPRODUCT sonuçlarını belirli ölçütlerle filtrelemek için, IF işlevini kullanmak yerine basit mantıksal ifadeleri doğrudan işlevdeki dizilere uygulayabilirsiniz. Gösterilen örnekte, H5: H7'deki formüller şunlardır:

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

aşağıdaki adlandırılmış aralıkların tanımlandığı yerlerde:

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

Adlandırılmış aralıklardan kaçınmayı tercih ediyorsanız, yukarıdaki mutlak referanslar olarak girilen aralıkları kullanın. H6 ve H7'deki mantıksal ifadeler, aşağıda açıklandığı gibi birleştirilebilir.

Açıklama

Bu örnek, SUMPRODUCT işlevinin temel güçlü yönlerinden birini göstermektedir - verileri IF işlevi yerine temel mantıksal ifadelerle filtreleme yeteneği. SUMPRODUCT içinde, ilk dizi "kırmızı" rengine göre filtre uygulamak için mantıksal bir ifadedir:

--(color="red")

Bu, çift negatif (-) işlemle birler ve sıfırlara zorlanan bir dizi veya DOĞRU YANLIŞ değerlerle sonuçlanır. Sonuç şu dizidir:

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

Dizinin her satır için bir tane olmak üzere 10 değer içerdiğine dikkat edin. Bir, rengin "kırmızı" olduğu bir satırı belirtir ve sıfır, başka herhangi bir renkle bir satırı belirtir.

Sonra, iki tane daha dizimiz var: biri miktar için diğeri fiyat için. İlk diziden elde edilen bu sonuçlarla birlikte elimizde:

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

Dizileri genişletmek için elimizde:

=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))

SUMPRODUCT'ün temel davranışı çarpmak ve ardından dizileri toplamaktır. Üç dizi ile çalıştığımız için, işlemi aşağıdaki tabloda gösterildiği gibi görselleştirebiliriz, burada sonuç sütunu dizi1 * dizi2 * dizi3'ü çarpmanın sonucudur :

dizi1 dizi2 dizi3 sonuç
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

Dizi1'in filtre olarak çalıştığına dikkat edin - burada rengin "kırmızı" olmadığı satırlarda "sıfır çıkış" değerleri sıfırdır. Sonuçları SUMPRODUCT'e geri koyarsak:

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

480 nihai sonucu döndürür.

Ek kriterler eklemek

Başka bir mantıksal ifade ekleyerek ölçütleri genişletebilirsiniz. Örneğin, rengin "Kırmızı" ve durumun "TX" olduğu toplam satışları bulmak için H6 şunları içerir:

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

Not: SUMPRODUCT, büyük / küçük harfe duyarlı değildir.

Tek bir dizi ile basitleştirme

Excel uzmanları, dizileri doğrudan array1 içindeki şu şekilde çarparak SUMPRODUCT içindeki sözdizimini genellikle biraz basitleştirir :

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

Bu işe yarar çünkü matematik işlemi (çarpma) ilk iki ifadeden DOĞRU ve YANLIŞ değerlerini otomatik olarak birler ve sıfırlara zorlar.

Ilginç makaleler...