1. 首页
  2. > 税务筹划 >

财务文本数字大写公式(表格数字大写公式)


SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2)=0," ",IF(A2<0,"负",)&TEXT(INT(ABS(A2)),"[DBNUM2]G/通用格式圆;;")&TEXT(RIGHT(RMB(A2,2),2),"[DBNUM2]0角0分;;整")),"零角",IF(A2^2>1,"零","")),"零分","")。这个公式相对比较长,这种大写金额的转换,在我们财务工作中应用得比较多,比如我们设置打印银行支票、电子收据之类的场景用得相当频繁,我们只要将数字贴进去,就可以迅速的转换成大写金额。这种大写金额的转换,网上的方法非常的多.很多年前,我在学习TEXT函数的时候,当时整理和解决这个问题的方法大概有18种。公式特别长。所以函数的学习是非常灵活的,思考问题的角度不同,方法就不同。那时候这些方法都有深入的研究和调试..这些年Excel论坛和社群发展得很快,相信解决这种类型的函数方法远不只18种。当然还不包括VBA方面的一些解决方法…现在我引用其中的一种比较经典的方法,给大家仔细讲解…这条公式,比较长,但是方法非常的经典, 很多网上的讲师和现场的培训老师,讲到TEXT函数的时候,也会将这种方法用来拓展学员的思维…废话不多说,我们直接进入主题.


对于这种公式比较长的函数,如果你的基础还不是很好的情况,不建议你象高手一样,将公式从左到右一口气写完.我们分开来做…我们简单的分析一下.这里面的金额, 首先有正数和负数, 数字分为整数和小数…当然数字里面也有一些看似象0金额的数字,其实是我们用公式算出来的,循环小数,比如这这里的-0.0018...我们肉眼看到是0.00.其实不是真正的0


所以初步将它分成两部分..将整数和小数分别提取出来,用TEXT格式代码转换为大写金额,然后再连接起来..至于里面的正数和负数,0值的处理,这种细节问题,我们可以用IF函数结合其他的一些文本函数来处理…现在我们来操作.



整数部分的提取.首先用INT函数将整数部分提取出来,大家可以看到,这里面有负数,我们先忽略负数,用ABS函数取绝对值..再取整数…初步处理后,我们再将它格式成大写..可能结果会有些出入,我们跟据具体情况进行修正..外面套一层TEXT(INT(ABS(A2)),"[DBNUM2]).这样格式之后,还有点问题.对于整数部分我们1865元,我们要显示大写的圆.简单的修改一下代码…我们CTRL 1.特殊格式.我们可以看到中文大写的自定义格式.中间的中文英文拼写是没有什么意义的,我们直接就G/通过格式.这后面写圆,我们注意要写分号;; TEXT(INT(ABS(A2)),"[DBNUM2]G/通用格式圆;;")这样我们初步将整数部分处理好了,



我们再处理小数部分…小数部分提取,我们只要用RIGHT函数从右边提取两位…它出来错了..我们单元格里面明明是两位,为什么不是提取00,而是65..我们鼠标放到这。公式编辑栏里面它是一个没有小数,外面只是显示成这位小数的形式,所以我们要再做一个公式,使用RMB货币符号,让它转换为两位小数,当然也可以用ROUND函数四舍四入保留两位小数,但是还要配合其它的函数来操作,我们直接用RMB函数来转换更简单。在里面套一层RMB函数,保留两位小数后,然后再从右边取两位。下拉填充公式。大家可以看到,这里它才能将小数部分取出来。接下来同样的工作,将它格式成大写。TEXT(RIGHT(RMB(A2,2),2),"[DBNUM2]0角0分;;整")。下拉填充公式…



这样初步写完了,我们将它们连接起来,看一下…这里有一个小问题,这里面的0值不能显示整,要变成空.所以我们要做一下判断.计算一下.我们通过RMB(A2,2)=0," ",让它继续计算,下拉公式. 还是一个整,明明是0,怎么还是整..这样我们要到单元格里面看一下了…原来是一个负数..我们这里也可以通过F9看到,计算的结果是一个FALSE,并不等于0..也就是-0不等于0..我们还要做一个处理,怎么变成负0.在公式前面加一个负号…让下复制公式..这样处理就达到了我们的效果…现在我们再用一个IF函数处理一个负数.也就是IF(-RMB(A2)=0," ",IF(A2<0,"负",)&D2&E2).向下复制…这里对数负数部分,它也显示了负…



公式调试到这里,看上去象那么回事,但是作为我们会计人数来说…工作要做到细致,细心的学员发现了…对我们大写象这里的-73.01..角上面是0的.不能写成零角壹分的.只能读成零一个分,多了一个角字,.我们写到这…这里是零角捌分, 也没有这么读的,一般是捌分,这里要去掉两个字 零角…这里对分上面是0的,直接要去掉零分..所以我们怎么去掉这样..我们就要在外面套一层SUBTITUE函数(零角,这里要做一个判断,如果IF(A2^2>1,我们只要将零角,替换成零,否则的小于1.我们将零角替换成空.)向下填充公式..我们也可以看到,这个是大于1的,所以就替换成零了,也符合我们大写的习惯..同样这个小于1替换成空了,捌分.. 我们完成了角的替换…对于分位上面是零的,写成零分也没有意义..同样的再套一层SUBTITITUT(零分,直接替换成空)。。=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2)=0," ",IF(A2<0,"负",)&TEXT(INT(ABS(A2)),"[DBNUM2]G/通用格式圆;;")&TEXT(RIGHT(RMB(A2,2),2),"[DBNUM2]0角0分;;整")),"零角",IF(A2^2>1,"零","")),"零分","")到这一步,我们这个案例分步就给大家做完了。。



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

联系我们

工作日:9:30-18:30,节假日休息