你是否曾经在 Excel 导入或输入过包含前导零(如 00123)或大数(如 1234 5678 9087 6543)的数据? 例如,社会安全号码、电话号码、信用卡卡号、产品代码、帐号或邮政编码。 Excel 会自动删除前导零,并将大数转换为科学记数法(如 1.23E+15),以便公式和数学运算可以对它们起作用。 本文介绍如何将数据保留为原始格式,Excel 将原始格式视为文本。
设置自动数据转换
重要
此功能在 Microsoft 365 专属 Excel、Microsoft 365 Mac 版专属 Excel、Excel 2024、Excel 2024 for Mac 中可用。
使用 Excel 的 自动数据转换 功能更改 Excel 对于以下自动数据转换的默认行为:
- 从数字文本中删除前导零并转换为数字。
- 将数值数据截断为 15 位精度,并转换为以科学记数法显示的数字。
- 将字母“E”周围的数值数据转换为科学记数法。
- 将连续的字母和数字字符串转换为日期。
有关详细信息,请参阅 设置自动数据转换。
导入文本数据时将数字转换为文本
导入数据时,使用 Excel 的“获取 & 转换 (Power Query) ”体验将单个列的格式设置为文本。 在本例中,我们要导入文本文件,但从其他源(如 XML、Web、JSON 等)导入的数据的数据转换步骤相同。
选择“数据”选项卡,然后选择“获取数据”按钮旁边的“从文本/CSV”。 如果看不到“获取数据”按钮,请转到“从文件>从文本新建查询>”并浏览到文本文件,然后按“导入”。
Excel 会将数据加载到预览窗格中。 按预览窗格中的“编辑”加载查询编辑器。
如果任何列需要转换为文本,请单击列标题选择要转换的列,然后转到主页>转换>数据类型>选择文本。
提示
可以使用 Ctrl+左键单击选择多个列。
接下来,在“更改列类型”对话框中选择替换当前列,Excel 会将所选列转换为文本。
完成后,选择 关闭 & 加载,Excel 会将查询数据返回到工作表。
如果将来数据发生更改,可转到 “数据>刷新”,Excel 将自动更新数据,并为你应用转换。
使用自定义格式保留前导零
如果由于其他程序不将其用作数据源而想仅在工作簿内解决问题,则可以使用自定义格式或特殊格式来保留前导零。 这适用于少于 16 位的数字代码。 此外,您可以使用破折号或其他标点符号来格式化数字代码。 例如,若要使电话号码更具可读性,可以在国际代码、国家/地区代码、区号、前缀和最后几个数字之间添加破折号。
| 数字代码 | 示例 | 自定义数字格式 |
|---|---|---|
| 社交 安全性 |
012345678 | 000-00-0000 012-34-5678 |
| 手机 | 0012345556789 | 00-0-000-000-0000 00-1-234-555-6789 |
| postal 代码 |
00123 | 00000 00123 |
步骤
选择要设置格式的单元格或单元格区域。
按 Ctrl+1 加载“ 设置单元格格式 ”对话框。
选择“ 数字 ”选项卡,然后在 “类别 ”列表中选择 “自定义 ”,然后在 “类型 ”框中键入数字格式,例如 000-00-0000 (对于社会安全号码代码)或 00000 (对于五位数的邮政编码)。
提示
也可以选择 特殊,然后选择邮 政编码、 邮政编码 + 4、 电话号码或 社会保障号码。
查找有关自定义代码的详细信息,请参阅 创建或删除自定义数字格式。
注意
这不会还原在格式化之前删除的前导零。 它仅影响应用格式后输入的数字。
使用 TEXT 函数应用格式
可以使用数据旁边的空列,并使用 TEXT 函数 将其转换为所需的格式。
| 数字代码 | 示例 (在单元格 A1 中) | TEXT 函数和新格式 |
|---|---|---|
| 社交 安全性 |
012345678 | =TEXT (A1,“000-00-0000”) 012-34-5678 |
| 手机 | 0012345556789 | =TEXT (A1,“00-0-000-000-0000”) 00-1-234-555-6789 |
| postal 代码 |
00123 | =TEXT (A1,“00000”) 00123 |
信用卡卡号向下舍入
Excel 的最大精度为 15 位有效位数,这意味着对于包含 16 位或更多位数的任何数字(例如卡号),超过 15 位数字的任何数字都将舍入为零。 对于 16 位或更大的数字代码,必须使用文本格式。 为此,可以执行以下两个操作之一:
将列的格式设置为文本
选择数据区域并按 Ctrl+1 启动“ 设置单元格格式 ”对话框。 在 “数字 ”选项卡上,选择 “文本”。注意
这不会更改已输入的数字。 它仅影响应用格式后输入的数字。
使用撇号字符
可以在数字前面键入撇号 (') ,Excel 会将其视为文本。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家,或在 社区中获取支持。