Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2420|回复: 9

[已解决]数字转化成中文。请教高手这样的公式如何写

[复制链接]
发表于 2014-4-4 07:33 | 显示全部楼层 |阅读模式
本帖最后由 跑跑2014 于 2014-4-4 18:55 编辑

比如现在单元格A5=63498.65 能不能转化成中文为  陆万叁仟肆佰玖拾捌圆陆角伍分。请教高手,看用什么办法得出这样的结果。多谢了。
最佳答案
2014-4-4 08:15
=TEXT(INT(A5),"[dbnum2]")&"元"&IF(MOD(A5,1)>0,TEXT(MOD(A5*100,100),"[dbnum2]0角0分"),"整")
发表于 2014-4-4 07:53 | 显示全部楼层
本帖最后由 chensir 于 2014-4-4 08:24 编辑

太长了,删了,看楼下   
回复

使用道具 举报

发表于 2014-4-4 07:58 | 显示全部楼层
  1. =IF(ROUND(A5,2)=0,"",IF(A5<0,"负","")&IF(ABS(A5)>=1,TEXT(INT(ROUND(ABS(A5),2)),"[dbnum2]")&"元","")&SUBSTITUTE(SUBSTITUTE(TEXT(RIGHT(RMB(A5,2),2),"[dbnum2]0角0分;;整"),"零角",IF(A5^2<1,,"零")),"零分","整"))
复制代码
QQ截图20140404075847.png
回复

使用道具 举报

发表于 2014-4-4 08:15 | 显示全部楼层    本楼为最佳答案   
=TEXT(INT(A5),"[dbnum2]")&"元"&IF(MOD(A5,1)>0,TEXT(MOD(A5*100,100),"[dbnum2]0角0分"),"整")

点评

且看且学之,真的很神奇,呵呵  发表于 2014-4-4 08:47

评分

参与人数 1 +18 收起 理由
chensir + 18

查看全部评分

回复

使用道具 举报

发表于 2014-4-4 08:27 | 显示全部楼层
baksy 发表于 2014-4-4 08:15
=TEXT(INT(A5),"[dbnum2]")&"元"&IF(MOD(A5,1)>0,TEXT(MOD(A5*100,100),"[dbnum2]0角0分"),"整")

妙,
回复

使用道具 举报

发表于 2014-4-4 08:33 | 显示全部楼层
  1. '自定义函数实现
  2. '假设 金额汇总变量为 A5
  3. 'DaXie(Range("A5")) 可以返回 金额大写
  4. Function DaXie(ByVal Num) As String       ' 人民币中文大写函数
  5.     Application.Volatile True
  6.     Place = "分角元拾佰仟万拾佰仟亿拾佰仟万"
  7.     Dn = "壹贰叁肆伍陆柒捌玖"
  8.     D1 = "整零元零零零万零零零亿零零零万"
  9.     If Num < 0 Then FuHao = "(负)"
  10.     Num = Format(Abs(Num), "###0.00") * 100
  11.     If Num > 999999999999999# Then: DaXie = "数字超出转换范围!!": Exit Function
  12.     If Num = 0 Then: DaXie = "零元零分": Exit Function
  13.     NumA = Trim(Str(Num))
  14.     NumLen = Len(NumA)
  15.     For J = NumLen To 1 Step -1     ' 数字转换过程
  16.       Temp = Val(Mid(NumA, NumLen - J + 1, 1))
  17.       If Temp <> 0 Then             ' 非零数字转换
  18.          NumC = NumC & Mid(Dn, Temp, 1) & Mid(Place, J, 1)
  19.       Else                          ' 数字零的转换
  20.          If Right(NumC, 1) <> "零" Then
  21.            NumC = NumC & Mid(D1, J, 1)
  22.          Else
  23.            Select Case J            ' 特殊数位转换
  24.                 Case 1
  25.                   NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1)
  26.                 Case 3, 11
  27.                   NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"
  28.                 Case 7
  29.                   If Mid(NumC, Len(NumC) - 1, 1) <> "亿" Then
  30.                      NumC = Left(NumC, Len(NumC) - 1) & Mid(D1, J, 1) & "零"
  31.                   End If
  32.                 Case Else
  33.            End Select
  34.          End If
  35.       End If
  36.     Next
  37.     DaXie = FuHao & Trim(NumC)
  38. End Function
复制代码
回复

使用道具 举报

发表于 2014-4-4 08:45 | 显示全部楼层
baksy 发表于 2014-4-4 08:15
=TEXT(INT(A5),"[dbnum2]")&"元"&IF(MOD(A5,1)>0,TEXT(MOD(A5*100,100),"[dbnum2]0角0分"),"整")

是个很不规范的大写规则,正式场合是可能这么用的
回复

使用道具 举报

发表于 2014-4-4 20:28 | 显示全部楼层
再次学习
回复

使用道具 举报

发表于 2014-4-5 19:01 | 显示全部楼层
4楼答案:数字超过亿会出现错误!!
回复

使用道具 举报

发表于 2014-4-5 19:26 | 显示全部楼层
有没有简单的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-23 20:52 , Processed in 0.418588 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表