基础知识 软硬件安装 办公技巧 网络天下 WINDOWS技巧 AUTOCAD PHOTOSHOP
当前位置:会员服务 > 初级 > 办公技巧 >   在EXCEL中实现人民币金额大写显示的方法
 
《在EXCEL中实现人民币金额大写显示的方法》
 

Excel 97内置函数法

  方法1:

  在Excel97中有这样一个功能,利用单元格格式中的设置可以将一个小写的阿拉伯数值转换成一个大写中文数值,但不能按财务金额的格式显示。其实,对于一个金额来讲,如5.34元(五元三角四分),可将5.34中的5、3、4分别分离,然后在每个数值中间加入元、角、分,最后将数值用大写中文数值表示即可。
  如图所示,具体操作步骤如下:


  (1)在单元格A3中输入所需转换的金额,也可以从其他表单读入。
  (2)在单元格C3、E3、G3中分别填入元、角、分。
  (3)在单元格B3中输入 =INT(A3)。
  (4)在单元格D3中输入 =INT((A3-INT(A3))*10)。
  (5)在单元格F3中输入 =INT((A3*10-INT(A3*10)+0.0001)*10)。
  注:在这里由于Excel的计算误差,一定要加上0.0001这个修正值,不然就得不到正确结果。
  (6)按住CTRL键,左键点击B3、D3、F3单元格,在格式下拉菜单中选择“单元格”格式,在“数字”标签中“分类”项中选择“特殊”,在右栏“类型”中选择“中文大写数字”。确定后退出。
  (7)将B列宽度拉长,以便显示较大数值,将C列至G列的宽度缩小至一个中文字符的宽度。
  通过上述步骤后,可进行填充边框线操作,对于大量数值的处理可通过拖曳表格A3:G3来解决,也可将B3:G3单元格复制到某个所需单元格中去。
(江苏 李激扬)

  方法2:

  步骤如下:
  (1)在“金额”后面增加3列并设定表格(见附表)。
  (2)在单元格B2中输入=INT(A2),设置A2的格式,选“格式”“单元格”“数字”,在“分类”下选“自定义”,在“类型”下输入([DBNum2]G/通用格式“元”)(圆括号中的内容)。
  (3)在单元C2中输入=INT((A2-B2)*10),同(2)在“类型”下输入([DBNum2]G/通用格式“角”)。
  (4)在单元格D2中输入=ROUND((A2-B2-C2*0.1)*100,0),同(3)在“类型”下输入([DNBum2]G/通用格式“分”)。
  (5)将B2至D2向下复制到最后一行。
  (6)在单元格A13中输入=SUM(A2:A12)。最后结果如附表所示。
(四川 徐卫多) 
VBA编程法

  选择菜单下的“工具”下的“宏”,给这个宏起个名字叫“转换大写数字”,然后编辑这个宏,源程序如下:
  Sub 转换大写数字()
   Dim i, j As Integer
   Dim row, col As Integer
   row = Selection.Rows.Count ‘获取所选区域的行数
   col = Selection.Columns.Count ‘获取所选区域的列数
   For i = 1 To row
   For j = 1 To col
   Selection.Cells(i, j).Value =转换(Selection.Cells(i, j).Value) ‘完成转换
   Next j
   Next i
  End Sub
  Function 转换(digit As Currency) As String
   If IsMissing(digit) Then
   Exit Function
   Else
   Dim s, ip, dp As String
   Dim ss1, s2, s3, s4 As String
   Dim i, n As Integer
   ss1 = ″仟佰拾亿仟佰拾万仟佰拾″
   s = ″″
   ip = Str(Int(digit)) ‘分离整数部分
   dp = Right(Str(digit * 100), 2) ‘分离小数部分
   i = 2
   s2 = ″″
   s3 = ″″
   n = Len(ip) - 2
   s4 = Right(Trim(ss1), n)
   n = 1
   Do While i <= Len(ip)
   s2 = 对应数值(Val(Mid(ip, i, 1)))
   s3 = Mid(s4, n, 1)
   s = s + s2 + s3
   i = i + 1
   n = n + 1
   Loop
   s = s + ″元″ + 对应数值(Mid(dp, 1, 1)) + ″角″ +
  对应数值(Right(dp, 1)) + ″分″
   转换 = s
   End If
  End Function
  Function 对应数值(num As Integer) As String
   Dim ss2 As String
   ss2 =″零壹贰叁肆伍陆柒捌玖″
   对应数值 = Mid(ss2, num + 1, 1)
  End Function
  使用方法就是选一个要转换的区域,然后再选菜单“工具”下的“宏”执行这个宏就行了。

精华文章先睹为快  玩转电脑从此简单

本站所有文章的著作权归作者所有

责任编辑