最近被問到:如果取得一個一年級選組後的報表,如何針對各類組的男、女生人數和各班的選組人數,製作一個摘要表?(參考下圖)

這兩個工作只要交給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。

相關函數說明,請參閱微軟網站:

SUMPRODUCThttp://office.microsoft.com/zh-tw/excel-help/HP010342935.aspx

SUMPRODUCT:傳回各陣列中所有對應元素乘積的總和。

語法:SUMPRODUCT(array1, [array2], [array3], ...)

array1:要求對應元素乘積和的第一個陣列引數。

array2, array3,...:要求對應元素乘積和的第 2 個到第 255 個陣列引數。

註:各陣列必須有相同的維度(相同的列數,相同的欄數)。否則會傳回錯誤值#VALUE!。並且會將所有非數值資料的陣列元素當成0來處理。

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()