✔ 最佳答案
A1 自訂格式為 0000
B1=SUMPRODUCT(MOD(INT(A1/10^{0,1,2,3}),10)*10^{3,2,1,0})
C1=ABS(A1-B1)
2015-02-04 22:05:26 補充:
全選或適當範圍自訂格式為 0000
B1=SUM(MOD(INT(A1/10^{0,1,2,3}),10)*10^{3,2,1,0})
C1=ABS(A1-B1)
因為陣列我不太會解釋
先一個個函數慢慢來
INT(數字) 取高斯整數,以正數來說就是去掉整數後面的小數點。
例如:
INT(1.2)=1
INT(9.8)=9
MOD(被除數, 除數) 求餘數。
例如:
123/10=12...3
MOD(123,10)=3
SUM(範圍) 傳回範圍中的數字總和。
例如:
SUM({3,2,1})=3+2+1=6
2015-02-04 22:06:24 補充:
{陣列} 舉例說明
以 10^{0,1,2,3} 為例
會分別計算出 10^0, 10^1, 10^2, 10^3 得 {1,10,100,1000}
以 563/{1,10,100,1000} 為例
會分別計算出 563/1, 563/10, 563/100, 563/1000 得 {563, 56.3, 5.63, 0.563}
結合函數的例子
INT({563,56.3,5.63,0.563})
會分別取高斯整數得 {563,56,5,0}
MOD({563,56,5,0},10)
會分別將 {563,56,5,0} 除以 10 算出餘數,得 {3,6,5,0}
2015-02-04 22:07:04 補充:
兩個陣列做四則運算會分別以相對應的位置做計算
例如:
{3,6,5,0}*{1000,100,10,1}
會分別計算出 3*1000, 6*100, 5*10, 0*1 得 {3000,600,50,0}
2015-02-04 22:07:31 補充:
設 A1=0563
以 Excel 2010 為例
公式 → 評估值公式 → 評估值 → 評估值 → ...
可以看到運算過程
2015-02-04 22:08:07 補充:
SUM(MOD(INT(A1/10^{0,1,2,3}),10)*10^{3,2,1,0})
=SUM(MOD(INT(563/10^{0,1,2,3}),10)*10^{3,2,1,0})
=SUM(MOD(INT(563/{1,10,100,1000}),10)*10^{3,2,1,0})
=SUM(MOD(INT({563,56.3,5.63,0.563}),10)*10^{3,2,1,0})
=SUM(MOD({563,56,5,0},10)*10^{3,2,1,0})
=SUM({3,6,5,0}*10^{3,2,1,0})
2015-02-04 22:08:49 補充:
=SUM({3,6,5,0}*{1000,100,10,1})
=SUM({3000,600,50,0})
=3650
2015-02-04 22:13:56 補充:
ABS(數字) 取絕對值應該不用舉例了
我的解法就是依序找出個位數、十位數、百位數、千位數
再分別乘以 1000、100、10、1
最後全部加起來