做會計憑證經常需要金額大小寫轉換,熟練掌握該技巧還是很必要的,今天我們就來學習下小寫金額轉換大寫的方法。
比如A1單元格中為:12345.67
1、我們先用數字格式直接轉換下看看是什麼效果!
倒是轉換成了大寫金額的漢字,但是沒有元整、角、分這樣的格式。
2、下面我們用公式解決下:
在B1單元格中輸入公式:
=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),"[>0][dbnum2]G/通用格式元;[<0]負[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整")
效果如下:
這樣才是我們想要的標準的會計大寫金額的格式
公式解析:
小數點左邊部分:
首先用RMB將A1中的數字12345.67轉化成標準的會計專用格式
=RMB(12345.67)結果為 ¥12,345.67
然後用LEFT函數提取整數部分
=LEFT(RMB(A1),LEN(RMB(A1))-3)
12345.67,總字符數減去小數點以及後兩位(即3位)就是想要提取的整數部分的字符數
再將提取出來的整數部分用TEXT按照格式轉換
[>0][dbnum2]G/通用格式元;[<0]負[dbnum2]G/通用格式元;;
數字格式:正數;負數;零值;文本
正數負數部分全部按照指定格式顯示
零值和文本不顯示
=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),"[>0][dbnum2]G/通用格式元;[<0]負[dbnum2]G/通用格式元;;")
小數點右邊部分:
道理和左邊部分一樣
用RIGHT函數提取右邊兩位小數
=RIGHT(RMB(A1),2)
用TEXT按照格式轉換
[dbnum2]0角0分;;整
數字格式:正數;負數;零值;文本
如果是正數就按照[dbnum2]0角0分顯示
如果是負數和零值就不顯示
文本顯示整
=TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整")
兩部分連接起來即可顯示完整的轉換結果。
思考:
用RMB只是為了規範數字格式,指定兩位小數,那可以用round保留兩位小數嗎?如果A1中的數字是0,公式結果會是什麼樣?如果你希望數字為0時顯示零元整該怎麼修改公式。如果這幾個問題可以解決,我相信你理解這個公式了。o(∩_∩)o 哈哈!
下面我們再來條公式:
=SUBSTITUTE(SUBSTITUTE(TEXT(INT(A1),"[DBNum2][$-804]G/通用格式元"&IF(INT(A1)=A1,"整",""))&TEXT(MID(A1,FIND(".",A1&".0")+1,1),"[DBNum2][$-804]G/通用格式角")&TEXT(MID(A1,FIND(".",A1&".0")+2,1),"[DBNum2][$-804]G/通用格式分"),"零角","零"),"零分","")
別看到這麼長的公式就怕,像庖丁解牛一樣給他分解下:
第一段藍色部分是處理整數部分,若金額只有整數部分顯示XX元整
第二段藍色部分處理小數部分,會計專用格式小數部分只有兩位,所以分別提取每一位,用角、分的格式顯示
兩個substitute主要是針對兩個小數位數出現0時進行替換
如A1中為123.05,如果不加substitute,則顯示壹佰貳拾叄圓零角伍分
用=substitute(a1,"零角","零"),這樣就會顯示壹佰貳拾叄圓零伍分
如A1中為123.50,如果不加substitute,則顯示壹佰貳拾叄圓伍角零分
用=substitute(a1,"零分",""),這樣就會顯示壹佰貳拾叄圓伍角
累啊,寫了這麼多,不知道解釋清楚了沒?用F9逐段去理解,這樣學習也會提高各位對公式的理解。
平時我們都是用&連接兩個字符串,今天的例子中我們學到了用&連接兩個公式。
3、如果你不是批量轉化,而是想直接輸入大寫金額,怎麼辦呢?
我用的是QQ輸入法,搜狗輸入法也支持。
分享是一種美德,共同學習共同成長!
每天學習一點,堅持下去,你會大有所獲!讓我們一起學習吧!歡迎關注與轉發!
QQ學習交流群:224871456,歡迎加入我們。
為IPHONE用戶準備的,你懂得!!!