公式1(僅供研究學(xué)習(xí)使用,不建議使用)
=IF(AND(A1<=-0.01,A1>=-0.99),"負(fù)","")&SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(A1),"[dbnum2]G/通用格式元;負(fù)[dbnum2]G/通用格式元")&TEXT(RIGHT(FIXED(A1),2),"[dbnum2]0角0分;[dbnum2]0角;[dbnum2]整"),"零角","零"),"零分",)
公式2(僅供研究學(xué)習(xí)使用,不建議使用)
=IF(AND(A1<=-0.01,A1>=-0.99),"負(fù)","")&TEXT(TRUNC(FIXED(A2)),"[dbnum2]g/通用格式元;負(fù)[dbnum2]g/通用格式元")&SUBSTITUTE(TEXT(RIGHT(FIXED(A2),2),"[=0][dbnum2]整;[<10][dbnum2]零0分;[dbnum2]0角0分"),"零分",)
公式3(僅供研究學(xué)習(xí)使用,不建議使用)
=SUBSTITUTE(IF(RIGHT(FIXED(A1)*100,2)*1=0,TEXT(FIXED(A1),"[dbnum2]")&"元整",SUBSTITUTE(SUBSTITUTE(REPLACE(TEXT(FIXED(A1),"[dbnum2]"),LEN(TEXT(FIXED(A1),"[dbnum2]")),0,"角")&"分",".","元"),"零角","零")),"-","負(fù)")
此公式處理小于-0.99與-0.1之間的數(shù)據(jù)有問(wèn)題
補(bǔ)充1:
EXCEL中隱藏了一個(gè)數(shù)字轉(zhuǎn)大寫(xiě)的函數(shù)NUMBERSTRING,但它僅支持正整數(shù),用中文版的朋友可以試試這個(gè)函數(shù):
=NUMBERSTRING(VALUE,TYPE)
NumberString(1234567890,1) = 一十二億三千四百五十六萬(wàn)七千八百九十
NumberString(1234567890,2) = 壹拾貳億叁仟肆佰伍拾陸萬(wàn)柒仟捌佰玖拾
NumberString(1234567890,3) =
一二三四五六七八九〇
=IF(A1<0,"負(fù)",)&NUMBERSTRING(ABS(A1),2)&"元"&SUBSTITUTE(TEXT(MOD(ABS(A1)/1%,100),"[=0]整;[<10][dbnum2]零0分;[dbnum2]0角0分"),"零分",)
角后面無(wú)分,后面可有“整”,也可無(wú)“整”,實(shí)際應(yīng)用中,無(wú)“整”的情況更多一些?!罢币部蓪?xiě)成“正”。
補(bǔ)充2:在轉(zhuǎn)換成大寫(xiě)金額前,最好用round(a1,2)將小寫(xiě)金額數(shù)字四舍五入保留兩位小數(shù)。
補(bǔ)充3:
使用自定義函數(shù)的方法:
Function DX(ByVal Num)
' 人民幣中文大寫(xiě)函數(shù)
Application.Volatile
True
Place =
"分角元拾佰仟萬(wàn)拾佰仟億拾佰仟萬(wàn)"
Dn = "壹貳叁肆伍陸柒捌玖"
D1 =
"整零元零零零萬(wàn)零零零億零零零萬(wàn)"
If Num < 0 Then FuHao
= "負(fù)"
Num = Format(Abs(Num),
"###0.00") * 100
If Num >
999999999999999# Then: DX = "超出轉(zhuǎn)換范圍!!": Exit Function
If Num = 0 Then: DX =
"零元零分": Exit Function
NumA =
Trim(Str(Num))
NumLen = Len(NumA)
For J = NumLen To 1 Step
-1 ' 轉(zhuǎn)換過(guò)程
Temp
= Val(Mid(NumA, NumLen - J + 1, 1))
If
Temp <> 0 Then
' 非零數(shù)字轉(zhuǎn)換
NumC = NumC & Mid(Dn,
Temp, 1) & Mid(Place, J, 1)
Else
' 數(shù)字零的轉(zhuǎn)換
If Right(NumC, 1) <> "零"
Then
NumC = NumC
& Mid(D1, J, 1)
Else
Select Case
J
'
特殊數(shù)位轉(zhuǎn)換
Case 1
NumC =
Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1)
Case 3, 11
NumC =
Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"
Case 7
If
Mid(NumC, Len(NumC) - 1, 1) <> "億" Then
NumC = Left(NumC, Len(NumC) -
1) & Mid(D1, J, 1) & "零"
End
If
Case Else
End
Select
End If
End
If
Next
DX = FuHao &
Trim(NumC)
End Function
使用自定義函數(shù)另外最簡(jiǎn)潔的方法如下:
Function RMBDX(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]") & "分")
RMBDX = IIf(Abs(M) <
0.005, "", IIf(M < 0, "負(fù)" & A & B & c, A & B
& c))
End Function
Function rmbd(m)
y = Int(Round(Abs(m), 2))
'整數(shù)部分
j = Right(Round(Abs(m) * 100), 2) *
0.01
j1 = IIf(j < 0.1 And j <> 0, "零"
& Application.Text(j * 100, "[dbnum2]") & "分", "")
'零幾分
j2 = IIf(Int(j * 10) = j * 10 And j
<> 0, Application.Text(j * 10, "[dbnum2]") & "角整",
"")
j3 = IIf(j = 0, "整", "")
j4 = IIf(Int(j * 10) <> j * 10 And j
> 0.1, Application.Text(Int(j * 10), "[dbnum2]") & "角" &
Application.Text(j * 100 - Int(j * 10) * 10, "[dbnum2]") & "分",
"")
rmbd = IIf(m < 0, "負(fù)", "") &
Application.Text(y, "[dbnum2]") & "元" & j3 & j2 &
j1 & j4
End Function
很多在職人員經(jīng)常寫(xiě)錯(cuò)人民幣大寫(xiě)金額,甚至有些高級(jí)職稱(chēng)的財(cái)務(wù)人員也寫(xiě)錯(cuò)(這樣都寫(xiě)錯(cuò)應(yīng)該感到很臉紅的),以下內(nèi)容建議學(xué)習(xí)掌握
人民幣大寫(xiě)規(guī)范
一、 標(biāo)準(zhǔn)字樣
壹、貳、叁、肆、伍、陸、柒、捌、玖、拾、佰、仟、萬(wàn)、
億、元、角、分、零、整(正)
二、 正確填寫(xiě)票據(jù)和結(jié)算憑證的基本規(guī)定
銀行、單位和個(gè)人填寫(xiě)的各種票據(jù)和結(jié)算憑證是辦理支付結(jié)
算和現(xiàn)金收付的重要依據(jù),直接關(guān)系到支付結(jié)算的準(zhǔn)確、及時(shí)和 安全。票據(jù)和結(jié)算憑證是銀行、單位和個(gè)人憑以記載賬務(wù)的會(huì)計(jì)
憑證,是記載經(jīng)濟(jì)業(yè)務(wù)和明確經(jīng)濟(jì)責(zé)任的一種書(shū)面證明。因此, 填寫(xiě)票據(jù)和結(jié)算憑證,必須做到標(biāo)準(zhǔn)化、規(guī)范化,要要素齊全、
數(shù)字正確、字跡清晰、不錯(cuò)漏、不潦草,防止涂改。中文大寫(xiě)金 額數(shù)字應(yīng)用正楷或行書(shū)填寫(xiě),如壹、貳、叁、肆、
伍、陸、柒、捌、玖、拾、佰、仟、萬(wàn)、億、 元、角、分、零、整(正)等字樣。不得用一、二(兩)、三、
四、五、六、七、八、九、十、念、毛、另(或〇)填寫(xiě),不得自造簡(jiǎn)化字。如果金額數(shù)字書(shū)寫(xiě)中使用繁體字,如貮(貳)、圓的,也應(yīng)受理,但個(gè)人認(rèn)為:最好不要使用貮(貳)、圓。
1.中文大寫(xiě)金額數(shù)字到“元”為止的,在“元”之后,應(yīng)寫(xiě) “整”(或“正”)字,在“角”之后,可以不寫(xiě)“整”(或“正”)
字。大寫(xiě)金額數(shù)字有“分”的,“分”后面不寫(xiě)”整”(或“正”) 字。
2.中文大寫(xiě)金額數(shù)字前應(yīng)標(biāo)明“人民幣”字樣,大寫(xiě)金額數(shù)字有“分”的,“分”后面不寫(xiě)“整”(或“正”)字。
3.中文大寫(xiě)金額數(shù)字前應(yīng)標(biāo)明“人民幣”字樣,大寫(xiě)金額數(shù) 字應(yīng)緊接“人民幣”字樣填寫(xiě),不得留有空白。大寫(xiě)金額數(shù)字前
未印“人民幣’’字樣的,應(yīng)加填“人民幣”三字。在票據(jù)和結(jié)算 憑證大寫(xiě)金額欄內(nèi)不得預(yù)印圍定的“仟、佰、拾、萬(wàn)、仟、佰、
拾、元、角、分”字樣。
4.阿拉伯?dāng)?shù)字小寫(xiě)金額數(shù)字中有“0”時(shí),中文大寫(xiě)應(yīng)按照 漢語(yǔ)語(yǔ)言規(guī)律、金額數(shù)字構(gòu)成和防止涂改的要求進(jìn)行書(shū)寫(xiě)。舉例
如下:
(1)阿拉伯?dāng)?shù)字中間有“0”時(shí),中文大寫(xiě)要寫(xiě)“零”字,如
¥1409.50,應(yīng)寫(xiě)成人民幣陸壹仟肆佰零玫元伍角。
(2)阿拉伯?dāng)?shù)字中間連續(xù)有幾個(gè)“0”時(shí),中文大寫(xiě)金額中間可 以只寫(xiě)--個(gè)“零”字,如¥6007.14,應(yīng)寫(xiě)成人民幣陸仟零柒元
壹角肆分。
(3)阿拉伯金額數(shù)字萬(wàn)位和元位是“0”,或者數(shù)字中間連續(xù)有 幾個(gè)“0”,萬(wàn)位、元位也是“0”,但千位、角位不是“0”時(shí),
中文大寫(xiě)金額中可以只寫(xiě)一個(gè)零字,也可以不寫(xiě)”零”字。如 Y1680.32,應(yīng)寫(xiě)成人民幣壹仟陸佰捌拾元零叁角貳分,或者寫(xiě)
成人民幣壹仟陸佰捌拾元叁角貳分,又如¥107000.53,應(yīng)寫(xiě)成 人民幣壹拾萬(wàn)柒仟元零伍角卷分,或者寫(xiě)成人民幣壹拾萬(wàn)零柒仟
元伍角卷分。
(4)阿拉伯金額數(shù)字角位是“0”,而分位不是“0”時(shí),中文大寫(xiě)金額“元”后面應(yīng)寫(xiě)“零”字。如¥16409.02,應(yīng)寫(xiě)成人民幣壹萬(wàn)陸仟肆佰零玖元零貳分;又如Y325.04,應(yīng)寫(xiě)成人民幣叁佰貳拾伍元零肆分,
(5)阿拉伯小寫(xiě)金額數(shù)字前面,均應(yīng)填寫(xiě)人民幣符號(hào)“Y”。阿拉伯小寫(xiě)金額數(shù)字要認(rèn)真填寫(xiě),不得連寫(xiě)分辨不清。特別注意:人民幣符號(hào)“Y”,不能寫(xiě)成¥。仔細(xì)觀察,少一橫是人民幣符號(hào),多一橫是日元符號(hào)(小日本用的),在N年之前,人民幣符號(hào)與日元符號(hào)一樣,自從計(jì)算機(jī)與網(wǎng)絡(luò)普及以后,中國(guó)人民銀行作出了規(guī)定,用人民幣符號(hào)“Y”,與日元符號(hào)相區(qū)別。