Dzwebs.Net

撰写电脑技术杂文十余年

Excel转换人民币为大写的函数方法与VBA方法

Admin | 2014-1-24 12:38:46 | 被阅次数 | 8947

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  通过电子表格来将数字转换为大写人民币的办法,其实有三种方法,在此,就不介绍简单的第一种方法了,仅给大家介绍管用的函数方法与VBA方法即可。

  通过函数嵌套转换人民币为大写

  数字转人民币大写形式的公式是:

  =IF(B1<0,"金额为负无效",
  (IF(OR(B1=0,B1=""),"(人民币)零元",
  IF(B1<1,"(人民币)",
  TEXT(INT(B1),"[dbnum2](人民币)G/通用格式")&"元"))))&
  IF(
  (INT(B1*10)-INT(B1)*10)=0,
  IF(INT(B1*100)-INT(B1*10)*10=0,"","零"),
  (TEXT(INT(B1*10)-INT(B1)*10,"[dbnum2]")&"角"))
  &IF(
  (INT(B1*100)-INT(B1*10)*10)=0,
  "整",
  TEXT((INT(B1*100)-INT(B1*10)*10),"[dbnum2]")&"分")

  数字转人民币大写形式的公式是:

  ="大写金额:"&IF(TRIM(B1)="","",IF(B1=0,"","人民币"&IF(B1<0,"负",)&IF(INT(B1),TEXT(INT(ABS(B1)),"[dbnum2]")&"元",)&IF(INT(ABS(B1)*10)-INT(ABS(B1))*10,TEXT(INT(ABS(B1)*10)-INT(ABS(B1))*10,"[dbnum2]")&"角",IF(INT(ABS(B1))=ABS(B1),,IF(ABS(B1)<0.1,,"零")))&IF(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),TEXT(ROUND(ABS(B1)*100-INT(ABS(B1)*10)*10,),"[dbnum2]")&"分","整")))

  通过VBA转换的办法

  代码如下,请参考。

  y = Int(Round(100 * Abs(M)) / 100)
  j = Round(100 * Abs(M) + 0.00001) - y * 100
  f = (j / 10 - Int(j / 10)) * 10
  A = IIf(y < 1, "", Application.Text(y, "[DBNum2]") & "元")
  b = IIf(j > 9.5, Application.Text(Int(j / 10), "[DBNum2]") & "角", IIf(y < 1, "", IIf(f > 1, "零", "")))
  c = IIf(f < 1, "整", Application.Text(Round(f, 0), "[DBNum2]") & "分")
  N2RMB = IIf(Abs(M) < 0.005, "", IIf(M < 0, "负" & A & b & c, A & b & c))


该杂文来自: Excel杂文

上一篇:满足随机总和让函数自动重新计算的例子

下一篇:Excel单元格内自动换行的4种方法

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计