最重要的文本函数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,,"零")),"零分","整")

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

关注解锁更多函数的用法

(0)

相关推荐

  • 【Excel公式教程】小写金额转换为大写金额的4个公式套路解析

    公众号回复2016   下载office2016 在会计做账的时候经常会用到大写金额,那么由小写金额如何转换为大写金额呢? 在网上搜一下会发现这类公式有很多,有的还特别长,今天就整理了四个不同效果的公 ...

  • 最重要的文本函数text的进阶用法1

    最重要的文本函数text的进阶用法1

  • 最重要的文本函数text的基础用法

    今天来说text函数的基本用法,它可以根据指定的数字格式代码将数字转换成文本.其中数字格式代码就是我们前面说过的自定义数字格式代码.并不是所有的自定义数字格式代码都适用于text函数,比如颜色代码就不 ...

  • Excel万能文本函数text

    原创作者 | 李锐 微信公众号 | Excel函数与公式(ID:ExcelLiRui) 微信个人号 | (ID:ExcelLiRui520) 关键字:text Excel万能文本函数text 今天介绍 ...

  • 条件求平均函数averageif的进阶用法

    同学们,大家好.今天终于告别复杂的frequency函数,回归基础的averageif函数.averageif是条件求平均函数,它的用法和属性基本上和sumif是相通的.大家掌握好sumif的用法,再 ...

  • 17个文本函数的七类用法

    一.文本链接篇 1.连字符:& 公式:=B3&C3 2.连续区域合并 PHONETIC函数, 用法:=PHONETIC(需要合并的区域) 公式:=PHONETIC(A2:C2) 3. ...

  • 职场必备Excel高频函数,TEXT的万能用法

    一.TEXT简介 TEXT函数是使用频率非常高的文本函数之一,TEXT 函数可通过格式代码来更改数字的显示方式. 二.函数语法 TEXT(value,format_text) 三.函数参数 Value ...

  • 文本之王Text函数实用技巧解读

    在Excel的使用过程中,要经常对数据的格式进行设置,如果你对Text函数的掌握不够,设置起来将会非常的麻烦,今天,小编带大家共同学习Text函数的实用技巧. 一.Text函数作用及语法结构. 作用: ...

  • 文本函数

    前言由于文本函数基本不参与数据运算,所以用到的比较少,但在某些情况下,如果不好好利用文本函数的独特功能,可能会让你大为光火,出了错却找不到原因.如下图所示,明明张三在左边的表里,为什么用VLOOKUP ...

  • 零基础也能学会的9个Excel函数,小白进阶必备!

    今天给大家分享一些常用的函数公式,可以有效的解决Excel中办公所需,0基础也可以轻松学会.建议收藏,在需要的时候可以直接套用函数. 1.计算排名 根据总和,计算学生成绩排名.函数公式=RANK(E2 ...