TEXT 函数可通过格式代码向数字应用格式,进而更改数字的显示方式。 如果要按更可读的格式显示数字,或者将数字与文本或符号组合,它将非常有用。
注意
TEXT 函数将数字转换为文本,这可能使得在以后的计算中难以引用。 最好将原始值保留在一个单元格中,然后在另一个单元格中使用 TEXT 函数。 随后如果需要构建其他公式,请始终引用原始值,而不是 TEXT 函数结果。
技术详细信息
语法
TEXT(value, format_text)
TEXT 函数语法具有下列参数:
| 参数名称 | 说明 |
|---|---|
| value | 要转换为文本的数值。 |
| format_text | 一个文本字符串,定义要应用于所提供值的格式。 |
概述
TEXT 函数最简单的形式表示:
- =TEXT(Value you want to format, "Format code you want to apply")
下面是一些常用示例,可将其直接复制到 Excel 自行进行试验。 请注意引号内的格式代码。
| 公式 | 说明 |
|---|---|
| =TEXT(1234.567,"$#,##0.00") | 货币带有 1 个千位分隔符和 2 个小数,如 $1,234.57。 请注意,Excel 将该值四舍五入到小数点后两位。 |
| = TEXT(TODAY(),"MM/DD/YY") | 今天的日期采用 MM/DD/YY 格式,如 03/14/12 |
| =TEXT(TODAY(),"DDDD") | 一周中的今天,如星期一 |
| =TEXT(NOW(),"H:MM AM/PM") | 当前时间,如下午 1:29 |
| =TEXT(0.285,"0.0%") | 百分比,如 28.5% |
| =TEXT(4.34 ,"# ?/?") | 分数,如 4 1/3 |
| =TRIM(TEXT(0.34,"# ?/?")) | 分数,如 1/3。 注意,这将使用 TRIM 函数删除带十进制值的前导空格。 |
| =TEXT(12200000,"0.00E+00") | 科学记数法,如 1.22E+07 |
| =TEXT (1234567898,“[<=9999999]###-####; (##) ###-##”) | 特殊(电话号码),如 (123) 456-7898 |
| =TEXT(1234,"0000000") | 添加前导零 (0),如 0001234 |
| =TEXT(123456,"##0° 00' 00''") | 自定义 - 纬度/经度 |
注意
- 虽然可以使用 TEXT 函数更改格式,但这不是唯一的方法。 可以在没有公式的情况下更改格式,方法是在 Mac) 上按 CTRL+1 (或
+1 的图像,然后从“ 设置单元格>编号 格式”对话框中选取所需的格式。 - 如果单独使用“MM”或“mm”,它将返回月份。 如果将它与“HH”合并数小时或“SS”数秒,它将返回分钟,例如。 “HH:MM”、“MM:SS”
下载我们的示例
可下载一个示例工作簿以及一些附加信息,该工作簿包含本文中可查到的所有 TEXT 函数示例。 可执行相同操作,或自行创建 TEXT 函数格式代码。
还提供其他格式代码
可以使用“ 设置单元格格式 ”对话框查找其他可用的格式代码:
- 按 Ctrl+1 (Mac) 上的
+1 的图像以显示“ 设置单元格格式 ”对话框。 - 从“ 数字 ”选项卡中选择所需的格式。
- 选择 “自定义 ”选项。
- “类型”框中即会显示所需的格式代码。 本例中,选择“类型”框中的所有内容,分号 (;) 和 @ 符号除外。 在下例中,我们仅选择和复制 yy/mm/dd。
- 按 Ctrl+C 复制格式代码,然后按 “取消” 关闭“ 设置单元格格式 ”对话框。
- 现在只需按 Ctrl+V 将格式代码粘贴到 TEXT 公式中,例如:=TEXT(B2,"yy/mm/dd")。 请确保将格式代码粘贴到引号中, (“格式代码”) ,否则 Excel 将显示错误消息。
按类别划分格式代码
下面是一些示例,说明如何使用“ 设置单元格 格式”对话框将不同的数字格式应用于值,然后使用 “自定义” 选项将这些 格式代码 复制到 TEXT 函数。
选择数字格式
前导零
为什么 Excel 会删除前导零?
Excel 可查找当前输入单元格的数字,而不是看似文本的数字,如部件号或 SKU 编号。 若要保留前导零,请在粘贴或输入值前将输入范围的格式设置为“文本”。 选择要在其中放置值的列或区域,然后使用 Ctrl+1 打开“设置单元格格式>”对话框,然后在“数字”选项卡上选择“文本”。 现在,Excel 将保留前导零。
如果已输入数据,并且 Excel 删除了前导零,则可以使用 TEXT 函数重新添加它们。 可以使用值引用顶部单元格,并使用 =TEXT (值“00000”) ,其中公式中的零数表示所需的字符总数,然后复制并粘贴到区域的其余部分。
如果出于某种原因需要将文本值转换回数字,则可以乘以 1(如 =D4*1),或使用双一元运算符 (--) ,如 =--D4。
显示千位分隔符
如果格式中包含由数字符号 (#) 或零包围的逗号 (,),则 Excel 将用逗号分隔千位。 例如,如果格式字符串为 “#,###”,Excel 会将数字 12200000 显示为 12,200,000。
数字占位符后面的逗号将数字缩小 1000 倍。 例如,如果格式字符串是 "#,###.0,",则 Excel 会将数字 12200000 显示为 12,200.0。
注意
- 千位分隔符取决于你的区域设置。 美国区域设置中的千位分隔符是一个逗号,但在其他区域设置中可能是句点 (.)。
- 千位分隔符适用于数字、货币和会计格式。
数字、货币和会计格式
以下是标准数字(仅用千位分隔符和小数)、货币和会计格式的示例。 货币格式中允许插入你选择的货币符号,并将其在值旁边对齐,而会计格式会将货币符号与单元格左侧对齐,将值与右侧对齐。 请注意以下货币和会计格式代码之间的差异,其中会计格式使用星号 (*) 分隔符号和值。
若要查找货币符号的格式代码,请先按 Ctrl+1 (或 Mac) 上的
+1 的图像,选择所需的格式,然后从“ 符号 ”下拉列表中选择一个符号:
然后单击左侧的“类别”部分的“自定义”,并复制格式代码,包括货币符号。
注意
TEXT 函数不支持颜色格式,因此,如果从包括颜色的“格式单元格”中复制数字格式代码,如:$#,##0.00_);[Red]($#,##0.00),TEXT 函数将接受该格式代码,但不会显示颜色。
日期
可混合使用“M”代表月、“D”代表日期以及“Y”代表年来更改日期的显示方式。
TEXT 函数中的格式代码不区分大小写,因此可以使用“M”或“m”、“D”或“d”、“Y”或“y”。
|
Mynda 建议... 如果与来自不同国家/地区的用户共享 Excel 文件和报表,建议你以他们的语言为他们提供报表。 Excel MVP,Mynda Treacy 在此 Excel 日期以不同语言显示的文章中 提供了一个很好的解决方案。 它还包括可供你下载的示例工作簿。 |
|---|
时间
可修改时间的显示方式,方法是混合使用“H”代表小时、“M”代表分钟或“S”代表秒,以及用“AM/PM”表示 12 小时制。
如果省略“AM/PM”或“A/P”,则时间将根据 24 小时制显示。
由于“m”可以是月份或分钟,因此若要显示分钟,必须采用“h:m”或“hh:mm”格式执行此操作,Excel 才能正确显示分钟数。 如果省略“h”,Excel 将显示月份值。 若要仅显示分钟,请使用 RIGHT 函数,如示例中所示。
TEXT 函数中的格式代码不区分大小写,因此可使用“H”或“h”、“M”或“m”、“S”或“s”、“AM/PM”或“am/pm”。
使用方括号围绕“h” (“[h]”) 指示 Excel 不要每 24 小时重置一次小时计数。 换句话说,方括号允许显示总运行时间。 可以使用方括号以小时、分钟和秒为单位显示已用时间。
百分比
可使用百分比 (%) 格式更改小数值的显示方式。
分数
可使用分数 (?/?) 格式更改小数值的显示方式。
科学记数法
科学记数法是一种以 1 和 10 之间的小数乘以 10 的幂的方式显示数字的方式。 通常用于缩短较大数字的显示方式。
特殊格式
Excel 提供了 4 种特殊格式:
- 邮政编码 - "00000"
- 邮政编码 + 4 - "00000-0000"
- 电话号码 - “[<=9999999]###-####; (####) ##-####”
- 社会安全号码 - "000-00-0000"
特殊格式因区域设置而异,但如果区域设置没有任何特殊格式,或者这些格式不满足你的需求,则可以通过“ 设置单元格>格式自定义 ”对话框创建自己的格式。
常见方案
TEXT 函数很少单独使用,通常与其他内容配合使用。 假设要组合文本和数字值,例如“报表打印时间:03/14/12”或“每周收入:66,348.72 美元”。 你可将此内容手动键入 Excel,但这违背了让 Excel 执行此操作的目的。 遗憾的是,将文本和带格式的数字(如日期、时间、货币等)组合在一起时,Excel 不知道要如何显示它们,因此会删除数字格式。 这是 TEXT 函数无价之处,因为它允许您使用 格式代码(如 日期格式的“MM/DD/YY” )强制 Excel 按所需方式设置值的格式。
在以下示例中,你将看到如果尝试在不使用 TEXT 函数的情况下联接文本和数字会发生什么情况。 在本例中,我们使用 与 (&) 来连接文本字符串、空格 (“、”) “,以及 具有 =A2&”“&B2 的值。
可以看到,Excel 从单元格 B2 中的日期中删除了格式。 下一示例将展示 TEXT 函数如何使你应用所需的格式。
更新后的公式是:
- Cell C2:=A2&" "&TEXT(B2,"mm/dd/yy") - Date format
常见问题
如何将数字转换为文本,例如将 123 转换成一百二十三?
遗憾的是,不能使用 TEXT 函数执行此操作;需要使用 Visual Basic for Applications (VBA) 代码。 以下链接具有一种方法: 如何在 Excel 中将数值转换为英语单词。
能否更改文本大小写?
可以,可使用 UPPER、LOWER 和 PROPER 函数。 例如,=UPPER("hello") 会返回“HELLO”。
能否像在单元格中使用 Alt+Enter 一样,使用 TEXT 函数添加新行(换行符)?
可以,但是需要几个步骤。 首先,选择希望发生这种情况的单元格,并使用 Ctrl+1 打开“设置单元格格式>”对话框,然后使用“对齐文本”>控件>检查“换行文本”选项。 接下来,调整已完成的 TEXT 函数,使其包括你希望具有换行符的 ASCII 函数 CHAR(10)。 可能需要根据最终结果的对齐方式调整列宽。
本例中,我们使用: ="Today is: "&CHAR(10)&TEXT(TODAY(),"mm/dd/yy")
Excel 为何将编号条目转换成如下形式:1.22E+07
这称为 “科学表示法”,如果单元格 () 格式设置为 “常规”,则 Excel 会自动转换超过 12 位的数字;如果单元格 () 格式设置为 数字,则 Excel 会自动转换 15 位数字。 如果需要输入较长的数字字符串,但不希望将其转换,请在将值输入或粘贴到 Excel 之前,将问题单元格的格式设置为 “文本 ”。
以不同语言显示的日期
|
Mynda 建议... 如果与来自不同国家/地区的用户共享 Excel 文件和报表,建议你以他们的语言为他们提供报表。 Excel MVP,Mynda Treacy 在此 Excel 日期以不同语言显示的文章中 提供了一个很好的解决方案。 它还包括可供你下载的示例工作簿。 |
|---|