在日常工作中,处理Excel数据时,我们常常需要将日期/数字转换为特定的格式。今天,我要为大家介绍一个强大又实用的Excel函数——TEXT,它能够将日期/数字转换为按指定数字格式表示的文本,也能将日期/数字与文本或符号连接。
其基本语法为:TEXT(value, format_text),其中value是要转换的数据,format_text是转换后的格式。
TEXT函数本质上是文本函数,返回的结果一律都是文本。如果需要计算,可以先将文本转换为数值,然后再进行计算。
Text函数.xlsx
1、文字连接日期/日期连接日期
图1 文字连接日期/日期连接日期文字连接日期:D3=TEXT(B3,"e年m月d日")&"销售日报表"或者
E3=TEXT(B3,"e年m月d日销售日报表")
日期连接日期:D9=TEXT(B9,"e-m-d")&"至"&TEXT(C9,"e-m-d")
2、转换日期格式
图2 各种日期格式转化将日期显示为星期:C3=TEXT($B3,"aaaa")
同时显示日期和星期:D3=TEXT($B3,"aaaa")
将日期显示为中文小写日期:E3=TEXT($B3,"[dbnum1]e年m月d日")
将日期显示为中文大写日期:F3=TEXT($B3,"[dbnum2]e年m月d日")
只显示日期的年月:G3=TEXT($B3,"e年m月")
只显示日期的年份:H3=TEXT($B3,"e年")
只显示日期的月份:I3=TEXT($B3,"m月")
将日期转换为季度:J3=TEXT(ROUNDUP(MONTH($B3)/3,0),"[dbnum1]0季度")
将日期转换为季度公式说明
如图2,J3=TEXT(ROUNDUP(MONTH($B3)/3,0),"[dbnum1]0季度"),其中:MONTH($B3)/3表示提取日期的月份然后除以3,结果为3/3=0.33
ROUNDUP()表示对月份/3的结果0.33向上进位为正数,结果为1
TEXT()中,"[dbnum1]0季度”意思是将函数第一个参数转换为中文小写,结果为“一“后面再加“季度”两个字。其中的”0“,不是数字0,而是数字占位符,表示整数。
3、数字中间添加分隔符
图3 出生日期和手机号中间添加分隔符F3=TEXT(MID(D3,7,8),"0-00-00")*1
G3=TEXT(E3,"0-0000-0000")
公式TEXT(E3,"0-0000-0000")中,"0-0000-0000"表示在手机号码中间添加分隔符,其中后四位数字分为一段,中间四位分为一段,其余的前面3位数字,分为一段
TEXT(MID(D3,7,8),"0-00-00")*1中,MID(D3,7,8)作用是从身份证号中提取出生年月日,结果是“20090329“,然后TEXT(),表示对提取到的出生日期在年月日中间分别添加分隔符,结果为”2009-03-29“。此时已经有了日期的样式,但本身还是文本型的,再乘以1,最终变成真正的日期序列值。
4、补齐位数快速转换员工编号
将员工编号补齐为六位数,公式:D3 =TEXT(B3,"000000")
图4 补齐员工编号位数
5、简化公式判断
图5 简化公式判断如图5所示,要根据E列两年数据的增长率,判断变化差异
F3=TEXT(E3,"增长0.0%;下降0.0%;持平;暂无数据")
Text的第二个参数格式代码,和单元格自定义格式类似,默认分为4个节,分别设置正数格式、负数格式、零的格式、文本的格式。
当第一个参数为正数,text就会将第一个参数按第一节的格式返回结果,为负数按第二节的格式返回结果,为0按第三节的格式返回结果,为文本按第四节的格式返回结果。
例如,第一个参数华北销售区销售收入增长率E3为-11.3%,是负数,所以函数返回第二节的格式“下降11.3%“。
TEXT函数第二个参数的格式代码默认分为4个节,如果只指定三个节,则第一节用于表示正数,第二节表示零,第三节表示负数。如果只指定两个节,则第一节用于表示正数和零,第二节表示负数。如果只指定一个节,则该节用于所有的数字。如果要跳过某一节,则对该节仅使用分号即可。
6、金额转化为中文大写
TEXT函数在中文数字格式中有两种显示效果。一是中文小写,格式参数为"[dbnum1]",如“七百八十九”;二是财务专用大写,格式参数为"[dbnum2]",如“柒佰捌拾玖”。
图6 金额转化为中文大写将金额转化为中文大写金额,公式C3=TEXT(INT(B3),"[dbnum2]")&"元"&TEXT(RIGHT(B3*100,2)*1,"[dbnum2]0角0分;;整")
以C3单元格为例,
INT(B3)表示提取金额的整数部分,结果返回2601
第一个Text(),表示将整数转化为中文财务专用大写,结果是贰仟陆佰零壹
RIGHT(B3*100,2)*1表示提取金额的角和分,结果返回93
第二个Text(),表示将角和分转化为大写的几角几分。此处第二个参数的格式代码只指定三个节,表示如果角分数>0,返回几角几分,因为角分数不可能为负数,所以第二节跳过,如果角分数是0,则返回“整“。
今天的分享就是这些了,Text函数还有哪些常见应用?欢迎各位在评论发表您的精彩见解。