TEXT 函数

应用对象
Microsoft 365 专属 Excel Microsoft 365 Mac 版专属 Excel Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016

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 (或 Mac 命令按钮图标+1 的图像,然后从“ 设置单元格>编号 格式”对话框中选取所需的格式。
  • 如果单独使用“MM”或“mm”,它将返回月份。 如果将它与“HH”合并数小时或“SS”数秒,它将返回分钟,例如。 “HH:MM”、“MM:SS”

下载我们的示例

可下载一个示例工作簿以及一些附加信息,该工作簿包含本文中可查到的所有 TEXT 函数示例。 可执行相同操作,或自行创建 TEXT 函数格式代码。

下载 Excel TEXT 函数示例

还提供其他格式代码

可以使用“ 设置单元格格式 ”对话框查找其他可用的格式代码:

  1. Ctrl+1 (Mac) 上的 MAC 命令按钮图标+1 的图像以显示“ 设置单元格格式 ”对话框。
  2. 从“ 数字 ”选项卡中选择所需的格式。
  3. 选择 “自定义 ”选项。
  4. 类型”框中即会显示所需的格式代码。 本例中,选择“类型”框中的所有内容,分号 (;) 和 @ 符号除外。 在下例中,我们仅选择和复制 yy/mm/dd。
  5. Ctrl+C 复制格式代码,然后按 “取消” 关闭“ 设置单元格格式 ”对话框。
  6. 现在只需按 Ctrl+V 将格式代码粘贴到 TEXT 公式中,例如:=TEXT(B2,"yy/mm/dd")。 请确保将格式代码粘贴到引号中, (“格式代码”) ,否则 Excel 将显示错误消息。

示例:使用“设置单元格>格式>数字>自定义”对话框,让 Excel 为你创建格式字符串。

按类别划分格式代码

下面是一些示例,说明如何使用“ 设置单元格 格式”对话框将不同的数字格式应用于值,然后使用 “自定义” 选项将这些 格式代码 复制到 TEXT 函数。

选择数字格式

前导零

为什么 Excel 会删除前导零?

Excel 可查找当前输入单元格的数字,而不是看似文本的数字,如部件号或 SKU 编号。 若要保留前导零,请在粘贴或输入值前将输入范围的格式设置为“文本”。 选择要在其中放置值的列或区域,然后使用 Ctrl+1 打开“设置单元格格式>”对话框,然后在“数字”选项卡上选择“文本”。 现在,Excel 将保留前导零。

如果已输入数据,并且 Excel 删除了前导零,则可以使用 TEXT 函数重新添加它们。 可以使用值引用顶部单元格,并使用 =TEXT (值“00000”) ,其中公式中的零数表示所需的字符总数,然后复制并粘贴到区域的其余部分。

使用 TEXT 设置前导零格式的示例。=TEXT (A2,00000) 如果出于某种原因需要将文本值转换回数字,则可以乘以 1(如 =D4*1),或使用双一元运算符 (--) ,如 =--D4

显示千位分隔符

如果格式中包含由数字符号 (#) 或零包围的逗号 (,),则 Excel 将用逗号分隔千位。 例如,如果格式字符串为 “#,###”,Excel 会将数字 12200000 显示为 12,200,000。

数字占位符后面的逗号将数字缩小 1000 倍。 例如,如果格式字符串是 "#,###.0,",则 Excel 会将数字 12200000 显示为 12,200.0。

使用千位分隔符的 TEXT 函数示例

注意

  • 千位分隔符取决于你的区域设置。 美国区域设置中的千位分隔符是一个逗号,但在其他区域设置中可能是句点 (.)。
  • 千位分隔符适用于数字、货币和会计格式。

数字、货币和会计格式

以下是标准数字(仅用千位分隔符和小数)、货币和会计格式的示例。 货币格式中允许插入你选择的货币符号,并将其在值旁边对齐,而会计格式会将货币符号与单元格左侧对齐,将值与右侧对齐。 请注意以下货币和会计格式代码之间的差异,其中会计格式使用星号 (*) 分隔符号和值。

具有数字、货币和会计格式的 TEXT 函数示例 若要查找货币符号的格式代码,请先按 Ctrl+1 (或 Mac) 上的 “MAC 命令”按钮图标+1 的图像,选择所需的格式,然后从“ 符号 ”下拉列表中选择一个符号:

“设置单元格格式”对话框中的“货币符号”选择 然后单击左侧的“类别”部分的“自定义”,并复制格式代码,包括货币符号。

TEXT 函数 - 自定义带符号的货币

注意

TEXT 函数不支持颜色格式,因此,如果从包括颜色的“格式单元格”中复制数字格式代码,如:$#,##0.00_);[Red]($#,##0.00),TEXT 函数将接受该格式代码,但不会显示颜色。

日期

可混合使用“M”代表月、“D”代表日期以及“Y”代表年来更改日期的显示方式。

月份、日和年格式代码 TEXT 函数中的格式代码不区分大小写,因此可以使用“M”或“m”、“D”或“d”、“Y”或“y”。

Excel MVP Mynda Treacy 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 函数的特殊格式 特殊格式因区域设置而异,但如果区域设置没有任何特殊格式,或者这些格式不满足你的需求,则可以通过“ 设置单元格>格式自定义 ”对话框创建自己的格式。

常见方案

TEXT 函数很少单独使用,通常与其他内容配合使用。 假设要组合文本和数字值,例如“报表打印时间:03/14/12”或“每周收入:66,348.72 美元”。 你可将此内容手动键入 Excel,但这违背了让 Excel 执行此操作的目的。 遗憾的是,将文本和带格式的数字(如日期、时间、货币等)组合在一起时,Excel 不知道要如何显示它们,因此会删除数字格式。 这是 TEXT 函数无价之处,因为它允许您使用 格式代码(如 日期格式的“MM/DD/YY” )强制 Excel 按所需方式设置值的格式。

在以下示例中,你将看到如果尝试在不使用 TEXT 函数的情况下联接文本和数字会发生什么情况。 在本例中,我们使用 (&) 来连接文本字符串、空格 (“、”) “,以及 具有 =A2&”“&B2 的值。

不使用 TEXT 函数联接文本的示例 可以看到,Excel 从单元格 B2 中的日期中删除了格式。 下一示例将展示 TEXT 函数如何使你应用所需的格式。

使用 TEXT 函数联接文本的示例 更新后的公式是:

  • Cell C2:=A2&" "&TEXT(B2,"mm/dd/yy") - Date format

常见问题

如何将数字转换为文本,例如将 123 转换成一百二十三?

遗憾的是,不能使用 TEXT 函数执行此操作;需要使用 Visual Basic for Applications (VBA) 代码。 以下链接具有一种方法: 如何在 Excel 中将数值转换为英语单词。

能否更改文本大小写?

可以,可使用 UPPERLOWERPROPER 函数。 例如,=UPPER("hello") 会返回“HELLO”。

能否像在单元格中使用 Alt+Enter 一样,使用 TEXT 函数添加新行(换行符)?

可以,但是需要几个步骤。 首先,选择希望发生这种情况的单元格,并使用 Ctrl+1 打开“设置单元格格式>”对话框,然后使用“对齐文本”>控件>检查“换行文本”选项。 接下来,调整已完成的 TEXT 函数,使其包括你希望具有换行符的 ASCII 函数 CHAR(10)。 可能需要根据最终结果的对齐方式调整列宽。

38f8e0f1-99d8-4c4f-979a-dfd1bcde1bf7

本例中,我们使用: ="Today is: "&CHAR(10)&TEXT(TODAY(),"mm/dd/yy")

Excel 为何将编号条目转换成如下形式:1.22E+07

这称为 “科学表示法”,如果单元格 () 格式设置为 “常规”,则 Excel 会自动转换超过 12 位的数字;如果单元格 () 格式设置为 数字,则 Excel 会自动转换 15 位数字。 如果需要输入较长的数字字符串,但不希望将其转换,请在将值输入或粘贴到 Excel 之前,将问题单元格的格式设置为 “文本 ”。

以不同语言显示的日期

Excel MVP Mynda Treacy Mynda 建议...
如果与来自不同国家/地区的用户共享 Excel 文件和报表,建议你以他们的语言为他们提供报表。 Excel MVP,Mynda Treacy 在此 Excel 日期以不同语言显示的文章中 提供了一个很好的解决方案。 它还包括可供你下载的示例工作簿。