Excel自动转换金额为大写格式的公式方法

来源:本站整理 作者:网络笔记

最佳答案本案例中多位小数采用的是四舍五入原则。 先来拆解函数公式,将输入的数字分为整数和小数部分,先看整数部分:函数公式:TEXT(INT(ABS(A3)),”[DBNUM2]”)&”元”函数公式的意思:先将数字转换成正数,然后取出整数部分,用TEX......

本案例中多位小数采用的是四舍五入原则。

 

先来拆解函数公式,将输入的数字分为整数和小数部分,先看整数部分:

函数公式:TEXT(INT(ABS(A3)),”[DBNUM2]”)&”元”

函数公式的意思:先将数字转换成正数,然后取出整数部分,用TEXT函数转换成大写数字,后面添加元,遇到负数的情况,还得再处理。

 

修改函数公式,在前面添加IF判断条件,如果数字小于0,则在前面添加“负”字。

 

接下来是小数部分的转换

函数公式:TEXT(MOD(A3,1)*100,”[DBNUM2]0角0分”)

函数意思:使用MOD求余函数,让数字除以1得到它的余数也就是小数部分,使用函数TEXT将其转换成大写数字,面对负数的时候,这个公式也有问题,负数求余,除数应该修改为“-1”。

 

于是修改函数公式:SUBSTITUTE(IF(A3<0,TEXT(MOD(A3,-1)*100,"[DBNUM2]0角0分"),TEXT(MOD(A3,1)*100,"[DBNUM2]0角0分")),"-","")函数公式意思:先用IF条件判断,如果小于1的数字,则MOD函数的除数是“-1”,否则就是“1”,由于负数的MOD余数也是负数,需要用SUBSTITUTE函数将前面的符号“-”去除。

 

观察下表格里的小数部分的转换情况,里面的“零角零分”“零角壹分”“壹角零分”都是书写不规范的,需要替换掉。

 

有三种情况需要替换,故使用了三次“SUBSTITUTE”函数。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(A6<0,TEXT(MOD(A6,-1)*100,"[DBNUM2]0角0分"),TEXT(MOD(A6,1)*100,"[DBNUM2]0角0分")),"-",""),"零角零分","整"),"零分","整"),"零角","零")

 

网络笔记 学习文库

我这一生没什么理想,能治愈我的,从来都不是时间,而是内心的那份释怀和明白!

热门分类

热门工具

联系客服QQ:+