excel公式金额转为大写(Excel小写转大写金额)

最近翻了几个Excel相关的论坛,发现有网友在寻找将数字金额转换成人民币大写的方法。出于好奇,我在网上搜索,VBA、插件、公式函数等方法相继出现。但我的习惯是,只要问题可以用公式解决,我永远不会用VBA。所以我特别注意用公式生成的方法。如此一来,公式的运用方法可谓更加高明和耀眼。

通过分析我收集到的二十几个公式,发现比较牛,适合我口味的公式有三个,在此我将其列出。

公式一:

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”的形式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 86345@qq.com 举报,一经查实,本站将立刻删除。
(0)
上一篇 2022-04-17 18:30:06
下一篇 2022-04-17 18:40:05

猜你喜欢

  • excel怎么快速删除小数点后面的数

    方法: 1.直接舍去小数部分可以用INT函数取整。例如:=INT(1.523) 结果等于1。 2.向上舍入(四舍五入)可用ROUND函数来实现。例如:=ROUND(1.523,0)…

    投稿 2022-04-06
  • 小雪节气吃什么食物好,小雪节气吃什么比较好

    小雪是冬季的第三个节气,也是冬季的初雪。它标志着进入了寒冷的冬季,天气逐渐变冷,雪花开始飘落。接下来,小编就给大家简单介绍一下小雪节气吃什么食物最好。 小雪节气吃什么比较好 小雪节…

    2023-11-22
  • 新中国修建的第一条铁路叫什么铁路,新中国修建的第一条铁路

    在四川省内江市梅家山上,坐落着一座红色外墙的“工”字形苏式建筑。这就是成渝铁路筑路民工纪念堂。踏进纪念堂,我们可以看到一个个锈迹斑斑的筑路工具。70多年前,十余万筑路民工正是凭着这…

    2023-10-26
  • 电脑哪个盘会影响电脑速度(硬盘影响网速吗)

    网速很慢的几个原因 原因一:本地病毒、木马的错 这是许多网友第一时间想到的答案。不错,感染某些病毒、木马的确会造成网速很慢。但是,又有多少网友会去验证呢? 验证第一步:用反病毒软件…

    投稿 2022-05-01
  • 新捷达价格多少钱?新捷达最低价格

    最近2023款捷达VS5引起了我们的关注,上海车展期间预售价为8.69万元-11.79万元,其将在5月20日正式上市。而引起关注的首先是8.69万的最低预售价,还有其源于大众的基因…

    2024-02-18
  • 翡翠原石如何辨别,翡翠原石辨别方法

    在赌石界有这么一句话:神仙难断寸玉,这句话形象的表达出来赌石的风险性,虽然赌石的风险性很高,但是要是赌成功了那收益也是非常高的。在生活中很多人为了能得到极高的收益就开始玩赌石,而有…

    2023-08-10
  • 护士资格证成绩几天出来?护师考试多久出成绩?

    护士资格考试成绩通常在考后的45个工作日内发布,但不包括周末和节假日。 一、成绩查询时间 根据国家卫生健康委人才交流服务中心的规定,护士资格考试成绩发布后,考生需要等待约45个工作…

    2023-12-20
  • 广告是什么_广告的作用是什么

    每年大大小小的节日,各种商品的广告铺天盖地,不过当你推着购物车在超市选购商品,亦或是在网上选购时,是否会不经意的关注广告中的商品呢?买洗衣粉的时候,挑选了最近广告推荐的立白洗衣粉;…

    2023-05-24
  • 舟山去普陀山怎么去,票价多少

    这几天小编在浙江舟山市和舟山所辖海岛游玩,从舟山市到周边不同的海岛都在哪里坐船?票价多少?本期小编就做个攻略给准备来舟山玩的朋友参考。 舟山市内有两个主要码头,“沈家门客运站码头”…

    投稿 2023-08-02
  • 拼多多买纸尿裤好吗(可以在拼多多上买纸尿裤吗)

    当今互联网时代,网购的选择性更强,商品价格普遍比线下实体店便宜。大部分人的购物习惯已经从线下转向线上,有时候各种电商平台也会举办各种购物节。宝爸宝妈面对母婴店卖家推出的促销活动,不…

    2022-04-07

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注