最近又要為校內同仁上 Excel 的研習課程,做一些講義方便同仁課後參閱。本篇是關於 SUMPRODUCT 函數的說明。
下圖是微軟提供的 SUMPRODUCT 函數說明,主要是執行陣列元素的『乘積和』。
下圖是一個實例,要由『姓名、性別、成績』三個欄位中,求取不同性別的人數,和不同性別的及格和不及格人數。(參考下圖)
為了解說方便,選取儲存格B1:C16,按 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:性別、成績。
【公式設計與解析】
(1)
儲存格K2:=SUMPRODUCT((性別=K1)*1)
(性別=K1):判斷『性別』陣列中和儲存格K1是否相同。(觀察儲存格F2:F16)
本例傳回:{TRUE,FALSE,TRUE,TRUE,TRUE,FALSE, ... , TRUE,FALSE,TRUE,TRUE}
(性別=K1)*1:將上式轉換為{1,0,1,1,1,0, …, 1,0,1,1}
SUMPRODUCT 函數再將上式結果的 1/0 陣列執行『乘積和』,即把所有的 1 予以加總,即為所求。
複製儲存格K2,貼至儲存格K2:L2。
(2)
儲存格K5:=SUMPRODUCT((性別=$J5)*(成績>=60))
(性別=$J5)*(成績>=60):觀察儲存格F2:G16,公式中的『*』乃將F欄和G欄的內容相乘,執行過程會將邏輯值 TRUE/FALSE 轉換為數學值 1/0。(觀察儲存格F2:H16)
本例會將:{TRUE,FALSE,TRUE,TRUE,TRUE,FALSE, ... , FALSE,FALSE,TRUE,FALSE}
轉換為:{1,0,1,1,1,1,0, … , 0,0,1,0}
SUMPRODUCT 函數再將上式結果的 1/0 陣列執行『乘積和』,即把所有的 1 予以加總,即為所求。
複製儲存格K5,貼至儲存格K5:K6。
同理,
儲存格L5:=SUMPRODUCT((性別=$J5)*(成績<60))
複製儲存格L5,貼至儲存格L5:L6。

您好,謝謝您的相關文章,獲益良多,另想請教有關Word合併列印時,若想用if-else判斷,<<地址>>中包含有 "大觀路",才要印出,IF-ELSE敘述應該要怎麼做呀。 假設資料來源只有以下四筆,希望只出現no1~3,包含有大觀路的地址即可 1.台北市大觀路一段2號 2.高雄市土木鄉大觀路30號 3.台南縣大觀路5樓 4.屏東縣中山路二樓
請參考:http://isvincent.pixnet.net/blog/post/45600598
您好,若不使用樞紐分析方式,是否可以設定文字條件相乘? 舉例: 資料從左至右:日期.客戶別.訂單數量.單價。我想要同sumif的功能(設文字條件,客戶別後相加),所以想要設定文字條件,並且加總每日的訂單*單價,計算整個月總金額。謝謝