
Genel formül
=SUMPRODUCT(hours*rate)/COUNTIF(hours,">0")
Özet
Hiçbir saatin günlüğe kaydedilmediği haftalar hariç olmak üzere haftalık ortalama ücreti hesaplamak için ve önceden hesaplanan haftalık toplam ödeme olmadan, TOPLA ÇARPIM ve ÇOKEĞERSAY işlevlerine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, J5'teki formül şöyledir:
=SUMPRODUCT(D5:I5*D6:I6)/COUNTIF(D5:I5,">0")
bu, saatlerin kaydedilmediği haftalar hariç olmak üzere haftalık ortalama ücreti döndürür. Bu bir dizi formülüdür, ancak SUMPRODUCT işlevi çoğu dizi işlemini yerel olarak işleyebildiğinden, control + shift + enter ile girmek gerekli değildir.
Açıklama
İlk önce bu sorunun AVERAGEIF veya AVERAGEIFS işlevi ile çözülebileceğini düşünebilirsiniz. Ancak, haftalık toplam ödeme çalışma sayfasının bir parçası olmadığından, bu işlevleri kullanamayız çünkü bir aralık gerektiriyorlar.
İçten dışa doğru çalışarak, önce tüm haftalar için toplam ücreti hesaplarız:
D5:I5*D6:I6 // total pay for all weeks
Bu, haftalık ödeme tutarlarını hesaplamak için saatleri oranlarla çarpan bir dizi işlemidir. Sonuç şuna benzer bir dizidir:
(87,63,48,0,12,0) // weekly pay amounts
Çalışma sayfasında 6 hafta olduğu için dizi 6 değer içerir. Bu dizi doğrudan SUMPRODUCT işlevine döndürülür:
SUMPRODUCT((348,252,192,0,48,0))
SUMPRODUCT işlevi daha sonra dizideki öğelerin toplamını (840) döndürür. Bu noktada, elimizde:
=840/COUNTIF(D5:I5,">0")
Ardından, EĞERSAY işlevi, D5: I5 aralığında sıfırdan büyük bir değer sayısı döndürür. 6 değerden 2'si boş olduğundan ve Excel boş hücreleri sıfır olarak değerlendirdiğinden, EĞERSAY 4'ü döndürür.
=840/4 =210
Nihai sonuç 840 bölü 4'tür, bu da 210'a eşittir