昨天給大家介紹第二種普通數字轉中文大寫的方法:NumberString函數法。這種方法和第一種單元格格式法一樣存在一個缺陷就是隻能對正整數進行轉換,所以它不能直接用于平時的财務工作中,不過沒關系,既然它能對整數進行轉換,如果我們把小數部分變成整數,然後分别轉換整數部分和小數部分,最後拼接起來是不是就可以滿足要求了呢?
思路對了的話,事情就已經成功了一半了,接下來我們看看如何實現。
假如我們要轉換的數字是9876543.21
第一步:通過INT函數分别換算出元、角、分。
元:=INT(F1)
角:=INT(G1*10)-INT(G2*10)
分:=INT(G1*100)-INT(G2*100)-INT(G3*10)
元、角、分
第二步:通過NUMBERSTRING函數将換算出來的元、角、分數字轉換成中文大寫。
元:=NUMBERSTRING(F2,2)
角:=NUMBERSTRING(F3,2)
分:=NUMBERSTRING(F4,2)
元、角、分大寫
第三步:通過鍊接符号&将元、角、分鍊接起來組合成一個完整轉中文大寫的函數。
元:=H2&"元"&IF(AND(F3=0,F4=0),"整","")
如果角和分都是零的話,元後面需要跟一個整。
角:=IF(F3>0,H3&"角","")
如果角是大于零則顯示,否則不顯示。
分:=IF(F4>0,H4&"分","")
如果分是大于零則顯示,否則不顯示。
元、角、分組合起來:
=H2&"元"&IF(AND(F3=0,F4=0),"整","")&IF(F3>0,H3&"角","")&IF(F4>0,H4&"分","")
元、角、分組合
第四步:繼續改造函數為通用函數。經過前幾步的分析演練我們已經知道如何實現了,現在隻需要把前面的各個步驟鍊接起來就可以變成一個通用函數。
=NUMBERSTRING(INT(F1),2)&"元"&IF(AND(INT(F1*10-INT(F1)*10)=0,(INT(F1*100-INT(F1)*100)-INT(F1*10-INT(F1)*10)*10)=0),"整","")&IF(INT(F1*10-INT(F1)*10)>0,NUMBERSTRING(INT(F1*10-INT(F1)*10),2)&"角","")&IF((INT(F1*100-INT(F1)*100)-(INT(F1*10-INT(F1)*10))*10)>0,NUMBERSTRING(INT(F1*100-INT(F1)*100)-INT(F1*10-INT(F1)*10)*10,2)&"分","")
演示效果
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!