(先前文章內容有錯誤,目前內容為更正版)

網友根據這篇文章:Excel-計算10位元數以上的乘法,想要了解如果要模擬10位數字的『加法』運算,該如何處理?

如下圖,有二組10個數字組成的數,要執行相加的動作,如何將每個位數的結果模擬出來呢?

Excel-模擬10位數加法運算(SUMPRODUCT,RIGHT,MID,COLUMN)

 

【公式設計與解析】

1. 求兩數相加的實際總和

為了避免公式過長,說明不易,特別使用輔助儲存格M3。

(1) SUMPRODUCT(B2:K2,(10^(11-COLUMN(A:J))/10))

因為10個位數分別放在10個儲存格中,所以先將儲存格B2:K2中的10個數字組合成一個完整的10位數。

(2) SUMPRODUCT(B1:K1,(10^(11-COLUMN(A:J))/10))

將儲存格B1:K1中的10個數字組合成一個完整的10位數。

將第(1)式和第(2)式相加即為這兩個10位數相加的和。

儲存格M3:=SUMPRODUCT(B2:K2,(10^(11-COLUMN(A:J))/10))+
SUMPRODUCT(B1:K1,(10^(11-COLUMN(A:J))/10))

 

2. 取出每個位數中的數字

儲存格A3:=MID(RIGHT("0000000000"&$O$5,11),COLUMN(A:A),1)

"0000000000"&$O$5:先前兩個相加的實際總和其位元數可能是0~10個,所以先在其左側串接10個『0』。

RIGHT("0000000000"&$O$5,11):在左側串接10個『0』的字串中,由右側取出11個字,即可確保取得完整的11個字。(原先相加後的數字不達10位元者,其左側均會被補0。)

最後透過 MID 函數搭配 COLUMN 函數,將儲存格A3,複製到儲存格A3:K3,即可將上式中的11個字,由左至右取出每一個數字。

 

【延伸練習】

如果對於模擬『乘法』運算有興趣者,可以參考這篇文章:Excel-計算10位元數以上的乘法

Excel-模擬10位數加法運算(MOD,INT)

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

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