TEXT函数是一个超级好用的格式化文本函数。 今天我就详细的给大家讲一下。
函数基础知识
功能:
TEXT 函数通过使用格式代码格式化数字来更改数字的显示方式。
如果您想以更易读的格式显示数字,或者将数字与文本或符号组合起来,这非常有用。
语法
TEXT(数值、格式代码)
文本返回的数据始终是文本形式。 如果需要计算,可以先将文本转换为数值,然后再进行计算。
文本型数值遇到四种算术运算时会自动转换为数值。
但文本不会参与求和等函数运算。
分类应用
TEXT函数主要通过格式代码进行格式化。
今天韩老师就来讲讲TEXT函数格式中日期和时间的用法:
1. 格式化日期
首先看下图。 TEXT函数通过不同的格式代码转换日期格式:
(格式代码为TEXT公式的第二个参数,即下面公式中“”内的部分)
公式中的代码及其含义:
代码 含义 m 将月份显示为不带前导零的数字。 mm 将月份显示为根据需要带有前导零的数字。 mmm 将月份显示为缩写(Jan 到 Dec)。 mmmm 将月份显示为其全名 (to)。 d 将天数显示为不带前导零的数字。 dd 将日期显示为根据需要带有前导零的数字。 ddd 将日期显示为缩写(Sun 到 Sat)。 dddd 将日期显示为其全名 (to)。 yy 将年份显示为两位数。 yyyy 将年份显示为四位数。
另:阿拉伯数字和中文数字转换时:
2.格式化时间
公式中的代码及其含义:
代码 含义 h 将小时显示为不带前导零的数字。 [h] 显示经过的时间(以小时为单位)。 如果您使用的公式返回的小时数大于 24,请使用类似于 [h]:mm:ss 的数字格式。 hh 将小时显示为带前导零的数字(如有必要)。 如果格式包含AM或PM,则按照12小时制显示小时; 否则,将根据 24 小时制显示小时。 m 将分钟显示为不带前导零的数字。 注意 m 或 mm 代码必须紧跟在 h 或 hh 代码之后或紧接在 ss 代码之前; 否则,Excel 将显示月份而不是分钟。
[m] 显示经过的时间(以分钟为单位)。 如果您使用返回超过 60 分钟的公式,请使用类似于 [mm]:ss 的数字格式。 mm 如果需要,将分钟显示为带前导零的数字。 注意 m 或 mm 代码必须紧跟在 h 或 hh 代码之后或紧接在 ss 代码之前; 否则,Excel 将显示月份而不是分钟。
s 将秒显示为不带前导零的数字。 [s] 显示经过的时间(以秒为单位)。 如果您使用的公式返回超过 60 秒,请使用类似于 [ss] 的数字格式。 ss 将秒显示为根据需要带有前导零的数字。 如果要显示秒小数部分,请使用类似于 h:mm:ss.00 的数字格式。 AM/PM、am/pm、A/P、a/p 根据 12 小时制显示小时。 当时间在午夜和中午之间时,Excel 将时间表示为 AM、am、A 或 a; 当时间在中午和午夜之间时,Excel 将时间表示为 PM、pm、P 或 p。
3.千位分隔符
将逗号显示为千位分隔符或按 1,000 的倍数缩放数字。
,(逗号)显示数字中的千位分隔符。 如果格式包含由数字符号 (#) 或零包围的逗号,Excel 会分隔千位数字。 占位符后面的逗号将以 1,000 为单位测量数字。 例如,如果参数为“#,###.0”,Excel 会将数字 12,200,000 显示为 12,200.0。
公式中的代码及其含义:
代码含义 “#,###”仅保留整数 “#,###.00”保留两位小数 “#,”显示为 1,000 的整数倍 “#,###.0,”显示为整数1,000 的倍数,保留一位小数 "0.0,," 显示为 1,000,000 的整数倍,保留一位小数。
其中: # 仅显示有意义的数字,而不显示无意义的零。
4. 设置数字和货币的格式
公式中的代码及其含义:
代码含义 "0.00" 仅保留整数 "#,##0" 千位分隔符,仅保留整数 "#,##0.00" 千位分隔符,整数保留两位小数 "$#,##0" 仅保留整数 " $#,##0.00" 保留两位小数 "$#,##0.00_);($#,##0.00)" 保留两位小数,负数"$ * #,##0" 保留仅限整数,$ 和数字之间有一个空格字符 "$ * #,##0.00" 两位小数,$ 和数字之间有一个空格字符
5、添加0前导字符,补充位数
6. 百分比
7.特殊格式
8.条件段判断
8.1 四个条件部分:
TEXT函数的格式代码默认分为4个条件部分,每个部分之间用分号分隔。
默认情况下,这四个部分定义为:
[>0];[
【例1】根据段条件进行判断,然后返回对应的结果:
公式: =TEXT(A2,"0.00;-0;0;text") 的含义为:
A2单元格的值根据四种情况返回结果:
【示例2】根据条件强制返回相应的结果:
公式: =TEXT(A8,"1!0!0;5!0;0;Text") 的含义为:
A8单元格的值根据四种情况返回结果:
公式中使用的感叹号(英文半角)是转义字符,强制其后面的第一个字符不具有代码的含义,而只是一个数字。 例如:1!0!0,强制两个0为数字0,而不是数字格式码0。
在实际应用中,可以使用部分条件部分。
8.2 三个条件部分:
这三个部分是:
[>0];[
【实施例3】
公式:=TEXT(A15,"利润;亏损;余额") 意思是:
A15单元格的值根据三种情况返回结果:
8.3 两个条件部分:
这两个部分是:
[>0];[
【实施例4】
公式: =TEXT(A22, "利润;亏损") 意思是:
A22单元格的值根据两种情况返回结果:
我不会谈论某一部分。 昨天和前天的两篇文章都算一篇了。
9. 自定义条件部分
除了使用默认部分之外,TEXT 函数还可以自定义条件部分。
9.1 四个自定义条件部分:
这四个部分定义为:
[条件1];[条件2];[其他不满足条件的部分];[文字]
【实施例5】
公式: =TEXT(A38,"[>=85]优秀;[>=60]合格;不合格;无结果") 意思是:
A38单元格的值根据四种自定义情况返回结果:
9.2 三个自定义条件部分:
这三个部分定义为:
[条件1];[条件2];[其他不满足条件的部分]
【实施例6】
公式: =TEXT(A46, "[>=85]优秀;[>=60]合格;不合格") 意思是:
A46单元格的值根据四种自定义情况返回结果:
9.3 两个自定义条件部分:
这两个部分定义为:
[条件];[其他不符合条件的部分]
【实施例7】
公式:=TEXT(A54,"[>=60]合格;不合格") 意思是:
A54单元格的值根据四种自定义情况返回结果:
10.巧妙利用TEXT嵌套定制多条件部分
在上面的例子中,我们可以看到,结果只能判断为“优秀、合格、不合格”的级别。 如果层次多了,一个TEXT是无法解决问题的。 也可以嵌套TEXT函数来解决这个问题:
【实施例8】
要求:
结果如下:
公式:TEXT(TEXT(A62-60,"[>=30]优秀;不合格;0"),"[>=10]良好;合格"),分解说明:
TEXT(A62-60,"[>=30]优秀;不及格;0")
对A62-60进行分段计算:
通过这个公式,将分数分为>=90,
TEXT(TEXT(A62-60,"[>=30]优秀;不合格;0"),"[>=10]良好;合格")
在这部分中,对于 60 到 89 之间的分数,减去 60,然后计算: