人民币大小写转换公式(在EXCEL中怎么将小写人民币转化成大写比如我在A1输入)

本文目录
在EXCEL中怎么将小写人民币转化成大写比如我在A1输入
做我的工作经常需要实现这个功能,以往需要手工转换,过去也找过一些小程序进行转换,不过在小程序中显示好好的字符拷进excel中竟成了乱码,郁闷,现在有了这个公式,不用自己设置函数,直接拷贝+替换就完成。很棒! 在EXCEL中,假设A1为数字格式单元格,在任意单元格内粘贴下面公式即可显示大定金额:
=IF(A1《=0,,TEXT(INT(A1),“[dbnum2]人民币G/通用格式“)&“元“&IF(INT(A1*10)-INT(A1)*10=0,IF(INT(A1)*(INT(A1*100)-INT(A1*10)*10)=0,““,“零“),TEXT(INT(A1*10)-INT(A1)*10,“[dbnum2]“)&“角“)&IF((INT(A1*100)-INT(A1*10)*10)=0,“整“,TEXT((INT(A1*100)-INT(A1*10)*10),“[dbnum2]“)&“分“))
excel中人民币小写转大写的函数怎么写
我给你一个方法将此复制下来粘贴到Excel单元格内就可以了。
=IF(ROUND(A5,2)《0,“无效数值“,“人民币“&IF(ROUND(A5,2)=0,“零元“,IF(ROUND(A5,2)《1,““,TEXT(INT(ROUND(A5,2)),“[dbnum2]“)&“元“)&IF(INT(ROUND(A5,2)*10)-INT(ROUND(A5,2))*10=0,IF(INT(ROUND(A5,2))*(INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10)=0,““,“零“),TEXT(INT(ROUND(A5,2)*10)-INT(ROUND(A5,2))*10,“[dbnum2]“)&“角“)&IF((INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10)=0,“整“,TEXT((INT(ROUND(A5,2)*100)-INT(ROUND(A5,2)*10)*10),“[dbnum2]“)&“分“)))
还有以下方法:Excel将小写金额转换成人民币的大写金额
1、如何自定义:
打开EXCEL,新建一个文件Book1,按ALT+F11进入VBA编程环境,选中这个BOOK1文件,插入模块,将下面的源代码复制到右边的模块代码区内,然后将此BOOK1保存,保存类型一定选加载宏,文件名嘛可自由发挥,我就填“中文大写“,确定OK!然后回到EXCEL,工具--加载宏-找到“中文大写“,打勾确定,我们这个自定义函数就可以象内置函数样使用了!---》=rmbdx(123456.78),爽吧!
2、例子:
A、直接在函数内输入数值的(请注意参数的用法,默认用法是不用输入)
=rmbdx(123456.78)---》壹拾贰万叁仟肆佰伍拾陆元柒角捌分
=rmbdx(123456.78,0)---》壹拾贰万叁仟肆佰伍拾陆元柒角捌分
=rmbdx(123456.78,1)---》壹拾贰万叁仟肆佰伍拾陆元柒角捌分
=rmbdx(56.78)---》伍拾陆元柒角捌分
=rmbdx(0.78)---》柒角捌分
=rmbdx(0.784)---》柒角捌分
=rmbdx(0.785,1)---》柒角玖分
=rmbdx(0.02,1)---》贰分
B、引用某单元格数值进行转换的
假设你的D3单元格的数据(也可以是求和或其它公式得出的结果)需要转换,大写格式放在D4单元格,则D4输入公式:=rmbdx(d3)即可
C、其它形如=rmbdx(SUM(C4:C6))的也可以,用法象内置函数,请灵活使用
3、源代码:
Functionrmbdx(value,Optionalm=0)
’中文大写源代码,By对面男孩、redwin
’支持负数,支持小数点后的第三位数是否进行四舍五入处理
’默认参数为0,即不将小数点后的第三位数进行四舍五入处理
’2002-10-11--2002-10-13
OnErrorResumeNext
Dima
DimjfAsString’定义角分位
Dimj’定义角位
Dimf’定义分位
Ifvalue《0Then’处理正负数的情况
a=“负“
Else
a=““
EndIf
IfIsNumeric(value)=FalseThen’判断待转换的value是否为数值
rmbdx=“需转换的内容非数值“
Else
value=Abs(CCur(value))
’当参数m不输入(默认为0)或为0时,小数点后的第三数不进行四舍五入处理
’当参数m为1或其它数值时,小数点后的第三数进行四舍五入处理
Ifm=0Then
jf=Fix((value-Fix(value))*100)
value=Fix(value)+jf/100
Else’厘位进行四舍五入实践很少用到,但还是要照顾到
value=Application.WorksheetFunction.Round(value,2)’--》这句是关键!只用round有bug
jf=Round((value-Fix(value))*100,0)
EndIf
Ifvalue=0Orvalue=““Then’当待转换数值为0或空时,不进行转换
rmbdx=““
Else
strrmbdx=Application.WorksheetFunction.Text(Int(value),“[DBNum2]“)&“元“’转换整数位
IfInt(value)=0Then
strrmbdx=““
EndIf
IfInt(value)《》valueThen
Ifjf》9Then’判断小数位
j=Left(jf,1)
f=Right(jf,1)
Else
j=0
f=jf
EndIf
Ifj《》0Andf《》0Then’角分位都有时
jf=Application.WorksheetFunction.Text(j,“[DBNum2]“)&“角“_
&Application.WorksheetFunction.Text(f,“[DBNum2]“)&“分“
Else
’处理出现零几分的情况
IfInt(value)=0Andj=0Andf《》0Then
jf=Application.WorksheetFunction.Text(f,“[DBNum2]“)&“分“
Else
Ifj=0Then’有分无角时
jf=“零“&Application.WorksheetFunction.Text(f,“[DBNum2]“)&“分“
Else
Iff=0Then’有角无分时
jf=Application.WorksheetFunction.Text(j,“[DBNum2]“)&“角整“
EndIf
EndIf
EndIf
EndIf
strrmbdx=strrmbdx&jf’组装
Else
strrmbdx=strrmbdx&“整“
EndIf
rmbdx=a&strrmbdx’最后成型了,各位MM满意了吧
EndIf
EndIf
EndFunction
excel表格金额大小写转换公式设置
公式为:
=“金额大写:“&TEXT($C$2/1%,“[dbnum2] 0拾0万0仟0佰0拾0元0角0分“)
如图所示:

更多文章:
turtles歌曲(哪位大神有turtles(乌龟组合)的<谢谢>的歌词中文翻译 感激不尽)
2026年10月11日 10:00
金山铁路22号线(请问现在轨道交通22号线金山铁路是个什么情况据说9月28日就开通了啊~~~)
2026年10月11日 09:10
repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026年10月11日 09:00
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026年10月11日 08:50
易语言网页api接口怎么调用(易语言,怎么读取网页json的api)
2026年10月11日 08:00
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40





