人民币大写的公式很多,随便百度就能找到一堆,但网上的公式多无原理解析,知其然而不知其所以然,用的时候只能将公式复制过去,总有几分不完美 那么一起来追根究底吧,长文预警,今天的内容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分;;整
|
|