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() 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:
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:
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.
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 ö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:
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.
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.
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.
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ı)Altyapı:
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:
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:
Yalnızca “Apple” içeren satırlar toplamaya katkıda bulunur.
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:
Bu, harf duyarlılığı dahil olmak üzere yalnızca tam olarak eşleşen metnin hesaplamaya dahil edilmesini sağlar.
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:
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.
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() 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:
Dizi boyutlarının eşleştiğini doğrulayın
Sayısal aralıkların yalnızca sayı içerdiğini teyit edin
Her koşulu bağımsız olarak test edin
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’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:
Bir koşulu değerlendirin
Bir Boole maskesi oluşturun
Değerleri bu maskeyle çarpın
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 NaNdeğ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.
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.
Hayır. Joker karakterlerolan * 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.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Excel'de Power Pivot'ta ustalaşın: verileri içe aktarın, ilişkiler oluşturun ve DAX kullanın. Eyleme geçirilebilir içgörüler için dinamik panolar oluşturun.
SUMIF()veSUMIFS()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:Bu söz diziminin dökümü:
Öğe
Açıklama
Notlar
array1Hesaplamada kullanılan ilk aralık veya dizi
Zorunlu
[array2]array1ile ç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.
Quantitysütunu miktarları,Pricesütunu fiyatları içeriyorsa, aşağıdaki formül toplam geliri hesaplar:Excel’de SUMPRODUCT(). Görsel: Yazar.
Sonucun arka planında Excel, her satırı ayrı ayrı değerlendirir ve ardından sonuçları toplar:
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:Bu formül, her satır için
Quantity×Priceçarpar,Discountdeğerini çıkarır ve ardından ortaya çıkan tüm değerleri tek bir toplamda birleştirir.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>100gibi mantıksal ifadelerTRUEveyaFALSEdö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:
Bu örnekte, yalnızca koşulun
TRUEolduğ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şullarTRUEveFALSEdeğerlerinden oluşan diziler üretir; hesaplamalara katılmadan önce bunların sayılara dönüştürülmesi gerekir.Diyelim ki
Fruitkategorisindeki ürünler içinQuantitytoplamını almak istiyoruz. Bu durumda,=SUMPRODUCT((D2:D6="Fruit"), B2:B6)formülünü denerseniz sonuç0olur.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ğerlerin1ve0'a dönüştürülmesi gerekir. Çift unar operatör--bu dönüşümü yapar:Bu, mantıksal değerleri şu şekilde sayılara çevirir:
Burada
TRUE1'e,FALSE0'a dönüşür. ArtıkSUMPRODUCT()doğru şekilde çarpabilir.Hesaplama şöyle yapılır:
Yalnızca
1ile işaretlenen satırlar hesaba katılır. Sonuç,Fruitürünleri için toplam miktar olan10'dur.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şuluAND(VE) veOR(VEYA) mantığıyla ele alır. Nasıl olduğuna bakalım:VE mantığı: Tüm koşullar karşılanmalı
ANDmantığını uygulamak için koşullar*ile çarpılır. Yalnızca1 × 11ettiği için, bir satır ancak tüm koşullarTRUEolduğunda dahil edilir: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.Bu örnekte, C sütunundaki değerler yalnızca şu durumlarda toplanır:
Koşullardan biri başarısız olursa, satır
0olarak değerlendirilir ve hariç tutulur.VEYA mantığı: Herhangi bir koşul karşılanabilir
VEYA mantığı, koşulları
+ile toplayarak oluşturulur. Herhangi bir koşulTRUEise, satır toplamına katkıda bulunur:Burada, koşullardan herhangi biri
TRUEolduğunda satırlar dahil edilir. Toplama1'den büyük değerler üretebilir, ancak çift unar--herhangi bir sıfır dışı sonucu1'e dönüştürerek her satırın bir kez sayılmasını sağlar.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:Bu esneklik, şartlı mantığın standart
SUMIFS()kurallarını aştığı gelişmiş filtreleme, modelleme ve raporlama senaryolarındaSUMPRODUCT()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() matris çarpımını yönetir. Görsel: Yazar.
Bu formülde:
B2:E4satış 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
1olarak değerlendirilir. Diğerleri0olur. 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:
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:
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:
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:Örneğin, bir öğrencinin ağırlıklı ders ortalamasını hesaplamak için şu formülü kullanabilirsiniz:
Excel her bileşeni şöyle değerlendirir:
Ağırlıklı toplam
85olup nihai ortalama bu değerdir.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:
Formül, ağırlıklı toplamı (pay) toplam ağırlığa (payda) böler.
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ürPay:
(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.35Payda:
(0.25×1) + (0.25×1) + (0.20×0) + (0.20×1) + (0.10×0) = 0.70Bu 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()uSEARCH()veISNUMBER()ile eşleştirin:Bu formülde:
SEARCH()eşleşme bulunduğunda bir sayı döndürürISNUMBER()eşleşmeleriTRUE/FALSE'a dönüştürür--bu değerleri1ve0'a çevirirYalnızca “Apple” içeren satırlar toplamaya katkıda bulunur.
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()iSUMPRODUCT()içinde şu şekilde kullanabilirsiniz:Bu, harf duyarlılığı dahil olmak üzere yalnızca tam olarak eşleşen metnin hesaplamaya dahil edilmesini sağlar.
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:Burada
VLOOKUP(), her ürün için kategoriyi getirir veSUMPRODUCT()belirtilen koşulla eşleşen satırları dahil eder. Bu yaklaşım yardımcı sütunlardan kaçınır ve gelenekselSUMIF()formüllerinden daha esnek, aramaya dayalı filtrelemeyi destekler.SUMPRODUCT() ile VLOOKUP() birleştirme. Görsel: Yazar.
SUMPRODUCT() ile COUNTIF() kullanarak tekil değerleri sayma
SUMPRODUCT()uCOUNTIF()ile birlikte kullanarak tekil değerleri şu şekilde sayabilirsiniz:SUMPRODUCT() ile COUNTIF() birleştirme. Görsel: Yazar.
Bu formülde, yinelenen değerler toplamı
1olan 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ül0, 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:
(A2:A10>50)Sağlıklı bir koşul, temiz bir
TRUEveFALSEdizisi veya dönüştürüldüyse1ve0dö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: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:Agibi 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; ancakFILTER()veyaUNIQUE()gibi işlevlerin oluşturduğu dökülen dizilerle güvenilir şekilde çalışır. Bu, dinamik dizi çıktılarıylaSUMPRODUCT()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()veSUMIFS(), düz koşullar için hızlı ve etkilidir. En iyi şu durumlarda çalışırlar:SUMPRODUCT()biraz hızdan feragat edip esneklik sağlar. Hesaplamalar şunları gerektirdiğinde daha uygundur:Basit kuralları olan büyük veri setlerinde
SUMIFS()genellikle daha hızlıdır. Ancak ham hızdan çok hassasiyet ve kontrol önemliyseSUMPRODUCT()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()veBYROW()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: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
VEYAkoşulları veya hesaplanmış ölçütlerYardı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()/LAMBDASatı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
TRUEveFALSEdöndürür; bunların çift unar--ya da sayısal zorlama ile açıkça1ve0'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 nedenleSUMPRODUCT()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 (
TrueveFalse) üretir. Bu Boole değerleri hesaplamalarda zaten1ve0gibi davrandığından, dönüşüm adımı ortadan kalkar.Kavramsal akış aynı kalır:
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 veSUMPRODUCT()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.