Excel formülü: Hafta içi toplama -

İçindekiler

Genel formül

=SUMPRODUCT((WEEKDAY(dates)=day_num)*values)

Özet

Verileri hafta içi günlere göre toplamak için (yani, Pazartesi, Salı, Çarşamba, vb. Toplamı), SUMPRODUCT işlevini WEEKDAY işleviyle birlikte kullanabilirsiniz.

Gösterilen örnekte, H4'teki formül şöyledir:

=SUMPRODUCT((WEEKDAY(dates,2)=G4)*amts)

Açıklama

SUMIF veya SUMIFS işlevini neden kullanmadığımızı merak ediyor olabilirsiniz. Bunlar, haftanın günlerine göre toplamanın açık bir yolu gibi görünüyor. Ancak, hafta içi değeri olan bir yardımcı sütun eklemeden, SUMIF için hafta gününü hesaba katan bir ölçüt oluşturmanın bir yolu yoktur.

Bunun yerine, dizileri Control + Shift + Enter kullanımına gerek kalmadan zarif bir şekilde işleyen kullanışlı SUMPRODUCT işlevini kullanıyoruz.

SUMPRODUCT'ü şu ifadeden oluşan tek bir argümanla kullanıyoruz:

(WEEKDAY(dates,2)=G4)*amts

Baştan sona çalışarak, WEEKDAY işlevi isteğe bağlı bağımsız değişken 2 ile yapılandırılır ve bu, onun Pazartesi-Pazar günleri için sırasıyla 1-7 sayılarını döndürmesine neden olur. Bu gerekli değildir, ancak günleri sırayla listelemeyi ve G sütunundaki sayıları sırayla almayı kolaylaştırır.

WEEKDAY, "tarihler" adlı aralıktaki her değeri değerlendirir ve bir sayı döndürür. Sonuç şuna benzer bir dizidir:

(3; 5; 3; 1; 2; 2; 4; 2)

WEEKDAY tarafından döndürülen sayılar daha sonra G4'teki 1 olan değerle karşılaştırılır.

(3; 5; 3; 1; 2; 2; 4; 2) = 1

Sonuç, DOĞRU / YANLIŞ değerler dizisidir.

(YANLIŞ; YANLIŞ; YANLIŞ; DOĞRU; YANLIŞ; YANLIŞ; YANLIŞ; YANLIŞ)

Daha sonra, bu dizi "amts" isimli aralıktaki değerlerle çarpılır. SUMPRODUCT yalnızca sayılarla çalışır (metin veya boolelerle değil), ancak matematik işlemleri DOĞRU / YANLIŞ değerlerini otomatik olarak bire ve sıfırlara zorlar, bu nedenle bizde:

(0; 0; 0; 1; 0; 0; 0; 0) * (100; 250; 75; 275; 250; 100; 300; 125)

Hangi sonuç:

(0; 0; 0; 275; 0; 0; 0; 0)

SUMPRODUCT, işlenecek yalnızca bu tek diziyle öğeleri toplar ve sonucu döndürür.

Ilginç makaleler...