是否在 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 的 Get & Transform (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 |
| 邮政 代码 |
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 |
| 邮政 代码 |
00123 | =TEXT (A1,“00000”) 00123 |
信用卡号向下舍入
Excel 的最大精度为 15 位有效数字,这意味着对于包含 16 位或更多数字的任何数字(例如信用卡号),超过第 15 位的任何数字都向下舍入为零。 如果数字代码为 16 位或更大,则必须使用文本格式。 为此,可以执行以下两项操作之一:
将列的格式设置为文本
选择数据区域,然后按 Ctrl+1 启动“ 设置单元格格式 ”对话框。 在“ 数字 ”选项卡上,选择“ 文本”。注意
这不会更改已输入的数字。 它只会影响应用格式后输入的数字。
使用撇号字符
可以在数字前面键入撇号 (') ,Excel 会将它视为文本。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家或在 社区中获取支持。