打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
EXCEL表格里带小数、负数的数字转换成大写金额,堪称完美版,拿去直接套用

大家好,在财务上我们经常会将小写的金额转换成大写金额,利用EXCEL的单元格格式或是内置的函数都只能针对整数部分进行转换,如果遇到有多位小数、整数、负数等混合的数据,上面两种办法都无法实现,今天我们使用组合函数的方式来解决这一问题。

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

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

函数公式: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分")),"-",""),"零角零分","整"),"零分","整"),"零角","零")

最后将整数和小数部分的函数合在一起,组成完整的函数公式“=IF(A3<0,"负","")&TEXT(INT(ABS(A3)),"[DBNUM2]")&"元"&SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(IF(A3<0,TEXT(MOD(A3,-1)*100,"[DBNUM2]0角0分"),TEXT(MOD(A3,1)*100,"[DBNUM2]0角0分")),"-",""),"零角零分","整"),"零分","整"),"零角","零")”。

函数公式比较长,理解起来其实也不难,不想理解的,直接拿去套用即可。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何将小写金额转换为大写金额?这几个公式你至少要学会一个……
【Excel公式教程】小写金额转换为大写金额的4个公式套路解析
最重要的文本函数text的进阶用法2
使用TEXT函数生成中文大写金额
EXCEL中人民币金额小写转换大写的公式(2011-11-17 09:53:31)
你不知道的Text函数那些神仙用法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服