2012年7月17日 星期二

Excel-將儲存格中每一位數加總(SUMPRODUCT)

有網友問到,如果要將儲存格中的所有數字加總,應如何處理?(參考下圖)

儲存格C2:=SUMPRODUCT(--MID(B2,ROW($1:$8),1))

複製儲存格C2,往下各列貼上。

ROW($1:$8):在 SUMPRODUCT 函數中,會產生 1 ~ 8 的陣列(1,2,3,4,5,6,7,8)。

--MID(B2,ROW($1:$8),1):藉著上述1 ~ 8 的陣列,可以取出儲存格B2中每一位數的數字陣列(以儲存格B2為例:1,9,6,8,0,6,1,9),其中「--」,目的是要將 MID 函數產生的文字數字,變為真正的數字。

透過 SUMPRODUCT 函數,可以將上述中每一位數的數字陣列予以加總。

你也可以使用陣列公式

如果要使用陣列公式,可以改為:

儲存格C2:{=SUM(--MID(B2,ROW($1:$8),1))}

這是陣列公式,輸入完成請按 Ctrl+Shift+Enter 鍵。

複製儲存格C2,往下各列貼上。

 

【補充資料】

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

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

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

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

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

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

 

沒有留言:

張貼留言

好康東東