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 函数更改格式,但这不是唯一的方法。 可以通过按 CTRL+1 (或 Mac) 上的 MAC Command 按钮图标+1 的图像来更改没有公式的格式,然后从 “设置单元格>编号 格式”对话框中选择所需格式。
  • 如果单独使用 “MM” 或 “mm”,它将返回月份。 如果将其与“HH”组合使用数小时或与“SS”组合使用数秒,它将返回分钟,例如。 “HH:MM”, “MM:SS”

下载我们的示例

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

下载 Excel TEXT 函数示例

还提供其他格式代码

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

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

使用“设置单元格>编号>自定义格式”>对话框让 Excel 创建格式字符串的示例。

按类别划分格式代码

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

选择数字格式

前导零

为什么 Excel 会删除前导零?

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

如果已经输入数据,并且 Excel 已删除前导零,则可以使用 TEXT 函数将其添加回来。 可以使用包含值的顶部单元格并使用 =TEXT (value,“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 Command 按钮图标+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 函数很少单独使用,通常与其他内容配合使用。 假设你想要组合文本和数字值,例如“报表打印时间:12 年 3 月 14 日”或“每周收入:66,348.72 美元”。 你可将此内容手动键入 Excel,但这违背了让 Excel 执行此操作的目的。 遗憾的是,组合文本和带格式的数字(如日期、时间、货币等)时,Excel 不知道希望如何显示它们,因此它会删除数字格式。 TEXT 函数在这方面派上用武之地,因为它允许你使用格式代码如“MM/DD/YY”)强制 Excel 按照需要的方式设置值的格式,例如“MM/DD/YY”表示日期格式。

在下面的示例中,将看到如果尝试在不使用 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

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

以不同语言显示的日期

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