EXCEL中數(shù)字轉(zhuǎn)人民幣大寫有什么方法
對于財務(wù)和會計領(lǐng)域的朋友們來說,在excel在錄入數(shù)據(jù)后,將數(shù)字自動轉(zhuǎn)換為人民幣大寫是每天都要做的工作之一。以下是學(xué)習(xí)啦小編為您帶來的關(guān)于EXCEL中數(shù)字轉(zhuǎn)人民幣大寫的兩種正確方法,希望對您有所幫助。
EXCEL中數(shù)字轉(zhuǎn)人民幣大寫的兩種正確方法
Excel中也提供了將數(shù)字轉(zhuǎn)成人民幣大寫的功能,就是使用“設(shè)置單元格格式--數(shù)字--特殊--中文大寫數(shù)字”。比如:589.3轉(zhuǎn)人民幣大寫后就是:伍佰捌拾玖.叁。只要用過的朋友們都知道使用excel的內(nèi)置功能,將數(shù)字轉(zhuǎn)人民幣大寫,轉(zhuǎn)出來的結(jié)果還是不符合人民幣的說明習(xí)慣,所以我們一般不會采用這種方法。
下面給大家分享的兩種方法主要是通過函數(shù)嵌套和宏VBA自定義函數(shù)。
EXCEL 數(shù)字轉(zhuǎn)人民幣大寫的第一種方法:通過函數(shù)嵌套實現(xiàn)。有兩種格式可供參考,詳見下圖:
第一種數(shù)字轉(zhuǎn)人民幣大寫形式的公式是:
=IF(B1<0,"金額為負(fù)無效",(IF(OR(B1=0,B1=""),"(人民幣)零元",IF(B1<1,"(人民幣)",
TEXT(INT(B1),"[dbnum2](人民幣)G/通用格式")&"元"))))&IF((INT(B1*10)-INT(B1)*10)=0,
IF(INT(B1*100)-INT(B1*10)*10=0,"","零"),(TEXT(INT(B1*10)-INT(B1)*10,"[dbnum2]")&"角"))
&IF((INT(B1*100)-INT(B1*10)*10)=0,"整",TEXT((INT(B1*100)-INT(B1*10)*10),"[dbnum2]")&"分")
第二種數(shù)字轉(zhuǎn)人民幣大寫形式的公式是:
="大寫金額:"&IF(TRIM(B1)="","",IF(B1=0,"","人民幣"&IF(B1<0,"負(fù)
",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元
",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B1))*10,"[d
bnum2]")&"角",IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)<0.1,,"零
")))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),"[dbnum2]")&"分","整")))
EXCEL 數(shù)字轉(zhuǎn)人民幣大寫的第二種方法:通過宏VBA自定義函數(shù)實現(xiàn)。參考下圖。
第一步:按下ALT+F11組合鍵,或者是單擊工具——宏——Visual Basic編輯器,進(jìn)入Visual Basic編程環(huán)境,單擊“插入” 菜單——模塊,復(fù)制下面代碼,保存,退出關(guān)閉。Function N2RMB(M)
y = Int(Round(100 * Abs(M)) / 100)
j = Round(100 * Abs(M) + 0.00001) - y * 100
f = (j / 10 - Int(j / 10)) * 10
A = IIf(y < 1, "", Application.Text(y, "[DBNum2]") & "元")
b = IIf(j > 9.5, Application.Text(Int(j / 10), "[DBNum2]") & "角", IIf(y < 1, "", IIf(f > 1, "零", "")))
c = IIf(f < 1, "整", Application.Text(Round(f, 0), "[DBNum2]") & "分")
N2RMB = IIf(Abs(M) < 0.005, "", IIf(M < 0, "負(fù)" & A & b & c, A & b & c))
End Function
第二步:返回excel操作界面,在B1單元格輸入:= N2RMB (A1),就可以將A1單元格的數(shù)字轉(zhuǎn)為人民幣大寫,然后向下復(fù)制公式即可將全部的數(shù)字轉(zhuǎn)為人民幣大寫。
猜你喜歡: