TEXT函数是Excel中最常用的文本函数之一,作用是按不同区间对数据格式化。今天给大家分享一个该函数小开脑洞的用法。 如下图所示,A列有一段数据,包含了姓名、科目、成绩和评级等,不同数据之间被短横杠分隔。 假设我们现在需要获取科目的信息。 通常我们会使用FILTERXML函数,又或者TRIM+SUBSTITUTE的套路:
这两种解法往期教程都有详细讲解,如果你感兴趣,可以点击以上👆函数名称查阅。 再给大家分享一个乍看起来有点儿奇怪的TEXT函数解法:
这条TEXT函数有两个参数,一个是-1,另外一个是嵌套函数: """"&SUBSTITUTE(A2, "-",""";""")&"""" SUBSTITUTE函数将A2单元格值中的-替换为";",然后在替换结果前后各增加一个半角双引号,返回一个字符串: "看见星光";"语文";"99";"优秀" 之所以将-替换为;是因为TEXT函数的第2参数表示自定义格式,它被系统默认划分为了4个区间,不同区间以分号间隔,每个区间分别对应了正数;负数;零;文本。 "看见星光";"语文";"99";"优秀"表达的意思是,如果是TEXT第1参数是正数,就返回看见星光;如果是负数就返回语文;如果是零,就返回99;如果是文本就返回优秀。 由于上面的TEXT函数第1参数是-1,因此返回负数区间对应的结果:语文。 同样的道理,只需要调整TEXT函数第1参数的值,即可获取不同区间的结果。 获取成绩,第1参数设置为0:
获取评级,第1参数设置为文本:
获取姓名,第1参数设置为正数:
同时获取姓名、科目、成绩和等级,也就是将A列数据按分隔符"-"拆分到B~E列,可以选中B2:E2输入以下区域数组公式,向下复制填充即可:
![]() 上述TEXT的第1参数是一个常量数组{1,-1,0,""},包含了正数、负数、零和文本,也就分别返回第2参数对应区间的值。 摊手,是不是有学到? 最后,不要问我为什么用函数拆分数据,而不是用分列或快速填充,这两种方式…甚至还有VBA/PQ等多种方式之间的区别咱们解释了千百遍了听一首歌,同时空的陌生人呀,咱们下期再见~! |
|
来自: asaser > 《No2:函数公式》