ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6524|回复: 20

[原创] [原创]金额大写(公式处理,简单、明了)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-3-12 17:48 | 显示全部楼层 |阅读模式
<br/><br/><br/><p><br/>试一试下面的公式</p><p>=IF(OR(ISNUMBER(E15)=FALSE,ROUND(E15,2)=0),"",IF(E15&lt;0,"负","")&amp;IF(INT(ROUND(ABS(E15),2))=0,"",TEXT(INT(ROUND(ABS(E15),2)), "[DBNum2]")&amp;"元")&amp;IF(INT(ROUND(ABS(E15),2))=ROUND(ABS(E15),2),"整",IF(INT(ROUND(ABS(E15),2)*10)=ROUND(ABS(E15)*10,1),TEXT(RIGHT(INT(ROUND(ABS(E15),2)*10),1),"[DBNum2]")&amp;"角整",TEXT(RIGHT(INT(ROUND(ABS(E15),2)*10),1),"[DBNum2]")&amp;IF(RIGHT(INT(ROUND(ABS(E15),2)*10),1)="0","","角")&amp;TEXT(RIGHT(ROUND(ABS(E15),2),1),"[DBNum2]")&amp;"分")))</p>
[此贴子已经被作者于2008-3-15 20:02:10编辑过]

0roePUlD.rar

1.77 KB, 下载次数: 55

金额大写(直接公式处理)

TA的精华主题

TA的得分主题

发表于 2005-3-12 20:06 | 显示全部楼层
<P>行的,谢谢分享啊</P>

TA的精华主题

TA的得分主题

发表于 2005-3-12 21:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
<P>金额大写论坛里已经有太多的讨论了。</P>
<P>不过我认为楼主如果能够把你的思路能用文字解释一遍,相信能得到更多会员的支持!!!</P>
<P>新手还是会被你的公式吓坏的!!!</P>
[此贴子已经被作者于2005-3-12 21:55:40编辑过]

TA的精华主题

TA的得分主题

发表于 2005-3-13 09:16 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-3-13 15:20 | 显示全部楼层
Function DONG1(Range1 As Range)
Dim Z As Byte
Dim Y As String
Dim X As Byte
Dim W As String
Dim D1 As String
Dim iNo As String
Dim iUnit As String
DONG1 = ""
iNo = "分角元拾佰仟零壹贰叁肆伍陆柒捌玖"
Y = Right(CStr(Round(Range1 * 100, 0)), 15)
X = Len(Right(CStr(Round(Range1 * 100, 0)), 15))
For Z = 1 To Len(Y)
    W = Mid$(Y, Z, 1)
    DONG1 = DONG1 &amp; IIf(D1 &amp; W = "00", "", Mid(iNo, Val(W) + 7, 1))
    If (X = 7 Or X = 11) And W = "0" Then DONG1 = Left$(DONG1, Len(DONG1) - 1)
    iUnit = ""
    Select Case X
        Case 7, 11
            iUnit = IIf(X = 7, IIf(Right$(DONG1, 1) = "亿", "", "万"), "亿")
        Case 4 To 6, 8 To 10, 12 To 14
            iUnit = IIf(W = "0", "", Mid(iNo, X - Switch(X &gt; 11, 11 - 3, X &gt; 7, 7 - 3, X &gt; 3, 3 - 3), 1))
        Case 1 To 3
            iUnit = Mid(iNo, X, 1)
    End Select
    DONG1 = DONG1 &amp; IIf(X = 7 Or X = 11, iUnit, IIf(W = "0", "", iUnit))
    D1 = W
    X = X - 1
Next
W = Right$(DONG1, 1)
If W = "零" Then DONG1 = Left$(DONG1, Len(DONG1) - 1)
W = Right$(DONG1, 1)
If Right$(Y, 2) = "00" Then DONG1 = DONG1 &amp; IIf(W = "元", "整", "元整")
If Right$(DONG1, 1) = "角" Then DONG1 = DONG1 &amp; "零分"
End Function

TA的精华主题

TA的得分主题

发表于 2005-3-20 18:32 | 显示全部楼层
=TEXT(INT(B12),"[DBNum2]G/通用格式")&amp;"元"&amp;IF((INT(B12*10)-INT(B12)*10)=0,IF((INT(B12*100)-INT(B12)*100)&gt;0,"零",""),TEXT(INT(B12*10)-INT(B12)*10,"[DBNum2]G/通用格式")&amp;"角")&amp;IF((INT(B12*100)-INT(B12*10)*10)=0,"整",TEXT(INT(B12*100)-INT(B12*10)*10,"[DBNum2]G/通用格式")&amp;"分")

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-3-21 10:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
6楼的请注意哈,你的公式有问题哟,你试一试1.999的结果哈

TA的精华主题

TA的得分主题

发表于 2005-3-25 10:13 | 显示全部楼层
<P>本人在华军软件园看到这样的例子,但对[DBNum2]G/通用格式")的具体功能不是很了解,请高手赐教!</P>

TA的精华主题

TA的得分主题

发表于 2005-3-25 15:38 | 显示全部楼层
这是我自己做的,其实先将那个填阿拉伯数字的单元格设置一下有效性,设与最多两位小数,然后再用公式=IF(A10=0,"",(TEXT(ROUNDDOWN(A10,0),"[DBNum2]")&amp;"元"&amp;IF(ROUNDDOWN(A10,0)=A10,"整",IF(ROUNDDOWN(A10*10,0)=A10*10,TEXT(RIGHT(A10*10,1),"[DBNum2]")&amp;"角整",IF(ROUNDDOWN(A10*10,0)=ROUNDDOWN(A10,0)*10,"零"&amp;TEXT(RIGHT(A10*100,1),"[DBNum2]")&amp;"分",TEXT(RIGHT(ROUNDDOWN(A10*10,0),1),"[DBNum2]")&amp;"角"&amp;TEXT(RIGHT(A10*100,1),"[DBNum2]")&amp;"分")))))
[此贴子已经被作者于2005-3-25 15:39:36编辑过]

TA的精华主题

TA的得分主题

发表于 2005-3-25 22:40 | 显示全部楼层
在有效性中能设置最多两位小数吗?会不会又是版本不同的问题,我用的是Excel2000
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-13 11:06 , Processed in 0.044034 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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