Excel金额小写改大写公式
导读:本文主要介绍了使用公式将数字金额转换为人民币大写的方法。 公式一 SUBSTITUTE(SUBSTITUTE(IF(A1《0, 负,)TEXT(TRUNC(ABS(ROUND(A1,2))),[DBNum2]) 元IF(ISERR(FIND(。,ROUND(A1,2))),,TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),[DBNum2]))IF(ISERR(FIND(.0,TEXT(A1,0.00))), 角,)IF(LEFT(RIGHT(ROUND(A1,2),3))= 。,TEX
本文主要介绍了使用公式将数字金额转换为人民币大写的方法。
公式一
SUBSTITUTE(SUBSTITUTE(IF(A1《0, “负”,“”)&TEXT(TRUNC(ABS(ROUND(A1,2))),“[DBNum2]”)& “元”&IF(ISERR(FIND(“。”,ROUND(A1,2))),“”,TEXT(RIGHT(TRUNC(ROUND(A1,2)*10)),“[DBNum2]”))&IF(ISERR(FIND(“.0”,TEXT(A1,“0.00”))), “角”,“”)&IF(LEFT(RIGHT(ROUND(A1,2),3))= “。”,TEXT(RIGHT(ROUND(A1,2)),“[DBNum2]”)&“分”,IF(ROUND(A1,2)=0,“”, “整”)),“零元零”,“”),“零元”,“”)
公式二
CONCATENATE(IF(A1《0, “负”,“”),TEXT(IF(TRUNC(A1)=0,“”,TRUNC(ABS(A1))),“[DBNum2]”),IF(INT(TRUNC(A1))=0,“”, “元”),TEXT(IF(OR(ABS(A1) 《0.1,TRUNC(A1)=A1),“”,RIGHT(TRUNC(A1*10),1)),“[DBNum2]”),IF(RIGHT(TRUNC(A1*10),1)=“0”,“”, “角”),TEXT(IF(RIGHT(TRUNC(A1*100),1)=“0”,“”,RIGHT(TRUNC(A1*100),1)),“[DBNum2]”),IF(RIGHT(TRUNC(A1*100),1)=“0”,“”, “分”))
公式三
IF(ROUND(A1,2)=0,“”,IF(ROUND(ABS(A1),2)》=1,TEXT(INT(ROUND(ABS(A1),2)),“[DBNum2]”)& amp;“元”,“”)&IF(RIGHT(TEXT(A1,“.00”),2)*1=0, “整”,IF(RIGHT(TEXT(A1,“.00”),4)*1》=1,IF(RIGHT(TEXT(A1,“.00”),2)*1》9,“”, “零”),IF(ROUND(ABS(A1),2)》=1,“零”,“”))&IF(RIGHT(TEXT(A1,“.00”),2)*1》 9,TEXT(LEFT(RIGHT(TEXT(A1,“.00”),2)),“[DBNum2]”)& “角”,“”)&IF(RIGHT(TEXT(A1,“.00”))*1》 0,TEXT(RIGHT(TEXT(A1,“.00”)),“[DBNum2]”)&“分”,“整”)))
我用不同的数值对这三个公式进行了一番测试,都达到了我的要求,至少到目前为止还没有发现上述公式存在着什么错误。上述公式对负数的处理采取了不同的方法。公式一和公式二对负数是在其前部加上一个“负”字,而公式三则是按正数进行处理。我比较推崇公式三的方式,不是还有条件格式可以设置吗?若是负数就用条件格式来变为红色。
我不准备在此对上述公式进行分析解说。撰写本文的目的是我也想自己来“组装”一个所谓的通用公式。我只所以说是“组装”而不是叫什么“开发”或者是“拼凑”,是因为EXCEL的函数现成地摆在了那里,使用时就是为了达到某种目的,按照其固有的规则,将其进行有机的组合,可谓“组装”。但是在这个过程中,也是要开动脑筋的,并非是随随便便“拼凑”就能成功的。本文的目的就是想将我在“组装”公式时的思路展现出来。
若用程序设计语言(比如用C语言)来写一个人民币数字金额转大写金额会怎样考虑呢?我想每一位数字都要考虑到。但在EXCEL中,单元格格式中有一个“特殊”格式,里面就有将小写数字转换为大写数字的格式。但要注意的是,这里转换的是数字而不是金额。所以转换出来后并不存在“元”、“角”、 “分”、“整”等在大写金额中出现的字。但是,“元”只出现在整数部分的后面,而小数部分只有角分两位。这样只要利用EXCEL的“特殊”格式将数据分为整数部分、角位和分位三个部分来处理就行了。处理的顺序是先整数,再角位、再分位。
由于要分三个部分分别处理,然后根据情况分别与“元”,“角”,“分”及“整”相连接。连接的方式可以使用CONCATENATE()函数,如公式二,也可以使用连接符&。而用&来连接,公式结构似乎会相对简单清晰一些,所以我选择了用&来连接。
虽然对问题进行了分解,但需要考虑的细节相当多。
若单元格为0或者空,输出空,避免出现“零”、“零元”等字样。对非数字字符不进行处理,使用EXCEL自身的错误提示。
对负数按正数处理,再用条件格式将其转换为红色,不拟采用“负XXXXXX”的形式。
- 上一篇: 保管会计凭证注意事项
- 下一篇: Word2010打印取消无法继续的打印任务.

- 汇兑损益借方表示增加还是减少 2025-12-18
- 坏账收回为什么坏账准备增加 2025-12-28
- 总账系统的初始设置包括哪些内容? 2025-12-18
- 其他应付款和应付账款能冲销吗 2025-12-18
- 费用类科目写在贷方是什么意思 2025-12-18
- 高铁票要报销但丢失了购票记录可以作为报销依 2025-12-18
- 销售商品发生的运输费计入什么科目 2026-02-17
- 发放工资并结转代扣款的会计分录 2026-01-06
- 收到政府稳岗补贴怎么做会计分录 2026-02-17
- 员工费用报销会计分录 2025-12-19
- 目前最新公司法规定股份有限公司注册资本认缴时间到底是多久呢?首次出资额比例是多少? 2026-02-11
- 购买货物,先收到发票,但是货物未收到,是先做在途物资还是等货物收到之后再直接做库存商品呢? 2026-03-19
- 老师,商贸有限公司,经营范围有蔬菜、水果、坚果的种植,公司去菜市场买菜,然后卖给学校,开增值税发票要选多少税率的? 2026-02-24
- 印花税需要计提吗 2025-12-20
- 小规模纳税人能一次性开票1000万吗?会有什么税务风险? 2026-04-21
- 某公司应收账款期初借方余额30W元,本期借方发生额10万元,贷方发生额15万元;预收账款期初贷方余额25万元,本期借方发生额45万元,本期贷方无发生额, 假定不考虑其他因素,则该企业应收账款期末实际余额是 多少万元 2025-12-28
- 银行代发工资和自己在公账上发放工资银行对账单能看的出来吗,怎么区分是银行代发还是公司自己公账转账 2026-01-23
- 老师,收到就业局的稳岗补贴的账务处理?确定收益时需要些什么附件? 2026-02-13
- 已认证发票,对方作废。交易撤销,进项税额转出会计分录如何做?不做可以吗? 2026-02-10
- 4月1号前开的发票,还没有认证,只是报送了,现在重新开16的税率可以不?怎么操作呢? 2026-04-22