打开APP
userphoto
未登录

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

开通VIP
最重要的文本函数text的进阶用法2

今天来个完整版的大写金额的转换公式。由于种类比较繁杂,分为下面几种情况:1元以上的,1元以下和0元的,而且还区分正负,如下图所示。

在B2单元格中输入公式=IF(A2,SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXT(A2,";负")&TEXT(INT(ABS(A2)),"[dbnum2]")&"元"&TEXT(MOD(ABS(A2),1)/1%,"[=0]整;[>9][dbnum2]0角0分;[dbnum2]零0分"),"零分","整"),"零元零",),"零元",),""),向下填充。公式很长,不要被吓到哦

下面分步说明,可以看到公式里有3个text函数用&连接起来。第1个text判断正负,第2个text将整数部分显示为大写金额,第3个text将小数部分显示为大写金额。

下面先看第1个text,在C11单元格中输入公式=TEXT(A11,";负"),向下填充,得到C列的结果。可以看到正数和0显示为空,负数显示为负。

再看第2个text,在D11单元格中输入公式=TEXT(INT(ABS(A11)),"[dbnum2]"),向下填充,得到D列的结果,将整数部分显示为大写。

abs是绝对值函数,将负数变成正数,如E列所示;int是向下取整函数,对abs的结果取整数部分,如F列所示。

第3个text函数,在G11单元格中输入公式=TEXT(MOD(ABS(A11),1)/1%,"[=0]整;[>9][dbnum2]0角0分;[dbnum2]零0分"),向下填充。得到G列的结果,将小数部分显示为大写。

先看text的第1参数MOD(ABS(A11),1)/1%,abs取绝对值,MOD是求余函数,除以1,就可以将小数部分提取出来,如H列所示。后面除以1%,就相当于乘以100,将其转成整数才好设置自定义格式,如I列所示。

text的第2参数有3部分代码,都是条件判断。[=0]整;[>9][dbnum2]0角0分;[dbnum2]零0分,第1部分代码是当小数部分扩大100倍后等于0时,显示为整,这样整数后面就可以连接整,如45所示。第2部分代码是判断小数部分扩大100倍后大于9的就显示为0角0分,实际就是角的位置不为0,如0.15小数部分显示为壹角伍分。第3部分代码是小于9且不为0的显示为零0分,如-23.08小数部分显示为零捌分。

然后将3个text用&连接起来,在第2个text后面连接个"元",结果如下。可以看到有些地方是不正确的,我用红框标记出来。第1个红框的零分应该替换为整,第2个红框的零元零应该替换为空,第3个红框的零元也应该替换为空,第4个红框显示为零元整是因为它的金额为0,可以将其显示为空,也可以设置为你想要的内容。

所以,你可以看到用了3次substitute,分别替换零分,零元零,零元。这里注意,先要替换零元零,再替换零元,否则结果会出错。最外层用了个if函数进行判断,如果金额为0,让其显示为空。

第2种方法我在网上看到的,公式为=SUBSTITUTE(SUBSTITUTE(IF(-RMB(A2),TEXT(A2,";负")&TEXT(INT(ABS(A2)+0.5%),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整"),),"零角",IF(A2^2<1,,"零")),"零分","整"),公式较短,思路也很好。

对其进行精简改为=SUBSTITUTE(SUBSTITUTE(IF(A2,TEXT(A2,";负")&TEXT(INT(ABS(A2)),"[dbnum2]G/通用格式元;;")&TEXT(RIGHT(RMB(A2),2),"[dbnum2]0角0分;;整"),),"零角",IF(A2^2<1,,"零")),"零分","整")

如果对你有所帮助或启发,请打赏或分享一下,你的支持就是我最大的动力!

关注解锁更多函数的用法

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
每日Excel分享(公式)| 金额小写转大写函数公式?其实很简单,且看村长由简入繁给你讲解
人民币小写转大写的最短公式
【Excel公式教程】小写金额转换为大写金额的4个公式套路解析
Excel金额大写经典函数及自定义函数
EXCEL表格里带小数、负数的数字转换成大写金额,堪称完美版,拿去直接套用
函数转化大写元角分
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服