SUMPRODUCT函數的作用是在給定的幾組數組中,將數組間對應的元素相乘,並返回乘積之和。其語法格式為SUMPRODUCT(數據1,數據2,……,數據30),比如公式“=SUMPRODUCT(A2:A6,B2:B6,C2:C6)”,其作用相當於“=A2*B2*C2+A3*B3*C3+A4*B4*C4+A5*B5*C5+A6*B6*C6”,也就是說公式求到是三個區域A2:A6、B2:B6、C2:C6同行數據積的和。
一、統計重復身份證號
通常統計數據在單元格區域內出現的次數都是采用COUNTIF函數。但是如果是用來統計18位身份證號的話,那就會有問題了:只要前15位數字相同,那麼金山表格就會把它當成相同的數字(在EXCEL中也是如此)。解決這個問題的辦法之一就是可以使用SUMPRODUCT函數來替代COUNTIF。
如圖1所示。
圖1
只要在C2單元格輸入公式“=SUMPRODUCT(($B$2:$B$3000=B2)*1)”,然後拖動該單元格填充句柄向下復制公式至最後一行,就可以得到B列每個數據出現的次數了。那些大於1的自然就是重復的。
公式可以得到在B2:B3000單元格區域中與B2單元格數據相等的單元格個數,其結果是“TRUE、FALSE、TRUE,……”等一系列的邏輯值,“TRUE”相當於“1”,“FALSE”則相當於“0”,並對“TRUE”的個數求和。
二、多條件統計數據
圖2
如圖2表格所示,如果我們想統計表格中“高一或高二年級職稱為‘中一’的男教師加班費的合計數”,那又該如何操作呢?其實,類似這種多條件求和的任務,正適合SUMPRODUCT函數大展身手。
只需要在單元格中輸入如下公式:“=SUMPRODUCT(($C$2:$C$15="男")*(($D$2:$D$15="高一")+($D$2:$D$15="高二"))*($E$2:$E$15="中一"),$G$2:$G$15,$F$2:$F$15)”,按下回車鍵,就可以得到需要的結果了。非常方便。
公式中“($D$2:$D$15="高一")+($D$2:$D$15="高二")”表示條件之一為“科室為高一或高二”,結合其余的條件就可以得到符合條件“高一或高二職稱為中一的男教師”的單元格了。公式中的後兩個參數則可以得到符合條件的同行數據F列與G列單元格數據的乘積,並最終由公式將這些乘積進行求和,這樣我們的任務也就完成了。