上周教了將數(shù)字轉換成中文的公式以后,與我預料的一樣,很多人提問:用這個公式可以將數(shù)字金額轉換成人民幣大寫金額嗎?怎么修改參數(shù)?
數(shù)字轉大寫金額的問題其實經(jīng)常有人問,而網(wǎng)上的一些公式長得可以跑火車,我今天要教大家的公式,相對來說,更加精簡干練。
案例:
如下圖所示,將 A 列的數(shù)字金額自動轉換為人民幣大寫金額,顯示在 B 列。
解決方案:
1. 在 B2 單元格輸入以下公式,向下拖動復制公式即可:
=IF(A2='','',(IF(A2=0,'零元',TEXT(LEFT(RMB(A2),LEN(RMB(A2))-3),'[>0][dbnum2]G/通用格式元;;;')&TEXT(RIGHT(RMB(A2),2),'[dbnum2]0角0分;;整'))))
公式釋義:
IF(A2='','',(IF(A2=0,'零元',:如果單元格為空,則 B 列也顯示空;如果為零,則顯示“零元”
TEXT(LEFT(RMB(A2),LEN(RMB(A2))-3),'[>0][dbnum2]G/通用格式元;;;'):這是對整數(shù)部分的公式定義
LEFT(RMB(A2),LEN(RMB(A2))-3):先用 RMB 函數(shù)將單元格格式轉換為人民幣金額形式,這樣即便是整數(shù),也會顯示小數(shù)點后面二位數(shù),有規(guī)律就便于取整
用 LEN 函數(shù)獲取單元格內(nèi)容的長度,減去 3,即可得出整數(shù)部分的長度
最后用 LEFT 函數(shù)根據(jù)上述長度取出整數(shù)
'[>0][dbnum2]G/通用格式元;;;':這部分參數(shù)是用來設置整數(shù)的顯示格式
[>0]:當整數(shù)部分 >0 時適用
[DBNUM2]:將單元格的數(shù)字格式顯示為大寫中文
G/通用格式元:因為前面的公式中將數(shù)字格式改成了 RMB 格式,所以現(xiàn)在把它換回通用格式,數(shù)字后面顯示“元”
;;;:單元格格式以分號分隔為四個部分,分別表示正數(shù)、負數(shù)、0、文本;其他 3 個部分留空表示只顯示正數(shù)
上述格式參數(shù)就相當于在“設置單元格格式”中自定義類型
&TEXT(RIGHT(RMB(A2),2),'[dbnum2]0角0分;;整'):第二個 TEXT 函數(shù)定義小數(shù)部分的顯示,用“&”將整數(shù)和小數(shù)連接起來
RIGHT(RMB(A2),2):取人民幣金額格式的右邊兩位數(shù),即小數(shù)點后面兩位數(shù),對應“角”和“分”
'[dbnum2]0角0分;;整':如果為正數(shù),則顯示大寫中文顯示“x角y分”,負數(shù)和 0 不顯示,文本則顯示“整”
本例中,我們不考慮負數(shù)金額的情況,所以最后還要設置一下 A 列中不允許輸入負值。
2. 選中 A 列 --> 選擇菜單欄的“數(shù)據(jù)”-->“數(shù)據(jù)驗證”
3. 在彈出的對話框的“設置”選項卡中進行如下設置:
允許:選擇“自定義”
公式:輸入“=A1>=0”
4. 選擇“出錯警告”選項卡,在“標題”中輸入所需的標題 --> 點擊“確定”
5. 如果在 A 列中輸入負數(shù),就會彈出如下警告框,要求重新輸入。
聯(lián)系客服