Sorunların var gibi gözüküyor çünkü tam olarak nasıl olduğunu yanlış anladınız. SUMPRODUCT()
fonksiyon çalışır.
Ne yaparsa çarpmak herşey Argümanlar 'ilgili unsurları birlikte ve sonra elde edilen diziyi toplayın.
Aşağıdakileri örnek olarak alın:
=SUMPRODUCT(A1:A3, B1:B3, C1:C3, D1:D3)
Bu formülü değerlendirmedeki iki adım şöyle olacaktır:
=SUMPRODUCT({A1*B1*C1*D1; A2*B2*C2*D2; A3*B3*C3*D3})
=A1*B1*C1*D1 + A2*B2*C2*D2 + A3*B3*C3*D3
Özel durumunuz için, yapmanız gereken şey, toplamı almaktır. iki sumproducts:
=SUM(SUMPRODUCT(duration1,number1),SUMPRODUCT(duration2,number2))/SUM(number1,number2)
Verilen örnek çalışma kitabınız için, formülün içindeki F5
olabilir:
=SUM(SUMPRODUCT('CHAT US Raw Data'!I6,'CHAT US Raw Data'!P6),SUMPRODUCT('CHAT US Raw Data'!T6,'CHAT US Raw Data'!U6))/SUM('CHAT US Raw Data'!I6,'CHAT US Raw Data'!T6)
Bunun, içindeki çarpmaların açıkça gerçekleştirilmesine eşdeğer olduğunu unutmayın. SUMPRODUCT()
işlev ve sadece sonuç dizisini toplamak için işlevi kullanmak (1. bölüm sorusunun cevabında yapıldığı gibi):
=SUM(SUMPRODUCT(duration1*number1),SUMPRODUCT(duration2*number2))/SUM(number1,number2)
asıl formül ile F5
olmak:
=SUM(SUMPRODUCT('CHAT US Raw Data'!I6*'CHAT US Raw Data'!P6),SUMPRODUCT('CHAT US Raw Data'!T6*'CHAT US Raw Data'!U6))/SUM('CHAT US Raw Data'!I6,'CHAT US Raw Data'!T6)
Bu formülün, önceki sorularınıza göre eşleşme tarihlerini (ve yine de geçerliyse ilk eşleşen öğrenci adlarını) kontrol etmek için uyarlanması gerekir.
Temettü için sadece ekstra bir tarih kontrol terimi ekleyebiliriz.
Bölen SUM()
Ancak tarih kontrolü eklenmeden önce fonksiyonun değiştirilmesi gerekir. İki toplam fonksiyona ihtiyacımız var (birden fazla satır için formülü genişletmek istediğinizi varsayarsak)
=SUM(SUMPRODUCT((date1=date)*duration1*number1),SUMPRODUCT((date2=date)*duration2*number2))
/SUM(SUMIF(date1,date,number1),SUMIF(date2,date,number2))
asıl formül ile F5
olmak:
=SUM(SUMPRODUCT(('CHAT US Raw Data'!H6=E5)*'CHAT US Raw Data'!I6*'CHAT US Raw Data'!P6),SUMPRODUCT(('CHAT US Raw Data'!S6=E5)*'CHAT US Raw Data'!T6*'CHAT US Raw Data'!U6))/SUM(SUMIF('CHAT US Raw Data'!H6,E5,'CHAT US Raw Data'!I6),SUMIF('CHAT US Raw Data'!S6,E5,'CHAT US Raw Data'!T6))
İçindeki çarpımları manuel olarak gerçekleştirme alternatifi SUMPRODUCT()
(sonuçta ortaya çıkan dolaylı boolean zorlama ile), tarih kontrollerini çift negatif unary operatörü ile açıkça olanlara ve sıfırlara zorlamak olacaktır. Örneğin, (date1=date)
olacaktı --(date1=date)
:
=SUM(SUMPRODUCT(--(date1=date),duration1,number1),SUMPRODUCT(--(date2=date),duration2,number2))
/SUM(SUMIF(date1,date,number1),SUMIF(date2,date,number2))
Asıl formülle:
=SUM(SUMPRODUCT(--('CHAT US Raw Data'!H6=E5),'CHAT US Raw Data'!I6,'CHAT US Raw Data'!P6),SUMPRODUCT(--('CHAT US Raw Data'!S6=E5),'CHAT US Raw Data'!T6,'CHAT US Raw Data'!U6))/SUM(SUMIF('CHAT US Raw Data'!H6,E5,'CHAT US Raw Data'!I6),SUMIF('CHAT US Raw Data'!S6,E5,'CHAT US Raw Data'!T6))
Son bir not olarak, sumif böleninin eşdeğeri ürün sürümleri vardır.
Örneğin,
SUM(SUMIF(date1,date,number1),SUMIF(date2,date,number2))
eşittir
SUM(SUMPRODUCT((date1=date)*number1),SUMPRODUCT((date2=date)*number2))
Hem de
SUM(SUMPRODUCT(--(date1=date),number1),SUMPRODUCT(--(date2=date),number2))
SUM(E4*D4,I4*J4)/SUM(D4,I4)
?