将数字金额转换为中文大写金额的方法

将数字金额转换为中文大写金额的方法很多朋友问到了在Excel中如何将小写的数字金额转换为中文大写的金额,在此,专门开一篇文章介绍这个问题。 实际上,这种数字转换的方法不止一种,在

欢迎大家来到IT世界,在知识的湖畔探索吧!

很多朋友问到了在Excel中如何将小写的数字金额转换为中文大写的金额,在此,专门开一篇文章介绍这个问题。

实际上,这种数字转换的方法不止一种,在此,主要介绍两种转换方式。第一种,使用公式设定单元格格式,第二种,使用自定义函数。实际效果如下:

将数字金额转换为中文大写金额的方法

那么以下,就来说一下每种方式的具体操作过程。

第一种方式:使用公式

这种方式最为简单,不需要任何设定,只需要在目标单元格写入公式即可,以上图为例,在B2单元格写入如下公式即可:

=IF(INT(B1)=B1,TEXT(INT(B1),”[dbnum2]G/通用格式元整;;”),TEXT(INT(B1),”[dbnum2]G/通用格式元;;”) & TEXT(RIGHT(RMB(B1,2),2),”[dbnum2]0角0分;;整”))

大体意思就是,把数据分成两部分来观测,第一部分为为整数,第二部分为小数,判断在不同情况下按照不同的自定义格式输出。

第二种方式:使用自定义函数

在VBA编辑器中插入一个模块,写入如下代码:

Public Function N2RMB(Number As Double) As String If IsNull(Number) = True Then N2RMB = "0" Exit Function End If Dim j, k, l, last As Integer Dim n As Double Dim C1, C2, X As String C1 = "零壹贰叁肆伍陆柒捌玖" C2 = "分角元拾佰仟万拾佰仟亿拾佰" last = 1 n = Round(Abs(Number), 2) * 100 l = Len(CStr(n)) last = 1 For j = 1 To Len(CStr(n)) 'k为右边算起的第j位的数字 k = Mid(n, Len(CStr(n)) + 1 - j, 1) If k > 0 Then X = Mid(C1, k + 1, 1) & Mid(C2, j, 1) & X last = 1 Else Select Case j Case 1 Case 3 X = "元" & X Case 7 If Len(CStr(n)) < 11 Then X = "万" & X Else If Mid(CStr(n), Len(CStr(n)) - 9, 4) <> "0000" Then X = "万" & X End If End If Case 11 X = "亿" & X Case Else If last = 1 Then X = "零" & X End If End Select last = 0 End If If j = 2 And Right(n, 2) = 0 Then X = X & "整" End If Next j N2RMB = X End Function

欢迎大家来到IT世界,在知识的湖畔探索吧!

以上代码定义了一个全局自定义函数N2RMB()。调用该函数,可以直接把Excel单元格内部数据转化为中文的大写金额。

以开头的图片为例,用法如下:

在B3单元格输入:N2RMB(B1)即可。可以看到,此时函数提示里面已经自动把该自定义函数给列出来了。

将数字金额转换为中文大写金额的方法

比较以上两种方式,各有优劣。如果在单元格简单的数据转化上,那么使用公式比较省事。但如果涉及到复杂的输出,那么公式就会比较冗长,很容易出错。使用自定义函数的话工作簿需要保存为启用宏的工作簿,很多地方可能会被阻止,但用起来非常简洁。


创作不易,转载请声明来源!谢谢

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/68975.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信