最近被問到:如果取得一個一年級選組後的報表,如何針對各類組的男、女生人數和各班的選組人數,製作一個摘要表?(參考下圖)
這兩個工作只要交給SUMPRODUCT函數即可解決:
儲存格I2:=SUMPRODUCT(--($E$2:$E$484=1),--($F$2:$F$484=$H2))
--($E$2:$E$484=1):判斷E欄中是否為「1」(男生)的 True/False 陣列,其中「--」乃是將 True/False 陣列轉換成 1/0 的陣列。
--($F$2:$F$484=$H2):判斷F欄中是否為「1」(第1類組)的 True/False 陣列,其中「--」乃是將 True/False 陣列轉換成 1/0 的陣列。
SUMPRODUCT函數會將這兩個陣列相乘,再將這些 1/0 的結果加總。(其實是兩者條件皆成立時,相乘結果才會為1,也才會被加總。)
儲存格J2:=SUMPRODUCT(--($E$2:$E$484=2),--($F$2:$F$484=$H2))
將儲存格I2:J2複製到儲存格I2:J4。
儲存格I7:=SUMPRODUCT(--($B$2:$B$484=$H7),--($F$2:$F$484=I$6))
原理同上。當班級和類組兩者條件皆成立時,相乘結果才會為1,也才會被加總。
將儲存格I2複製到儲存格I7:K7,再將儲存格I7:K7複製到儲存格I7:K20。
相關函數說明,請參閱微軟網站:
SUMPRODUCT:http://office.microsoft.com/zh-tw/excel-help/HP010342935.aspx
SUMPRODUCT:傳回各陣列中所有對應元素乘積的總和。 |
語法:SUMPRODUCT(array1, [array2], [array3], ...) array1:要求對應元素乘積和的第一個陣列引數。 array2, array3,...:要求對應元素乘積和的第 2 個到第 255 個陣列引數。 註:各陣列必須有相同的維度(相同的列數,相同的欄數)。否則會傳回錯誤值#VALUE!。並且會將所有非數值資料的陣列元素當成0來處理。 |
留言列表