分享

百变神君Text的6个使用场景,你会几个

 Excel不加班 2021-04-12

与 30万 读者一起学Excel

卢子:Text一个很神奇的函数,可以将数据变化成你想看到的任何形式,有万能函数之称。

网友:万能?这么牛逼,真想好好见识下。

卢子:N年前在日企工作,经常会写一些日语格式的星期几、数字、日期,你们觉得输入这些是不是很麻烦?

网友:看都看不懂,别说输入了,那你日语一定很厉害吧,经常输入这些。

卢子:其实我有一个秘密一直没跟外人说,我压根儿不会日语,也很少用有道词典翻译。

网友:那你怎么输入这些?

卢子:我是借助自定义单元格格式跟Text函数而搞定这些,下面开始了解一些Text的基础,最后我再将我的绝招说出来。

万能当然是夸张的说法,但确实很强大。其实,Text的宗旨就是将自定义格式体现在最终结果里。Text函数主要是将数字转换为文本。当然,也可以对文本进行一定的处理。

TEXT函数的语法:TEXT(值,要显示的文本格式)

Text返回的一律都是文本形式的数据。如果需要计算,可以先将文本转换为数值,然后再计算。文本型数值遇到四则运算会自动转为数值,比如+0。但文本会不参与Sum之类的函数运算。

例子1 Text函数基本的数字处理方式。

=TEXT(12.34,"0")

=TEXT(12.34,0)

含义是将数字12.34四舍五入到个位,然后以文本方式输出结果,当只有一个0的时候,引号可以不加。

=TEXT (12.34,"0.0")

得到12.3,可以看到效果是保留一位小数。小数点后写几个0,就是设置多少位小数。

"0":数字占位符。如果单元格的内容大于占位符,则显示实际数字,如果小于占位符的数量,则用0补足。

=TEXT (12.34,"00000")

就显示为:00012。

"#":数字占位符。只显有意义的零而不显示无意义的零。小数点后数字如大于"#"的数量,则按"#"的位数四舍五入。

=TEXT(12.34,"#####")

就显示为:12。如果设置为"###.##",12.1显示为12.10;12.1263显示为:12.13。

"0,0":里面的逗号是千分符。

=TEXT(123456,"0,0")

就显示成123,456。

"G/通用格式":以常规的数字显示。例如:10显示为10;10.1显示为10.1。

另外,前导0的效果,想显示几位就写几个0,也可以配合Rept函数来写,REPT(字符,N),重复N次显示字符,比如REPT(6,3)就是666。就是一个为数据前面加0的效果。

=TEXT(D2,REPT(0,D2))

例子2 Text在日期时间处理方面的应用。

先说说日期这种特殊的数据类型,日期2010/5/25,其实是数字40323。

=TEXT(40323,"yyyy/m/d")

可以显示2010/5/25。Text是把日期所代表的真正的数字,来转成所需要的日期格式的文本。而20100525,要显示2010/05/25的话,要用上面介绍的0的方法:

=TEXT(20100525,"0!/00!/00")

如果分隔符号用-就不需要加!。!就是强制显示某字符,后面的案例会说。

=TEXT(20100525,"0-00-00")

公式中:yyyy可以用e来代替。mm,表示显示两位月份,m显示一位。中间的连接号,还可以换成其他。

text的结果是文本,如果text返回"2010/05/25"的话,再去设置格式就改变不了的。

例子3 Text表示四种数据类型。

=text(数据,"正;负;零;文本")

text里面可以表示四种数据类型。正数、负数、零与文本,用分号隔开。根据数据的类型,返回对应位置里的格式。

没有分号,代表一种格式。

2个分号:表示单元格为两种格式:分号前面为正数和0;分号后面为负数。

3个分号:表示单元格为三种格式:第1部分用于正数,第2部分用于负数,第3部分用于0值。比如"0;-0;",将只显示正数和负数,但不显示0;最后一个分号不能省略,如果写成"0;-0"表示的是不一样的含义。

=text(数据,"1;2;3;@")

@是文本的通配符,相当于数值中的0。

=text(数据,"1;2;3;@")

=if(数据>0,1,if(数据<0,2,3))

这两种是一样的。

当数据大于0,返回1;小于0,返回2;等于0,返回3,是文本的话,返回其本身。根据分号内的格式自动分配。

=text(数据,"1;;;")

这种,分号内没有要显示的格式了,结果就显示空。也就是,当数据大于0时,显示1,其余显示为空。3分号,四类型。

例子4 强制符号方面的应用。

=TEXT(A2,"0;!0;0;!0")

强制符号!有了它就可以强制显示0了。大于0,显示本身,其他显示0。

例5 条件判断方面的应用。

效果1

=TEXT(A2,"[>10]0;1")

=IF(A2>10,A2,1)

效果2

=TEXT(B2,"[>50]a;[>10]b;c")

=IF(A2>50,"a",IF(A2>10,"b","c"))

text很经典的用法就是在条件判断方面。因为可以省字符,数组公式中常用。条件需要用中括号括起来。这时,分号的作用就不是隔开正数、负数、零了。条件判断的顺序,是先左后右,如同if函数一样。

例6 中文数字中的应用。

效果1

=TEXT(A2,"[dbnum1]")

效果2

=TEXT(A2,"[dbnum2]")

效果3

=TEXT(A2,"[dbnum3]")

网友:头大了,这么多,那里记得住。

卢子:你会自定义单元格格式吗?

网友:这个会。

卢子:前面说了那么多,只是让大家有一个初步的了解,知道Text函数可以做什么。这么多用法其实我也记不住,也无需记忆。

输入任意一个数字,设置单元格格式为货币格式,然后查看自定义格式,复制自定义格式,输入

=TEXT(23,”¥#,##0.00;¥-#,##0.00”)

利用同样的方法,哪一种格式不会就设置单元格格式,再查看自定义格式代码,这样可以减轻我们的记忆负担。

现在到了应该解开最开始留下的那个日文输入法的时候了。

默认情况下,在特殊这个格式对应的区域设置,中文(中国),但实际上这里是允许选择任意国家的语言的。如果你选择日语,在类型这里就出现很多跟日语有关的数字格式,你只要选择这些就可以尝试一些设置。

善于借助一切可以为我们减去记忆负担的方法,这样学习起来就变得更加轻松。

[DBNum2][$-411]aaaa

[DBNum2][$-411]G/通用格式

[DBNum2][$-411]yyyy/m/d

网友:以前以为看到这些都要记住,原来很多都藏在自定义里,还有这个区域设置还第一次知道,以前从没注意过这个问题,长见识了。

卢子:学习这些要有好奇心,有空点开一些你从没点击过的功能来看看,也许会发现很多你意想不到的功能。惊喜就由此产生。

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多