
您是否曾尝试在 Excel 中将数字或日期与文本标签合并,却得到类似"Revenue: 48293.5"或"Report date: 45012"这样的结果?这是 Excel 原始数据泄漏到输出中的问题——而这正是 TEXT 函数所要解决的。
TEXT 函数可将数值转换为格式化的文本字符串,让您精确控制数字、货币、百分比、日期和时间的显示方式——无论是生成报表、创建标签,还是构建动态句子式输出。本指南将带您从基本语法到实际应用示例,全面掌握 TEXT 函数的使用方法。
语法十分简洁:
=TEXT(value, format_text)
结果始终是文本字符串,而非数字。这意味着如果不先将其转换回数字,TEXT 的输出结果无法直接用于算术计算。
格式代码与 Excel"设置单元格格式"对话框(Ctrl + 1)中的代码完全相同,可直接在 TEXT 函数中使用。以下是最常用的格式代码:
| 代码 | 含义 | 示例输入 | 示例输出 |
|---|---|---|---|
0 |
数字占位符(显示零) | 7 | 使用 "000" 得到"007" |
# |
数字占位符(不显示多余的零) | 1234.5 | 使用 "#.#" 得到"1234.5" |
, |
千位分隔符 | 1000000 | 使用 "#,##0" 得到"1,000,000" |
. |
小数点 | 3.14159 | 使用 "0.00" 得到"3.14" |
% |
百分比(乘以 100) | 0.75 | 使用 "0.0%" 得到"75.0%" |
$ |
货币符号(字面量) | 2500 | 使用 "$#,##0" 得到"$2,500" |
d / dd |
日(1 位或 2 位数字) | 日期 | "5" 或 "05" |
mmm / mmmm |
月份(缩写/完整) | 日期 | "Jan" 或 "January" |
yyyy |
4 位年份 | 日期 | "2025" |
h:mm AM/PM |
带 AM/PM 的时间 | 时间值 | "9:05 AM" |
=TEXT(A2, "#,##0.00")
若 A2 中包含 48293.5,此公式返回 "48,293.50"——简洁、易读,可直接用于报表标签。
=TEXT(A2, "$#,##0.00")
将 2500 转换为 "$2,500.00"。在将数字与文本合并时非常实用,例如:
="Total Revenue: "&TEXT(B5,"$#,##0")
结果为:Total Revenue: $48,294
=TEXT(A2, "0.0%")
若 A2 为 0.876,结果为 "87.6%"。非常适合在 Excel 销售仪表板中构建 KPI 摘要句子。
=TEXT(A2, "00000")
适用于员工编号、产品代码或邮政编码,将 742 转换为 "00742"。
Excel 中的日期以序列号形式存储(例如,2025 年 1 月 1 日 = 45658)。TEXT 函数可让您以任意可读格式显示日期。
=TEXT(A2, "dd/mm/yyyy") → "14/06/2025"
=TEXT(A2, "mmmm d, yyyy") → "June 14, 2025"
=TEXT(A2, "ddd, mmm d") → "Sat, Jun 14"
=TEXT(A2, "yyyy-mm-dd") → "2025-06-14"
这在构建报表标题或时间轴标签时尤为实用。例如,如果您正在制作 Excel 项目时间轴或甘特图,格式化的日期标签可使图表更易读。
="Report generated on: "&TEXT(TODAY(),"mmmm d, yyyy")
结果:Report generated on: June 14, 2025
若不使用 TEXT,则会产生"Report generated on: 45658"——对读者而言毫无意义。
Excel 中的时间为小数值(例如,0.5 = 正午 12 点)。TEXT 函数可整洁地处理时间:
=TEXT(A2, "h:mm AM/PM") → "9:05 AM"
=TEXT(A2, "hh:mm:ss") → "09:05:32"
=TEXT(A2, "[h] hours") → "14 hours"(已用时间)
[h] 格式特别适用于计算已用时间——它允许小时数超过 24,这对于跨多天追踪工作时长至关重要。
假设您正在制作发票,并希望生成一行将文本与数字合并的摘要。数据设置如下:
您希望自动生成如下句子:
"Invoice dated June 14, 2025 for $3,750.00 is due in 30 days."
公式如下:
="Invoice dated "&TEXT(B1,"mmmm d, yyyy")&" for "&TEXT(B2,"$#,##0.00")&" is due in "&B3&" days."
这个公式动态组合出完整句子。修改日期、金额或天数,句子将自动更新。这种动态标签方式对于专业账单和发票模板极为重要。
一个常见问题是:为什么不直接使用"设置单元格格式"对话框来格式化单元格?两者的关键区别在于:
当您需要将数字嵌入句子、构建统一的导出格式,或确保格式不受区域设置影响时,请使用 TEXT 函数。当您仍需要数字参与计算时,请使用单元格格式。
与其他 Excel 函数组合时,TEXT 的功能将更加强大。
=IF(B2>0, "Profit: "&TEXT(B2,"$#,##0"), "Loss: "&TEXT(ABS(B2),"$#,##0"))
此公式根据正值或负值生成带标签的输出。如需深入了解条件逻辑,请参阅我们的 IF 函数:逻辑判断与嵌套 IF 指南。
="Order "&TEXT(VLOOKUP(A2,OrderTable,2,0),"00000")&" shipped."
在一个公式中查找订单号,并在句子中将其填充为 5 位数字。
="As of "&TEXT(TODAY(),"dddd, mmmm d")&" - data is current."
在仪表板标题中创建实时更新的时间戳标签。结合 Excel 动态仪表板,可打造专业的自动更新报表。
=TEXT(A2, #,##0) 会报错。请务必用引号括住格式代码:=TEXT(A2, "#,##0")。=TEXT(A2,"0.00")+10 将报错或返回 0。请先完成计算,再用 TEXT 包装结果。如果您不确定某种输出应使用哪个格式代码——比如希望将数字显示为"1st"、"2nd"、"3rd",或需要自定义财年日期格式——只需用普通语言向 GPTExcel 描述您的需求,即可在几秒内获得包含格式代码的完整 TEXT 公式,无需记忆任何代码组合。
如需了解更多简化公式编写和数据处理的方法,请参阅使用 AI 在 Excel 中清理和转换数据。
这通常意味着单元格被格式化为"数字",Excel 将文本结果重新转换为数字。请选中该单元格,将其格式设置为"文本"(或"常规"),然后重新输入公式。同时检查格式代码是否用双引号括住。
可以。Excel 格式代码最多支持用分号分隔的四个节:正数;负数;零;文本。例如:"$#,##0.00;($#,##0.00);"-"" 将正值显示为标准格式,负值显示为括号形式,零显示为破折号。
适用。TEXT 函数及其日期格式代码(d、dd、mmm、mmmm、yy、yyyy 等)在所有现代版本的 Excel 中均受支持——包括 Excel 2010、2013、2016、2019、2021、Microsoft 365 和 Excel Online。若用户之间的区域日期设置不同,输出结果可能略有差异。
两者功能相反。TEXT 将数字转换为格式化的文本字符串;NUMBERVALUE 则将看起来像数字的文本字符串转换回实际数值。当您需要撤销 TEXT 的效果并对结果进行数学运算时,请使用 NUMBERVALUE(或 VALUE)。
了解 Excel 的 TEXT 函数如何使用格式代码将数字、日期和时间转换为格式化文本字符串——包含真实示例和实用应用场景。
了解 Excel IF 函数的工作原理、如何嵌套多个 IF,以及何时使用 IFS 和 SWITCH 等现代替代方案,让逻辑更简洁易读。
全面掌握 Excel 中的 SUMIF 和 SUMIFS 函数,基于单个或多个条件对数据进行求和,包含完整语法、实用示例和分步操作演练。