Ana içeriğe geç

SUMPRODUCT() Excel: Bilmeniz Gerekenler

Excel’de SUMPRODUCT() ile koşullu, ağırlıklı ve matris tabanlı hesaplamalara yönelik pratik bir rehber
· 15 dk. oku

Yapay Zeka ile Keşfedin

SUMIF() ve SUMIFS() gibi işlevler ortaya çıkmadan önce, SUMPRODUCT() Excel’de koşullu mantığı ele almak için kullanılan başlıca araçlardan biriydi. Analistler, özel koşullu işlevler tanıtılmadan çok önce verileri filtrelemek, birden çok ölçüt uygulamak ve ağırlıklı sonuçlar hesaplamak için bu işlevi kullanıyordu.

Bugün bile, SUMPRODUCT() özellikle birden çok koşul, dizi ya da hesaplamanın birlikte değerlendirilmesi gerektiğinde, daha yeni işlevlerin zorlandığı senaryoları başarıyla çözer.

Buna rağmen ya gözden kaçırılır ya da yanlış anlaşılır. Birçok kullanıcı varlığını bilir, ancak temel örneklerin ötesine geçmez. 

Bu yazıda, SUMPRODUCT() işlevini koşullu ve ağırlıklı hesaplamalar için nasıl kullanacağınızı ve gerçek hayattaki Excel modellerinde güvenle kullanabilmeniz için yaygın hatalardan nasıl kaçınacağınızı öğreneceksiniz.

SUMPRODUCT()'ı Anlamak

SUMPRODUCT(), Excel’de dizilerdeki karşılık gelen değerleri çarpıp sonuçları toplayan bir işlevidir; böylece tek bir formülle karmaşık hesaplamalar yapabilirsiniz. Sıklıkla ileri düzey analizle ilişkilendirilse de, orijinal amacı çok daha pratiktir.

Temel kavramlar ve temel söz dizimi

Excel’deki SUMPRODUCT() işlevi iki veya daha fazla aralığı alır, karşılık gelen değerlerini çarpar ve sonuçları tek bir nihai değerde toplar. Çekirdek amacı, hesaplama ve toplamayı tek bir formülde birleştirerek ek yardımcı sütunlara olan ihtiyacı ortadan kaldırmaktır.

Bu, kaç dizi eklerseniz ekleyin, SUMPRODUCT() işlevinin her zaman tek bir sayısal sonuç üreteceği anlamına gelir.

SUMPRODUCT() işlevinin söz dizimi şöyledir:

SUMPRODUCT(array1, [array2], …)

Bu söz diziminin dökümü: 

Öğe

Açıklama

Notlar

array1

Hesaplamada kullanılan ilk aralık veya dizi

Zorunlu

[array2]

array1 ile çarpılacak ek aralıklar veya diziler

İsteğe bağlı

…

Aynı formüle birden çok dizi ekleyebilirsiniz

Tüm diziler hizalı olmalıdır

SUMPRODUCT() kullanırken şunları göz önünde bulundurun: 

  • Her dizi aynı sayıda satır ve sütuna sahip olmalıdır; çünkü SUMPRODUCT() öğeleri konumlarına göre hizalar. 

  • Bir dizi daha uzun ya da şekil olarak farklıysa, işlev değerleri doğru şekilde eşleştiremez ve #VALUE! hatası verebilir.

  • Boş hücreler sıfır olarak değerlendirilir.

  • Metinler, mantıksal bir ifadede kullanılmadıkça hesaplamalarda yok sayılır. 

Varsayılan davranış: Çarpma ve toplama

Varsayılan olarak SUMPRODUCT(), birden çok dizideki karşılık gelen değerleri çarpar ve ardından sonuçları toplar. Öğeden öğeye çarpma ve ardından toplama, işlevin çalışma şeklidir. 

Örneğin, miktar ve fiyatlardan oluşan basit bir veri setimiz olduğunu düşünelim. Quantity sütunu miktarları, Price sütunu fiyatları içeriyorsa, aşağıdaki formül toplam geliri hesaplar:

=SUMPRODUCT(A2:A4, B2:B4)

SUMPRODUCT function in Excel

Excel’de SUMPRODUCT(). Görsel: Yazar.

Sonucun arka planında Excel, her satırı ayrı ayrı değerlendirir ve ardından sonuçları toplar:

  • Satır 1: 2 × 50 = 100
  • Satır 2: 3 × 30 = 90
  • Satır 3: 1 × 20 = 20

Excel daha sonra bu değerleri toplar: 100 + 90 + 20 = 210

Bu, toplamadan önce satır düzeyindeki toplamları elle hesaplayan yardımcı sütunlara duyulan ihtiyacı ortadan kaldırır. SUMPRODUCT() tüm hesaplamayı tek bir formülde tutarak formül kalabalığını azaltır ve başvuru hatası riskini düşürür.

Bu varsayılan “önce çarp, sonra topla” davranışı, ileride koşullu mantık ve ağırlıklı hesaplamalar gibi daha gelişmiş kullanımları mümkün kılar.

SUMPRODUCT()'ı Temelin Ötesine Taşımak

Artık nasıl çalıştığını bildiğinize göre, SUMPRODUCT() ile yapılabilecek bazı ileri işlemlere bakalım:

Gelişmiş aritmetik ve operatör kullanımı

SUMPRODUCT(), toplamadan önce satır bazında toplama, çıkarma ve bölmeyi içeren tam aritmetik ifadeleri değerlendirebilir.

Bir ifadenin içinde aritmetik operatörler (*, +, -, /) kullandığınızda, Excel önce her satır için tüm hesaplamayı değerlendirir. Örneğin şu formül, toplam gelirden indirimleri düşer: 

=SUMPRODUCT((B2:B6*C2:C6)-E2:E6)

Bu formül, her satır için Quantity × Price çarpar, Discount değerini çıkarır ve ardından ortaya çıkan tüm değerleri tek bir toplamda birleştirir.

Using arithmetic expressions and operators in SUMPRODUCT

SUMPRODUCT() içinde aritmetik ifadeler ve operatörler kullanın. Görsel: Yazar.

Ancak, virgüller farklı çalışır. Dizileri virgülle ayırdığınızda her dizi bağımsız bir girdi olarak değerlendirilir ve SUMPRODUCT() bu dizilerdeki karşılık gelen öğeleri toplama öncesinde çarpar. 

Mantıksal koşulları kullanmak için SUMPRODUCT(), çift işaretli unar operatöre -- güvenir. A2:A6>100 gibi mantıksal ifadeler TRUE veya FALSE döndürür; aritmetiğe katılmadan önce bunların 1 ve 0'a dönüştürülmesi gerekir. 

Bu dönüştürmeyi çift unar operatör yapar:

=SUMPRODUCT(--(A2:A6>100), B2:B6)

Bu örnekte, yalnızca koşulun TRUE olduğu satırlar toplama katkıda bulunur.

Bu operatör esnekliği; aritmetik ifadeleri, mantıksal testleri ve dizi eşleştirmeyi birleştirme yeteneği, SUMPRODUCT() işlevini modelleme, raporlama ve normalde yardımcı sütun gerektiren senaryolar için vazgeçilmez kılar.

Koşullu hesaplamalar ve mantıksal ölçütler

SUMPRODUCT() mantıksal koşulları doğrudan bir formül içinde değerlendirebilir. Bu koşullar TRUE ve FALSE değerlerinden oluşan diziler üretir; hesaplamalara katılmadan önce bunların sayılara dönüştürülmesi gerekir.

Diyelim ki Fruit kategorisindeki ürünler için Quantity toplamını almak istiyoruz. Bu durumda, =SUMPRODUCT((D2:D6="Fruit"), B2:B6) formülünü denerseniz sonuç 0 olur. 

Neden? Çünkü D2:D6="Fruit" gibi bir mantıksal test {TRUE, TRUE, FALSE, TRUE, FALSE} üretir.

Bunlar sayısal değil, mantıksal değerlerdir. SUMPRODUCT() sayısal matematik yaptığından, bu mantıksal değerlerin 1 ve 0'a dönüştürülmesi gerekir. Çift unar operatör -- bu dönüşümü yapar:

--(D2:D6="Fruit")

Bu, mantıksal değerleri şu şekilde sayılara çevirir:

{1, 1, 0, 1, 0}

Burada TRUE 1'e, FALSE 0'a dönüşür. Artık SUMPRODUCT() doğru şekilde çarpabilir.

=SUMPRODUCT(--(D2:D6="Fruit"), B2:B6)

Hesaplama şöyle yapılır: 

(1×5) + (1×3) + (0×4) + (1×2) + (0×6) = 10

Yalnızca 1 ile işaretlenen satırlar hesaba katılır. Sonuç, Fruit ürünleri için toplam miktar olan 10'dur.

using Double unary in SUMPRODUCT in Excel.

Excel’de SUMPRODUCT() içinde çift unar kullanın. Görsel: Yazar.

Birden fazla ölçütü ele alma (VE/VEYA Mantığı)

SUMPRODUCT() birden çok koşulu AND (VE) ve OR (VEYA) mantığıyla ele alır. Nasıl olduğuna bakalım: 

VE mantığı: Tüm koşullar karşılanmalı

AND mantığını uygulamak için koşullar * ile çarpılır. Yalnızca 1 × 1 1 ettiği için, bir satır ancak tüm koşullar TRUE olduğunda dahil edilir:

=SUMPRODUCT(--(A2:A10>50)* --(B2:B10<100)* C2:C10)

Dizileri virgülle de ayırabilirsiniz. Varsayılan olarak, SUMPRODUCT() virgülle ayrılan dizileri çarpar. Ancak * kullanmak VE mantığını görmeyi kolaylaştırır.

=SUMPRODUCT(--(A2:A10>50), --(B2:B10<100), C2:C10)

Bu örnekte, C sütunundaki değerler yalnızca şu durumlarda toplanır:

  • A sütunu 50’den büyükse
  • B sütunu 100’den küçükse

Koşullardan biri başarısız olursa, satır 0 olarak değerlendirilir ve hariç tutulur.

VEYA mantığı: Herhangi bir koşul karşılanabilir

VEYA mantığı, koşulları + ile toplayarak oluşturulur. Herhangi bir koşul TRUE ise, satır toplamına katkıda bulunur:

=SUMPRODUCT(--((A2:A10>50)+(B2:B10<100)), C2:C10)

Burada, koşullardan herhangi biri TRUE olduğunda satırlar dahil edilir. Toplama 1'den büyük değerler üretebilir, ancak çift unar -- herhangi bir sıfır dışı sonucu 1'e dönüştürerek her satırın bir kez sayılmasını sağlar.

Applying AND and OR logic using SUMPRODUCT.

SUMPRODUCT() ile VE ve VEYA mantığını uygulayın. Görsel: Yazar.

SUMPRODUCT() neden sıklıkla SUMIFS() yerine tercih edilir

SUMIFS() birden çok VE koşulunu iyi yönetirken, yerel olarak VEYA mantığını ya da koşullar birden fazla sütuna yayıldığında veya sayısal ve metin ölçütleri karıştığında daha karmaşık desenleri değerlendiremez.

SUMPRODUCT() şu gibi senaryolarda öne çıkar:

  • Sütunlar arasında VEYA mantığı uygulamak
  • Sayısal eşiklerle metin koşullarını birleştirmek
  • Yardımcı sütunlar olmadan çok sütunlu filtreler oluşturmak

Bu esneklik, şartlı mantığın standart SUMIFS() kurallarını aştığı gelişmiş filtreleme, modelleme ve raporlama senaryolarında SUMPRODUCT()u güvenilir bir seçenek yapar.

SUMPRODUCT() ile Uygulamalı Analitik Teknikler

SUMPRODUCT() yalnızca basit hesaplamalar için değildir; karmaşık analizleri de kaldırabilir. 

Satır ve sütun ölçütü uygulamaları

SUMPRODUCT() koşulları aynı anda hem satırlar hem sütunlar genelinde uygulayabilir. Bu da matris tarzı veya çapraz tablolu verilerle çalışmayı kolaylaştırır. 

INDEX/MATCH gibi tek bir değer döndürmek yerine, birden çok kesişimi aynı anda değerlendirip birleştirilmiş bir toplam döndürebilir.

Bu sayede SUMPRODUCT(), yardımcı sütunlar veya ayrı arama formülleri olmadan dinamik iki yönlü bir arama görevi görebilir.

Ürün (satırlar) ve bölge (sütunlar) bazında bir satış matrisi olduğunu ve Kuzey (North) ve Doğu (East) bölgelerindeki Apple ve Banana için toplam satışları hesaplamak istediğinizi varsayalım. 

Bunun için aşağıdaki formülü kullanacaksınız:

=SUMPRODUCT(
B2:E4 *
  ((A2:A4="Apple")+(A2:A4="Banana")) *
  ((B1:E1="North")+(B1:E1="East"))
)

SUMPRODUCT handles matrix multiplication in Excel.

SUMPRODUCT() matris çarpımını yönetir. Görsel: Yazar.

Bu formülde:

  • B2:E4 satış değerlerini içerir

  • (A2:A4="Apple") + (A2:A4="Banana") dikey bir satır filtresi oluşturur

  • (B1:E1="North") + (B1:E1="East") yatay bir sütun filtresi oluşturur

Ölçütleri karşılayan satır ve sütunlar 1 olarak değerlendirilir. Diğerleri 0 olur. Satış matrisindeki her değer, hem satır hem sütun koşullarıyla çarpılır.

Yalnızca her iki koşulu karşılayan hücreler sıfır olmayan olarak kalır.

Bu örnekte:

  • Apple (North + East): 120 + 110
  • Banana (North + East): 70 + 85

Toplam: 385

Bu desen, aynı anda birden çok satır ve sütun koşulunun uygulanması gereken iki boyutlu her veri seti için çalışır; örneğin:

  • Ürün × bölge
  • Yıl × kategori
  • Departman × maliyet türü

Bu tür senaryolarda, SUMPRODUCT() geleneksel arama işlevlerinden daha fazla esneklik sağlar ve iç içe formüllerin karmaşıklığından kaçınır.

Ağırlıklı ortalama hesaplamaları

Ağırlıklı ortalamalar SUMPRODUCT() için doğal bir uyumdur; çünkü hesaplamanın kendisi işlevin varsayılan davranışını izler: değerleri ağırlıklarla çarpın, sonra sonuçları toplayın.

Standart ağırlıklı ortalama formülü şöyledir:

(Puan × Ağırlık Toplamı) ÷ (Ağırlıkların Toplamı)

Ancak SUMPRODUCT() bu işlemi, çarpmayı ve toplamayı tek adımda hallederek basitleştirir. Yardımcı sütunlar oluşturmak yerine, ağırlıklı toplamı doğrudan hesaplayıp ağırlıkların toplamına bölebilirsiniz:

=SUMPRODUCT(values, weights) / SUM(weights)

Örneğin, bir öğrencinin ağırlıklı ders ortalamasını hesaplamak için şu formülü kullanabilirsiniz:

=SUMPRODUCT(B2:B4, C2:C4) / SUM(C2:C4)

Excel her bileşeni şöyle değerlendirir:

  • Matematik: 85 × 0.40 = 34
  • Fen: 90 × 0.35 = 31.5
  • İngilizce: 78 × 0.25 = 19.5

Ağırlıklı toplam 85 olup nihai ortalama bu değerdir.

Calculate the weighted average using the SUMPRODUCT

SUMPRODUCT kullanarak ağırlıklı ortalama hesaplama. Görsel: Yazar.

Ölçütlerle ağırlıkları filtrelemek veya ayarlamak

SUMPRODUCT() ağırlıkların dinamik olarak ayarlanması gerektiğinde daha da kullanışlı hale gelir. 

Örneğin, belirli dersleri hariç tutabilir veya hesaplamaya koşullar uygulayabilirsiniz:

=SUMPRODUCT(B2:B6, C2:C6, --(D2:D6<>"Optional")) / 
 SUMPRODUCT(C2:C6, --(D2:D6<>"Optional"))

Formül, ağırlıklı toplamı (pay) toplam ağırlığa (payda) böler.

Calculating the weighted average using SUMPRODUCT() in Excel

SUMPRODUCT kullanarak ağırlıklı ortalama hesaplama. Görsel: Yazar.

Bu formülde:

  • (D2:D6<>"Optional") {TRUE, TRUE, FALSE, TRUE, FALSE} döndürür

  • --(D2:D6<>"Optional") {1, 1, 0, 1, 0} değerine dönüştürür

  • Pay: (85×0.25×1) + (90×0.25×1) + (78×0.20×0) + (88×0.20×1) + (92×0.10×0) = 21.25 + 22.50 + 0 + 17.60 + 0 = 61.35

  • Payda: (0.25×1) + (0.25×1) + (0.20×0) + (0.20×1) + (0.10×0) = 0.70

Bu düzende, yalnızca koşulu karşılayan satırlar hem ağırlıklı toplama hem toplam ağırlığa katkıda bulunur. Bu da veriyi yeniden yapılandırmadan veya yardımcı sütun eklemeden doğru hesaplama yapmanızı sağlar.

Ağırlıklı ortalamalar, toplamadan önce satır bazlı çarpmaya dayandığından, SUMPRODUCT() çoğu zaman notlandırma modelleri, portföy ağırlıklandırma ve performans puanlaması için en doğrudan ve esnek araçtır.

İleri düzey uygulamalar ve karmaşık senaryolar

SUMPRODUCT() işlevinin en büyük güçlerinden biri, diğer Excel işlevleriyle kolayca birleşebilmesidir. Satır satır değerlendirme yaptığı için, metin işlevlerini, arama sonuçlarını ve mantıksal testleri esnek analiz için sayısal girdilere dönüştürebilir.

Nasıl olduğuna bakalım. 

SUMPRODUCT() ile SEARCH() kullanarak kısmi metin eşleşmeleri

Bir kelime veya ifadeyi içeren metni eşleştirmek için SUMPRODUCT()u SEARCH() ve ISNUMBER() ile eşleştirin:

=SUMPRODUCT(--ISNUMBER(SEARCH("Apple", A2:A5)), B2:B5)

Bu formülde: 

  • SEARCH() eşleşme bulunduğunda bir sayı döndürür

  • ISNUMBER() eşleşmeleri TRUE/FALSE'a dönüştürür

  • -- bu değerleri 1 ve 0'a çevirir

Yalnızca “Apple” içeren satırlar toplamaya katkıda bulunur.

Combining SUMPRODUCT with SEARCH

SUMPRODUCT() ile SEARCH() birleştirme. Görsel: Yazar.

SUMPRODUCT() ile EXACT() kullanarak büyük/küçük harf duyarlı eşleşme

Varsayılan olarak, Excel metin karşılaştırmaları büyük/küçük harf duyarlı değildir. Harf duyarlılığı gerektiğinde, EXACT()i SUMPRODUCT() içinde şu şekilde kullanabilirsiniz:

=SUMPRODUCT(--EXACT(A2:A5,"Apple"), B2:B5)

Bu, harf duyarlılığı dahil olmak üzere yalnızca tam olarak eşleşen metnin hesaplamaya dahil edilmesini sağlar.

Combining SUMPRODUCT with EXACT

SUMPRODUCT() ile EXACT() birleştirme. Görsel: Yazar.

SUMPRODUCT() ile VLOOKUP() kullanma

SUMPRODUCT() ayrıca arama sonuçlarını mantığının bir parçası olarak değerlendirebilir. VLOOKUP() ile birleştiğinde, ayrı bir tabloda depolanan değerlere dayalı koşullu hesaplamalara olanak tanır:

=SUMPRODUCT(
  (VLOOKUP(A2:A5, D2:E5, 2, FALSE)="Fruit") *
  B2:B5
)

Burada VLOOKUP(), her ürün için kategoriyi getirir ve SUMPRODUCT() belirtilen koşulla eşleşen satırları dahil eder. Bu yaklaşım yardımcı sütunlardan kaçınır ve geleneksel SUMIF() formüllerinden daha esnek, aramaya dayalı filtrelemeyi destekler.

Combining SUMPRODUCT with VLOOKUP

SUMPRODUCT() ile VLOOKUP() birleştirme. Görsel: Yazar.

SUMPRODUCT() ile COUNTIF() kullanarak tekil değerleri sayma

SUMPRODUCT()u COUNTIF() ile birlikte kullanarak tekil değerleri şu şekilde sayabilirsiniz:

=SUMPRODUCT(1/COUNTIF(A2:A6, A2:A6))

Combining SUMPRODUCT with COUNTIF.

SUMPRODUCT() ile COUNTIF() birleştirme. Görsel: Yazar.

Bu formülde, yinelenen değerler toplamı 1 olan kesirli ağırlıkları paylaşır; böylece her tekil öğe bir kez sayılır. Bu nedenle sonuç 3'tür. 

Daha yeni işlevler bulunsa da bu teknik, eski Excel sürümlerinde veya karmaşık dizi modellerinde hâlâ faydalıdır.

Sorun Giderme, Optimizasyon ve En İyi Uygulamalar

SUMPRODUCT()u nasıl ve nerede kullanacağınızı öğrendiğinize göre, karşılaşabileceğiniz birkaç zorluk ve bunları nasıl çözeceğiniz: 

Hata yönetimi ve yaygın zorluklar

Çoğu SUMPRODUCT() hatası, hatalı mantıktan ziyade küçük yapısal sorunlardan kaynaklanır. Bir formül 0, beklenmedik bir toplam ya da hata döndürdüğünde, sorunu izole etmek genellikle kolaydır:

Uyumsuz dizi boyutları

SUMPRODUCT() içinde kullanılan her dizi aynı sayıda satır ve sütuna sahip olmalıdır. Bir aralık diğerlerinden daha uzun ya da daha genişse formül doğru şekilde değerlendirilemez.

Hızlı kontrol: Tüm başvurulan aralıkların aynı satır ve sütunlarda başlayıp bittiğini doğrulayın.

Beklenmeyen metin veya gizli karakterler

SUMPRODUCT() sayısal matematik yapar. Bir aralık sayısal görünüp boşluk veya metin içeriyorsa, hesaplama yanlış sonuçlar ya da sıfır döndürebilir.

Hızlı çözüm: Fazladan boşlukları kaldırmak için TRIM() kullanın ya da uygun olduğunda değerleri sayısala zorlamak için -- ile sarmalayın.

Hatalı parantezler

Parantezler değerlendirme sırasını kontrol eder. Eksik veya yanlış yerdeki bir parantez, bir koşulun yanlış uygulanmasına ya da hiç uygulanmamasına neden olabilir.

Hızlı çözüm: Her mantıksal testi, aritmetik veya diğer koşullarla birleştirmeden önce net şekilde gruplandırın.

Ara mantığı adım adım test etme

SUMPRODUCT() formülünü hata ayıklamanın en hızlı yollarından biri, tek tek bileşenleri değerlendirmektir.

Bunu şöyle yapabilirsiniz: 

  • Formülün bir bölümünü vurgulayın; ör. (A2:A10>50)
  • F9 tuşuna basın
  • Çıktıyı kontrol edin

Sağlıklı bir koşul, temiz bir TRUE ve FALSE dizisi veya dönüştürüldüyse 1 ve 0 döndürür. Hata ya da beklenmeyen sonuç görürseniz, sorun o bölümden kaynaklanıyordur.

Pratik hata ayıklama iş akışı

Bir SUMPRODUCT() formülü beklendiği gibi davranmıyorsa:

  1. Dizi boyutlarının eşleştiğini doğrulayın
  2. Sayısal aralıkların yalnızca sayı içerdiğini teyit edin
  3. Her koşulu bağımsız olarak test edin
  4. Formülü kademeli olarak yeniden kurun

Bu yaklaşım, tüm formülü yeniden yazmadan veya yardımcı sütun eklemeden genellikle sorunları hızla çözer.

Performans optimizasyonu

SUMPRODUCT() başvurulan her dizideki her hücreyi değerlendirir; bu nedenle formül yapısı büyük çalışma kitaplarında doğrudan performansı etkiler. Ancak birkaç tercih yavaşlamayı önleyebilir:

Hesaplama aralıklarını sınırlayın

A:A gibi tüm sütun başvurularından kaçının. Bunun yerine formülleri en küçük gerekli aralıkla sınırlandırın: A2:A500. 

Daha küçük aralıklar, SUMPRODUCT()un işlemesi gereken hücre sayısını azaltır ve yeniden hesaplama hızını artırır.

Mantıksal ifadeleri basitleştirin

SUMPRODUCT() içindeki her mantıksal test satır satır değerlendirilir. Bu nedenle mümkün olduğunda koşulları birleştirmeye veya sadeleştirmeye çalışın; bu toplam işlem sayısını azaltır.

İki koşul daha temiz tek bir kuralla ifade edilebiliyorsa, sonuçları değiştirmeden performans artar.

Yapılandırılmış tablolar veya dinamik adlandırılmış aralıklar kullanın

Excel tabloları ve dinamik adlandırılmış aralıklar, veriler büyüdükçe otomatik olarak ayarlanırken aralıkları sıkı tutar. Bu, veri setleri genişledikçe formülleri düzenlemenizi gerektirmeden performansı korur.

Büyük dizilere dikkat edin

Her ek dizi ve koşul, hesaplama iş yükünü artırır. Büyük modellerde gereksiz ölçütlerden kaçının ve sonuca doğrudan etki etmeyen dizileri kaldırın.

Excel 365 dinamik dizileriyle çalışma

Excel 365’te SUMPRODUCT() dökülen (spilled) sonuç üretmez; ancak FILTER() veya UNIQUE() gibi işlevlerin oluşturduğu dökülen dizilerle güvenilir şekilde çalışır. Bu, dinamik dizi çıktılarıyla SUMPRODUCT()u birleştirmenize ve hesaplamaları istikrarlı ve öngörülebilir tutmanıza olanak tanır.

Büyük ve yoğun dökülmeli modellerde, dinamik bir dizi işlevinin mantığın bir kısmının yerini alıp alamayacağını düşünün. Ancak satır satır çarpma ve koşullu ağırlıklandırma gerektiğinde, SUMPRODUCT() daha iyi bir seçenektir.

SUMPRODUCT()'ın Alternatif İşlevlerle Karşılaştırılması 

SUMPRODUCT() birkaç Excel işleviyle örtüşür, ancak sorunları farklı şekilde çözer. Nasıl olduğuna bakalım: 

SUMPRODUCT() ve SUMIF() / SUMIFS()

SUMIF() ve SUMIFS(), düz koşullar için hızlı ve etkilidir. En iyi şu durumlarda çalışırlar:

  • Ölçütler basittir
  • Eşleşmeler kesindir
  • Mantık kesinlikle VE tabanlıdır

SUMPRODUCT() biraz hızdan feragat edip esneklik sağlar. Hesaplamalar şunları gerektirdiğinde daha uygundur:

  • Kısmi metin eşleşmeleri
  • VEYA mantığı veya karma koşullar
  • Statik aralıklar yerine hesaplanmış ölçütler
  • Yardımcı sütunlar olmadan karmaşık mantık

Basit kuralları olan büyük veri setlerinde SUMIFS() genellikle daha hızlıdır. Ancak ham hızdan çok hassasiyet ve kontrol önemliyse SUMPRODUCT() daha iyi seçimdir.

SUMPRODUCT() ve klasik dizi formülleri

Geleneksel dizi formülleri benzer birçok hesaplamayı yapar, ancak Ctrl+Shift+Enter (CSE) gerektirir ve bakımı daha zordur.

SUMPRODUCT() CSE gerektirmez ve standart bir Excel işlevi gibi davranır. Bu da formülleri, dizi formüllerini tanımayan kullanıcıların bulunduğu iş ortamlarında okumayı, düzenlemeyi ve paylaşmayı kolaylaştırır.

SUMPRODUCT() ve modern dinamik dizi işlevleri

FILTER(), UNIQUE() ve BYROW() gibi yeni işlevler dökülen sonuçlar döndürme, veriyi yeniden şekillendirme ve görünür listeler veya tablolar üretmede oldukça iyidir.

Ancak SUMPRODUCT() şu durumlarda değerli kalır:

  • Tek bir sayısal sonuca ihtiyacınız olduğunda
  • Mantığın tek bir hücrede kalması gerektiğinde
  • Hesaplamalar satır satır çarpma ve ağırlıklandırmaya dayandığında
  • Geriye dönük uyumluluk önemli olduğunda

Dinamik diziler, SUMPRODUCT()un yerini almaktan çok onu tamamlar; örneğin, SUMPRODUCT()un değerlendirdiği filtrelenmiş diziler üretir.

SUMPRODUCT() ne zaman doğru seçimdir

Şunlara ihtiyaç duyduğunuzda SUMPRODUCT() kullanın:

  • Karmaşık mantığa sahip koşullu toplamlar

  • VEYA koşulları veya hesaplanmış ölçütler

  • Yardımcı sütunlar olmadan ağırlıklı hesaplamalar

  • Tek, kararlı bir sonuç hücresi

İşlev

En iyi kullanım durumu

Güçlü yanlar

Sınırlamalar

SUMPRODUCT()

Tek bir sayı döndüren karmaşık koşullu hesaplamalar

Esnek mantık

VEYA koşulları

Ağırlıklı hesaplamalar

Yardımcı sütun yok

Çok büyük aralıklarda daha yavaş

SUMIF() / SUMIFS()

Basit koşullu toplamlar

Hızlı

Verimli

Okuması kolay

Sınırlı mantık

VEYA koşulları yok

Klasik dizi formülleri

Eski Excel modellerinde ileri hesaplamalar

Esnek

Ctrl+Shift+Enter gerekir

Bakımı daha zor

FILTER()

Filtrelenmiş liste veya tablolar döndürme

Dinamik sonuçlar

Okunabilir mantık

Ağırlıklı matematik için tasarlanmadı

UNIQUE()

Tekil değerleri çıkarmak

Basit 

Hızlı

Hesaplama mantığı yok

BYROW() / LAMBDA

Satır düzeyinde özel mantık

Son derece esnek

Modern kalıplar

Daha karmaşık kurulum

INDEX MATCH()

Tek değerli aramalar

Kesin

Verimli

Tek bir değer döndürür

Toplamlar değil

Platformlar arasında uygulama

SUMPRODUCT()un temel mantığı: filtrele, çarp, sonra topla; araçlar arasında tutarlıdır. Değişen, her platformun mantıksal değerleri ve dizileri nasıl ele aldığıdır.

Excel ve Google E-Tablolar davranışı

Hem Excel hem de Google E-Tablolar SUMPRODUCT()u destekler, ancak mantıksal değerleri ele alış biçimlerinde küçük farklılıklar vardır.

Excel’de mantıksal ifadeler TRUE ve FALSE döndürür; bunların çift unar -- ya da sayısal zorlama ile açıkça 1 ve 0'a dönüştürülmesi gerekir. Bu dönüşüm olmadan hesaplamalar beklenmedik sonuçlar verebilir.

Google E-Tablolar bu dönüşümü otomatik yapar. Mantıksal değerler sayısal kabul edilir (TRUE = 1, FALSE = 0); bu nedenle SUMPRODUCT() formülleri ek operatörlere gerek kalmadan çalışabilir.

Kavramsal olarak mantık aynıdır. Fark, sayısal dönüşümün örtük mi yoksa açık mı olduğundadır.

SUMPRODUCT() mantığını Python’a uyarlama

Aynı desen, NumPy veya pandas gibi Python tabanlı araçlarda da geçerlidir; söz dizimi farklı olsa da.

Python’da koşullar satır satır değerlendirilir ve Boole dizileri (True ve False) üretir. Bu Boole değerleri hesaplamalarda zaten 1 ve 0 gibi davrandığından, dönüşüm adımı ortadan kalkar.

Kavramsal akış aynı kalır:

  1. Bir koşulu değerlendirin
  2. Bir Boole maskesi oluşturun
  3. Değerleri bu maskeyle çarpın
  4. Sonuçları toplayın

Platformlar arası ekipler için dikkate alınacaklar

Siz veya ekibiniz Excel, Google E-Tablolar ve Python arasında çalışıyorsa, birkaç kilit davranışta ortaklaşın:

  • Boole mantığı ortak dildir: Tüm platformlar, sayısal maskeler olarak kullanılabilen TRUE/FALSE tarzı mantık kullanır.

  • Maskeleme, yardımcı sütunların yerini alır: Excel --(koşul) kullanır. Python doğrudan Boole maskeleri kullanır.

  • Metin eşleştirme kuralları farklıdır: Excel’de SEARCH() gibi işlevler varsayılan olarak büyük/küçük harfe duyarsızdır; Python’da ise yapılandırmaya bağlı olarak duyarlı olabilir.

  • Eksik değerler farklı davranır: Excel boşlukları ve Python NaN değerleri, tutarlı şekilde ele alınmadıkça sonuçları etkileyebilir.

Platformlar arasında kilit fikir aynı kalır: SUMPRODUCT() yeniden kullanılabilir bir hesaplama desenini temsil eder.

Son Düşünceler

SUMPRODUCT() konusunda kendinizi geliştirmek istiyorsanız, hâlihazırda kullandığınız gerçek bir raporu alın ve karmaşık bir formülü yardımcı sütunlar olmadan yeniden kurun. Deseni böyle anlarsınız ve SUMPRODUCT()un iş akışınıza nerede uyduğunu görürsünüz.

Daha da ilerlemek isterseniz, Excel Power Tools ile Veri Analizi yetkinlik yoluna göz atarak SUMPRODUCT() gibi işlevlerin daha geniş analitik iş akışlarına nasıl uyduğunu görebilirsiniz. 

Laiba Siddiqui

Yazar

Laiba Siddiqui

Karmaşık konuları basitleştirmeyi seven bir içerik stratejistiyim. Splunk, Hackernoon ve Tiiny Host gibi şirketlerin hedef kitleleri için ilgi çekici ve bilgilendirici içerikler üretmelerine yardımcı oldum.

SUMPRODUCT() SSS

SUMPRODUCT() sayıları toplarken metin değerlerini nasıl yok sayar?

SUMPRODUCT() metin değerlerini otomatik olarak işlemez. Bu nedenle, metnin hesaplama öncesinde sıfıra dönüştürülmesi gerekir. Tüm sayısal olmayan değerleri sıfıra dönüştürmek için IFERROR() kullanın.

=SUMPRODUCT((criteria_range=criteria)*(--ISNUMBER(value_range)), value_range)

SUMPRODUCT() joker karakterleri destekler mi?

Hayır. Joker karakterler olan * ve ? doğrudan desteklenmez. Joker davranışını taklit etmek için LEFT(), RIGHT() veya FIND() gibi işlevleri SUMPRODUCT() içinde kullanmalısınız.

SUMPRODUCT() sütunları dinamik olarak nasıl seçebilir?

Girdi hücrelerine göre başlangıç ve bitiş sütunlarını tanımlamak için INDEX() ile MATCH() kullanarak SUMPRODUCT()u dinamik hale getirebilirsiniz.

Konular

İlgili