能做条件判断的文本函数

论坛 期权论坛 期权     
Excel之家ExcelHom   2019-7-27 22:20   4062   0
[h1]我们知道文本函数的一般作用就是查找、替换、提取文本等等,可是能做条件判断的文本函数你见过吗?不仅如此,它还可以让日期变数字、数字变大写、金额变万元等等。说到这里,屏幕前的小伙伴有猜到它是谁吗?[/h1]在Excel的函数中,有个被称为魔法师的函数,他就是TEXT。今天这个魔法师又将上演怎样精彩的魔法呢?

魔法一:八位数字变成日期
很多公司都会使用ERP系统,某些系统中的日期是以8位数字的形式呈现的,当我们导出系统中的数据时,很可能会看到这样的情况:



使用这样的日期去做数据分析是不便的,需要将其变成标准的日期格式才行,请看TEXT的表演:



公式解读:

=TEXT(A2,"0年00月00日")
A2是需要处理的数据,奥秘在"0年00月00日"这一部分,0是占位符,使用年月日将8位数字分成三段。需要注意的是划分从右往左进行,首先将A列最右边的两位数字当作“日”,然后挨着的左边两位当作“月”,最后剩下的四位数字只需要一个0就可以代表,这四位数字当作“年”。
这个公式完整的写法是:=TEXT(A2,"0000年00月00日"),这样八位日期数字就能看明白了!

魔法二:日期变成八位数字
在某些时候,还会遇到将日期变成八位数字的情况,既然TEXT能把八位数字变成日期,那么再变回去当然没问题了:



公式解读:

=TEXT(H2,"emmdd")
H2是要处理的数据,不同的是后面的格式代码相比上次完全不同了。
在第一个例子中,我们要处理的数据源是数字,因此用到了数字占位符0。但在这个例子中,数据源是日期,就不能用0了。e表示“年”,也可以用yyyy代替,m表示“月”,d表示“日”。一个e就是四位,再加上两个m和两个d,刚好就是8位。

魔法三:拆分日期和时间
把数字和日期之间的戏法耍过之后,来看看TEXT是如何拆分日期和时间的。

这种情况常见于考勤数据:


只有把打卡日期和时间分开才好做进一步的统计,TEXT真的可以办到吗?

拆分日期:


公式解析:

=TEXT(B2,"e/m/d")
e表示年,m表示月,d表示日,很好理解。
拆分时间:


公式解析:

=TEXT(B2,"h:mm:ss")
h表示时,m表示分,s表示秒。
戏法揭穿了其实一点也不难。
但是你可千万别以为懂得这几个代码就能看穿TEXT,不信往下看……
魔法四:数字变大写


这个戏法变得怎么样!

公式解析:
=TEXT(A2,"[DBNUM2]")
DBNUM2是针对于数字的特定代码,需要放在一对中括号中。数字2还可以改成1和3,具体是什么效果你可以试试看,记得留言告诉大家你测试的结果哦!
对了,改成4也是可以的,至于5、6、7……
看到这一个例子,做财务工作的朋友估计会有想法了,能不能用TEXT函数将会计报表中的金额变成包含圆角分的大写金额呢?
可以自己先试一下,如果需要这方面的教程记得留言告诉我们。

魔法五:金额变万元
连阿拉伯数字都能变成中文大写数字,金额变成万元就更不在话下了:



公式解析:

=TEXT(A2,"0!.0000万元")
和第一个例子一样,0还是占位符,不过这里多了一个感叹号。如果没有感叹号,"0.0000"表示数字保留四位小数。在TEXT的秘密武器中,感叹号用于在原有内容的某个位置强制增加感叹号后的字符,所以我们在单元格中看到的那个小数点其实是在原数据千位数字左边强行加进去的,最后加上“万元”这个后缀,就变成这样的效果了。
如果你觉得四位小数太多了,还可以保留一位小数:


公式解析:

=TEXT(A2,"0!.0,万元")
在这个公式中,特定代码中间出现了一个逗号。这个逗号其实就是数字格式中的千位分隔符:


使用了千位分隔符后,数字就缩小了千倍,相当于变成以千元计的数字,因此只需要在最后一位数字的前面显示小数点就能变成万元计的数字。

什么!还想要两位小数的……
这个要求虽说有些为难TEXT,但也不是不行。在之前的例子中,还从来没有对第一参数动过手脚,只是在玩格式代码,现在看来不出绝招是不行了:


公式解析:

=TEXT(A2%%,"0.00万元")
A2后面加两个百分号,表示对单元格A2中的数字除以10000。既然已经对数据源做了手脚,格式代码自然就不需要感叹号了,直接按照数字的设置规则去做就好了。0.00表示以两位小数显示,当然也可以用0.0、0.000、0.0000去设置不同的小数位。

魔法六:条件判断
在日期、时间、数字、金额这些地方耍了一圈的TEXT,这次又跑到了IF的领域,连IF函数的风头也想抢:


看上去表现还不错,这又是什么套路呢?

公式解析:
=TEXT((A2-B2)/A2,"上升0%;下降0%;持平;")
这次TEXT没有使用格式代码,而是用了一个新道具:分号。使用分号后,TEXT函数可以做条件判断。
第一种,默认判断:
套路是TEXT(数据,">0结果;=85]优秀;[>=60]合格;不合格")


在这种用法中,条件要放在中括号内,括号后面紧跟要显示的内容。最后使用分号作为一组条件和结果的分隔符。

一个TEXT函数条件最多可以使用3个条件,如果多于3个条件,则返回错误值#VALUE!。对于一些简单的判断问题,使用TEXT函数不仅比IF更为简短,而且看起来更高大上呢。

原载公众号:Excel教程
图文作者:老菜鸟

点击图标,发现更多精彩课程
[url=][/url]
专业的职场技能充电站
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:800
帖子:160
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP