视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
在EXCEL中怎么将小写人民币转化成大写
2025-10-02 15:04:54 责编:小OO
文档
在EXCEL中怎么将小写人民币转化成大写

100分 

标签:大写 小写 a2 a1 公式 

回答:4   浏览:5977   提问时间:2006-12-07 17:35

比如我在A1输入12478.24,要在A2同步显示:壹万贰仟肆佰柒拾别元贰角肆分整,要怎么编公式,请各位大侠帮助, 

共0条评论...

最佳答案 此答案由提问者自己选择,并不代表爱问知识人的观点 

做我的工作经常需要实现这个功能,以往需要手工转换,过去也找过一些小程序进行转换,不过在小程序中显示好好的字符拷进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]")&"分")) 

回答:2006-12-07 19:27

提问者对答案的评价:

小渔

[新手] 

爱做梦的人,你好: 

先在A2输入  =A1 

然后用鼠标右键单击A2,在设置单元格格式的"数字"——"分类"中选择"特殊"——""中文大写数字",就OK了. 

回答:2006-12-07 18:07

共0条评论...

评论 ┆ 举报 

wangli1081

[学妹] 

excel下将小写数字转为人民币大写的自定义函数 

-在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、源代码: 

Function rmbdx(value, Optional m = 0) 

'中文大写源代码,By 对面男孩、redwin 

'支持负数,支持小数点后的第三位数是否进行四舍五入处理 

'默认参数为0,即不将小数点后的第三位数进行四舍五入处理 

'2002-10-11--2002-10-13 

On Error Resume Next 

Dim a 

Dim jf As String '定义角分位 

Dim j '定义角位 

Dim f '定义分位 

If value < 0 Then '处理正负数的情况 

a = "负" 

Else 

a = "" 

End If 

If IsNumeric(value) = False Then '判断待转换的value是否为 

数值 

rmbdx = "需转换的内容非数值" 

Else 

value = Abs(CCur(value)) 

'当参数m不输入(默认为0)或为0时,小数点后的第三数不进行四舍 

五入处理 

'当参数m为1或其它数值时,小数点后的第三数进行四舍五入处理 

If m = 0 Then 

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) 

End If 

If value = 0 Or value = "" Then '当待转换数值为0或空时,不 

进行转换 

rmbdx = "" 

Else 

strrmbdx = Application.WorksheetFunction.Text(Int 

(value), "[DBNum2]") & "元" '转换整数位 

If Int(value) = 0 Then 

strrmbdx = "" 

End If 

If Int(value) <> value Then

If jf > 9 Then '判断小数位 

j = Left(jf, 1) 

f = Right(jf, 1) 

Else 

j = 0 

f = jf 

End If 

If j <> 0 And f <> 0 Then '角分位都有时 

jf = Application.WorksheetFunction.Text 

(j, "[DBNum2]") & "角" _ 

& Application.WorksheetFunction.Text(f, "[DBNum2]") 

& "分" 

Else 

'处理出现零几分的情况 

If Int(value) = 0 And j = 0 And f <> 0 Then

jf = Application.WorksheetFunction.Text 

(f, "[DBNum2]") & "分" 

Else 

If j = 0 Then '有分无角时 

jf = "零" & Application.WorksheetFunction.Text 

(f, "[DBNum2]") & "分" 

Else 

If f = 0 Then '有角无分时 

jf = Application.WorksheetFunction.Text 

(j, "[DBNum2]") & "角整" 

End If 

End If 

End If 

End If 

strrmbdx = strrmbdx & jf '组装 

Else 

strrmbdx = strrmbdx & "整" 

End If 

rmbdx = a & strrmbdx '最后成型了 

End If 

End If 

End Function 下载本文

显示全文
专题