如何数字转换为大写的中文货币
Ⅰ Excel 怎么将数字自转换成中文大写货币
假如数据在A1栏,在你需要的单元格输入:=IF(A1=INT(A1),NUMBERSTRING(INT(A1),2)&"元整",IF(A1*10=INT(A1*10),NUMBERSTRING(INT(A1),2)&"元"&NUMBERSTRING(INT(A1*10)-INT(A1)*10,2)&"角整",IF(ROUNDDOWN(A1*10-INT(A1)*10,0)=0,NUMBERSTRING(INT(A1),2)&"元零"&NUMBERSTRING(ROUND(A1*100-INT(A1*10)*10,0),2)&"分",NUMBERSTRING(INT(A1),2)&"元"&NUMBERSTRING(INT(A1*10)-INT(A1)*10,2)&"角"&NUMBERSTRING(ROUND(A1*100-INT(A1*10)*10,0),2)&"分")))
或输入:=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(INT(A1),"[dbnum2];; ")&TEXT(MOD(A1*100,100),"[>9][dbnum2]元0角0分;[=0]元整;[dbnum2]元零0分"),"零分","整")," 元零",)," 元",)希望对你有帮助
Ⅱ 阿拉伯数字转换成大写中文的货币
=TEXT(C1*100,"[DBNUM2]人民币:0仟0佰0拾0万0仟0佰0拾0元0角0分整")
Ⅲ 英文版Excel中如何把数字转换成中文大写金额
用VBA自定义一个大写金额转换的函数,在公式中输入此函数名就可以了。
具体方法:按 Alt+F11 ,在VBA编辑器菜单中点 插入→模块,将下面的函数复制到插入的模块当中,
'===================================================================
Function CChinese(StrEng As String) As String
'将阿拉伯数字转成中文字的程式例如:1560890 转成 "壹佰伍拾陆万零捌佰玖拾"。
'程式限制为不可输入超过16个数字
If Not IsNumeric(StrEng) Or StrEng Like "*.*" Or StrEng Like "*-*" Then
If Trim(StrEng) <> "" Then MsgBox "无效的数字"
CChinese = "": Exit Function
End If
Dim intLen As Integer, intCounter As Integer
Dim strCh As String, strTempCh As String
Dim strSeqCh1 As String, strSeqCh2 As String
Dim strEng2Ch As String
strEng2Ch = "零壹贰叁肆伍陆柒捌玖"
strSeqCh1 = " 拾佰仟 拾佰仟 拾佰仟 拾佰仟"
strSeqCh2 = " 万亿兆"
StrEng = CStr(CDec(StrEng))
intLen = Len(StrEng)
For intCounter = 1 To intLen
strTempCh = Mid(strEng2Ch, Val(Mid(StrEng, intCounter, 1)) + 1, 1)
If strTempCh = "零" And intLen <> 1 Then
If Mid(StrEng, intCounter + 1, 1) = "0" Or (intLen - intCounter + 1) Mod 4 = 1 Then
strTempCh = ""
End If
Else
strTempCh = strTempCh & Trim(Mid(strSeqCh1, intLen - intCounter + 1, 1))
End If
If (intLen - intCounter + 1) Mod 4 = 1 Then
strTempCh = strTempCh & Mid(strSeqCh2, (intLen - intCounter + 1) \ 4 + 1, 1)
If intCounter > 3 Then
If Mid(StrEng, intCounter - 3, 4) = "0000" Then strTempCh = Left(strTempCh, Len(strTempCh) - 1)
End If
End If
strCh = strCh & Trim(strTempCh)
Next
CChinese = strCh
End Function
'===================================================================
'===================================================================
Function daxie(money As String) As String
'实现货币金额中文大写转换的程序
'程式限制为不可输入超过16个数字
Dim x As String, y As String
Const zimu = ".sbqwsbqysbqwsbq" '定义位置代码
Const letter = "0123456789sbqwy.zjf" '定义汉字缩写
Const upcase = "零壹贰叁肆伍陆柒捌玖拾佰仟万亿圆整角分" '定义大写汉字
If CDbl(money) >= 1E+16 Then daxie = "#VALUE!": Exit Function '只能转换一亿亿元以下数目的货币!
x = Format(money, "0.00") '格式化货币
y = ""
For i = 1 To Len(x) - 3
y = y & Mid(x, i, 1) & Mid(zimu, Len(x) - 2 - i, 1)
Next
If Right(x, 3) = ".00" Then
y = y & "z" '***元整
Else
y = y & Left(Right(x, 2), 1) & "j" & Right(x, 1) & "f" '*元*角*分
End If
y = Replace(y, "0q", "0") '避免零千(如:40200肆万零千零贰佰)
y = Replace(y, "0b", "0") '避免零百(如:41000肆万壹千零佰)
y = Replace(y, "0s", "0") '避免零十(如:204贰佰零拾零肆)
y = Replace(y, "0j", "0") '避免零角
y = Replace(y, "0f", "") '避免零分
Do While y <> Replace(y, "00", "0")
y = Replace(y, "00", "0") '避免双零(如:1004壹仟零零肆)
Loop
y = Replace(y, "0y", "y") '避免零亿(如:210亿 贰佰壹十零亿)
y = Replace(y, "0w", "w") '避免零万(如:210万 贰佰壹十零万)
y = IIf(x < 0.1, Right(y, Len(y) - 3), y) '避免零几分(如:0.01零壹分;0.04零肆分)
y = IIf(Len(x) = 5 And Left(y, 1) = "1", Right(y, Len(y) - 1), y) '避免壹十(如:14壹拾肆;10壹拾)
y = IIf(Len(x) = 4, Replace(y, "0.", ""), Replace(y, "0.", ".")) '避免零元(如:20.00贰拾零圆;0.12零圆壹角贰分)
For i = 1 To 19
y = Replace(y, Mid(letter, i, 1), Mid(upcase, i, 1)) '大写汉字
Next
daxie = y
End Function
'===================================================================
回到Excel工作表中,若要转化A1单元格的数字,则可在其他任意单元格中输入公式 =CChinese(A1)。要转换成大写金额,则可在其他任意单元格中输入公式 =daxie(A1)。
Ⅳ 在Excel使用中,如何将货币的数字变成中文的大写啊
在需要输出格式中输入公式=IF(A2<0,"负","")&TEXT(TRUNC(ABS(ROUND(A2,2))),"[DBNum2]")&"元"&IF(ISERR(FIND(".",ROUND(A2,2))),"",TEXT(RIGHT(TRUNC(ROUND(A2,2)*10)),"[DBNum2]"))&IF(ISERR(FIND(".0",TEXT(A2,"0.00"))),"角","")&IF(LEFT(RIGHT(ROUND(A2,2),3))=".",TEXT(RIGHT(ROUND(A2,2)),"[DBNum2]")&"分","整"),A2为货币数字格
Ⅳ EXCEL如何将数字金额转换为中文大写美元
用numberstring函数。
如:将a2单元格的531转换成大写,则公式
=numberstring(a2,2):此时得出:伍佰叁拾壹
=numberstring(a2,1):此时得出:五百三十一
=numberstring(a2,3):此时得出:五三一
如要将数字读出:则用此公式
=if(iserror(find(".",a2)),numberstring(int(a2),2)&"元整",if(iserror(numberstring(mid(a2,find(".",a2)+2,1),2)),numberstring(int(a2),2)&"元"&numberstring(mid(a2,find(".",a2)+1,1),2)&"角整",numberstring(int(a2),2)&"元"&numberstring(mid(a2,find(".",a2)+1,1),2)&"角"&numberstring(mid(a2,find(".",a2)+2,1),2)&"分"))
Ⅵ 如何在excel中将数字货币变成中文大写货币
这个比较容易啊!假设是 23.68元 ,选中这个单元格-右键-设置单元格格式—特殊—(右边的)中文大写数字
Ⅶ Excel 怎样将数字货币转化为大写货币
=TEXT(RMB(A1),"[=]g;"&TEXT(INT(ABS(A1)+0.5%),"[dbnum2]G/通用格式元;;")&SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A1),2),"[dbnum2]0角0分;;整"),"零角",IF(A1^2<1,,"零")),"零分","整"))
Ⅷ 电子表格里的数字货币金额怎样转换成中文大写 爱说篇
直接使用 鼠标右键 “自定义单元格格式”==》特殊==》中文大写即可。
如果不满意,试试这:
=NUMBERSTRING(1234567890,1)
参数1可以修改 ,123456..是假设数字,可以改为单元格名称
还不行就试试:
=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A1)),"[>0][dbnum2];[<0]负[dbnum2];;")&TEXT(RIGHT(FIXED(A1),2),"元[dbnum2]0角0分;;"&IF(ABS(A1)>1%,"元整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整")
其中A1是假设数据的单元格。
Ⅸ 请问如何将excel的货币转换成中文大写
=TEXT(A1*100,"人民币0拾0万0仟0佰0拾0元0角0分[dbnum2]")
Ⅹ Excel中如何把数字转换成中文大写金额
可以通过自定义数据格式将中文转换成 大写。如果需要完整金额,可以参考以下:
=SUBSTITUTE(SUBSTITUTE(TEXT(TRUNC(FIXED(A1)),"[>0][dbnum2];[<0]负[dbnum2];;")&TEXT(RIGHT(FIXED(A1),2),"元[dbnum2]0角0分;;"&IF(ABS(A1)>1%,"元整",)),"零角",IF(ABS(A1)<1,,"零")),"零分","整")