有人問到:在 Excel 工作表中有一組含有小數的數值清單,如何在一個儲存格中計算這些數值清單中所有小數部分的總和呢?
你可能會利用一個輔助欄位將每個數值的小數取出,再予以加總得到結果。今天要練習,只要在一個儲存格中利用一個公式來獲得結果,當然,要藉助「陣列」的概念來運算。參考下圖。
【準備工作】
選取儲存格A1:A24,按一下 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:數值。
【輸入公式】
(1) 整數的總和
儲存格C2:=SUMPRODUCT(INT(數值))
以儲存格A2為例:其中 INT 函數可以取不大於儲存格數值的最大整數。
透過 SUMPRODUCT 函數將所有整數加總即為總和。
(2) 小數的總和
儲存格C5:=SUMPRODUCT(數值-INT(數值))
以儲存格A2為例:要抓出儲存格A2中的小數部分可執行公式:=A2-INT(A2)。
數值-INT(數值):可以將數值陣列中的所有小數取出,成為小數形成的陣列。
透過 SUMPRODUCT 函數將所有小數加總即為總和。
(3) 四捨五入取整數的總和
儲存格C8:=SUMPRODUCT(ROUND(數值,0))
透過 ROUND 函數,其中的參數 0,可以取得 0 個小數位數,即取得四捨五入至整數。
【延伸練習】
如果改以陣列公式來輸入:
儲存格C2:{=SUM(INT(數值))}
儲存格C5:{=SUM(數值-INT(數值))}
儲存格C8:{=SUM(ROUND(數值,0))}
這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。