分享

Excel金额大写公式详解

 L罗乐 2017-11-20

人民币大写的公式很多,随便百度就能找到一堆,但网上的公式多无原理解析,知其然而不知其所以然,用的时候只能将公式复制过去,总有几分不完美

那么一起来追根究底吧,长文预警,今天的内容1400字


================


先搜个金额大写公式再就公式进行解析

网上相关公式太多,选个稍微短点的,公式如下 ▼


=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),'[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;') & TEXT(RIGHT(RMB(A1),2),'[dbnum2]0角0分;;整')


表示完全看不懂


1、如何快速看懂长公式?


▼ Excel公式求值


Excel自带公式求值,可查看公式每步计算结果,通过查看每步计算结果分析思路



在A1单元格中输入小写金额,B1中输入以上公式


选中B1单元格,【公式】-【公式审核】-【公式求值】


运行求值,查看每一步运算结果,如下图:



通过查看计算步骤得知,金额小写转为大写主要通过格式转换函数TEXT函数,将金额分两部分转换为大写金额,整数部分大写 小数点部分大写


提到格式转换,Excel单元格格式设置中就有金额大写转换


【数字】-【特殊】-【中文大写数字】



如A1单元格金额201711.06单元格格式转换后显示为贰拾万壹仟柒佰壹拾壹.零陆


距离我们想要的金额大写很接近了,如果能将数字大写格式转换的代码找到就可用于金额大写中


2、如何查看格式转换代码?


▼ 点击对应格式后,点击自定义,显示对应代码



点击 【特殊】-【中文大写数字】后点击自定义

代码为【[DBNum2][$-804]G/通用格式】


其中[$-804]表示国家或地区(语言)编号,一般可以不填,可直接忽略


提取有用部分:[DBNum2]G/通用格式

其中[DBNum2]表示将数字大写

G/通用格式表示以常规的数字显示——数字不发生任何变化


金额大写中,整数部分以元结尾,小数部分以角和分结尾 ▼

则整数部分 - [DBNum2]G/通用格式元

小数部分 - [DBNum2]0角0分


如果金额为负怎么办?


金额为负,则大写时金额前面加负,如-2对应负贰元,整数部分金额需分两种情况 ▼

① 为正数

[>0][dbnum2]G/通用格式元


② 为负数

[<0]负[dbnum2]G/通用格式元


OK,数字大小写转换已解决,整数部分和小数部分用不同的格式转换代码,那么接下来需分别提取整数和小数部分 


=========


金额格式一般为:xxxx.xx


① 小数部分:有且只有2位,最右边2位数字,=right(A1,2)

② 整数部分:除掉小数部分剩余为整数部分,整数部分位置在左边,但长度不定,长度=总长度-小数位长度=len(A1)-3 


小数位不是2个吗怎么减3?

小数点也占一位

整数部分=left(A1,len(A1)-3 )


OK啦?

漏了一个格式转换,A1单元格的内容为数字格式,金额大小写为货币格式,需将数字转换为货币格式,使用函数RMB

在A1单元格外嵌套个RMB函数


整数部分格式转换:

=TEXT(LEFT(RMB(A1),LEN(RMB(A1))-3),'[>0][dbnum2]G/通用格式元;[<0]负[dbnum2]G/通用格式元;;')


小数部分格式转换:

=TEXT(RIGHT(RMB(A1),2),'[dbnum2]0角0分;;整')


3、TEXT函数中的的分号;表示什么内容呢?

三个分号分别将【正数;负数;零;文本】需要显示的内容隔开


如果小数部分为0,则金额大写时添加整

[dbnum2]0角0分;;整

  • 正数 - [dbnum2]0角0分,用;间隔

  • 负数 - 不显示,用;间隔

  • 零 - 显示“整”


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多