一.SUMPRODUCT函數的本質功能:返回相應數組或區域乘積的和,每個參數的數組或區域大小必須一致。 二.SUMPRODUCT函數實現多條件查找。 在下面這個實例中查找品牌為蘋果,型號為iphone6的手機的銷量。在銷量下方的單元格輸入公式=SUMPRODUCT((A2:A13=D2)*1,(B2:B13=E2)*1,C2:C13)。 說明: 1.公式中的(A2:A13=D2)返回一個由邏輯值組成的數組,當A2:A13的單元格內容等于D2單元格內容時返回邏輯值TRUE;否則,返回邏輯值FALSE。最終返回的是一個由{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE;TRUE}組成的數組。 2.邏輯值乘數字1會把邏輯值TRUE轉化成數字1,把邏輯值FALSE轉化為數字0。公式中的(A2:A13=D2)*1返回一個由數字0和1組成的數組,當A2:A13的單元格內容等于D2單元格內容時返回邏輯值1;否則,返回邏輯值0。最終返回的是一個由{0;0;0;0;1;0;1;1;0;0;0;1}組成的數組。 3.公式中的(B2:B13=E2)*1的部分和(B2:B13=E2)原理同上。 4.選擇公式中的部分內容摁住鍵盤上的F9鍵可以查看計算結果,例如選中(A2:A13=D2)*1摁下F9會顯示{0;0;0;0;1;0;1;1;0;0;0;1}。 三.SUMPRODUCT函數實現多條件計數。 在下面這個實例中統計三年二班語文成績大于90的學生的人數。在人數下方的單元格輸入公式=SUMPRODUCT((B2:B83=H2)*1,(C2:C83>90)*1)。 說明: 1.公式中(C2:C83>90)當C2:C83的單元格內容大于90時返回邏輯值TRUE;否則,返回邏輯值FALSE。最終返回的是一個由邏輯值組成的數組。 2.其他解釋與多條件查找類似,這里不再贅述。 四.SUMPRODUCT函數實現多條件求和。 在下面這個實例中統計品牌為蘋果、銷量大于1800的銷量總和。在總和下方的單元格輸入公式=SUMPRODUCT((A2:A13=D2)*1,(C2:C13>1800)*1,C2:C13)。 說明: 1.公式解釋與多條件查找和多條件計數類似,這里不在贅述。 2.配合上述所講的多條件計數可以計算平均值(兩個公式相除即可)。 五.SUMPRODUCT函數實現不重復計數。 在下面這個實例中統計所有排名的個數(不統計重復出現)。在不重復個數下方的單元格輸入公式=SUMPRODUCT(1/COUNTIF($A$2:$A$13,$A$2:$A$13))。 說明: 1.公式中COUNTIF($A$2:$A$13,$A$2:$A$13)返回的是A2:A13單元格中內容出現次數的數組,最終返回的是一個由{4;4;5;4;3;5;5;3;4;5;5;3}組成的數組。 2.公式中1/COUNTIF($A$2:$A$13,$A$2:$A$13)返回的上一個數組的倒數組成的數組,最終是由{0.25;0.25;0.2;0.25;0.333333333333333;0.2;0.2;0.333333333333333;0.25;0.2;0.2;0.333333333333333}組成的數組。這個數組的構造完成之后可以確保每一個品牌所對應的數組的元素的和正好等于1,配合SUMPRODUCT函數就可以實現不重復計數。 |
|