有时候,您可能要在 Office Excel 数据中使用社会保险号码、电话号码和邮政编码。这些数字有哪些共同之处呢?您不使用这些数字代码中的任何一种进行计数,但是您可能想将它们作为数字存储。遗憾的是,Excel 会删除您可能希望保持在原位置的前导零。下面介绍如何使 Excel 按照您需要的方式处理数字代码中的前导零。
如果您使用包含 16 位数字或更多数字的信用卡号或其他数字代码,则必须使用文本格式,这是因为 Excel 的最大精度为 15 位数字,它将第 15 位数字后面的所有数字向下舍入到零。
本文内容
数字格式在默认情况下删除前导零
可以通过多种方式将数字代码输入 Excel 工作簿。可以将它们键入,或从其他程序中复制和粘贴。或者,可以打开一个文本文件或者从数据源(如 Access 数据库)中导入数据。多数情况下,Excel 将这些数字代码转换为常规格式或数字格式。这些格式的默认行为是删除所有前导零,并且根据数字长度来选用科学计数法。您知道,Excel 将数字代码仅作为另一个数字处理,但是该数字是一个数字代码,并且前导零需要保持在原位置。
数字 代码 |
虚构示例 |
默认行为 (随单元格宽度变化) |
社会 保险 |
012345678 |
12345678 1.2E+07
|
| 电话 |
0014255550177 |
14255550177 1.4E+10
|
邮政 编码 |
00123 |
123 |
|
|
|
|
如果您在处理一长串数字代码,您甚至可能注意不到发生此情况。因此,特别是要在其他程序中使用数据时,请务必注意该问题。虽然可以将数字格式转换为文本格式,但您可能不想将数字转换成文本,尤其是在处理大量长数字时,因为这种转换会增加工作簿的大小。
使用自定义格式或特殊格式保留前导零
对于包含数字少于 16 位的数字代码,如果您仅想在工作簿内解决该问题(因为其他程序不使用该工作簿作为数据源),则可以使用自定义格式或特殊格式保留前导零。
此外,可以通过在自定义格式中添加划线来使用划线隔开数字代码中的某些数字。例如,要增加电话号码的易读性,您可以在国际代码、国家/地区代码、区号、前缀及最后几位数字之间添加划线。
数字 代码 |
虚构示例 |
数字格式和 新行为 |
社会 保险 |
012345678 |
000-00-0000 012-34-5678 |
| 电话 |
0012345556789 |
00-0-000-000-0000 00-1-234-555-6789 |
邮政 编码 |
00123 |
00000 00123 |
过程
- 选择要设置格式的单元格或单元格区域 (区域:工作表上的两个或多个单元格。区域中的单元格可以相邻或不相邻。)。
如何选择单元格或区域
| 选择 | 操作 |
| 一个单元格 | 单击该单元格或按箭头键,移至该单元格。 |
| 单元格区域 | 单击该区域中的第一个单元格,然后拖至最后一个单元格,或者在按住 Shift 的同时按箭头键以扩展选定区域。 也可以选择该区域中的第一个单元格,然后按 F8,使用箭头键扩展选定区域。要停止扩展选定区域,请再次按 F8。
|
| 较大的单元格区域 | 单击该区域中的第一个单元格,然后在按住 Shift 的同时单击该区域中的最后一个单元格。您可以使用滚动功能显示最后一个单元格。 |
| 工作表中的所有单元格 | 单击“全选”按钮。 
要选择整个工作表,还可以按 Ctrl+A。 注释 如果工作表包含数据,按 Ctrl+A 可选择当前区域。按住 Ctrl+A 一秒钟可选择整个工作表。
|
| 不相邻的单元格或单元格区域 | 选择第一个单元格或单元格区域,然后在按住 Ctrl 的同时选择其他单元格或区域。 也可以选择第一个单元格或单元格区域,然后按 Shift+F8 将另一个不相邻的单元格或区域添加到选定区域中。要停止向选定区域中添加单元格或区域,请再次按 Shift+F8。 注释 不取消整个选定区域,便无法取消对不相邻选定区域中某个单元格或单元格区域的选择。
|
| 整行或整列 | 单击行标题或列标题。
 行标题
 列标题
也可以选择行或列中的单元格,方法是选择第一个单元格,然后按 Ctrl+Shift+箭头键(对于行,请使用向右键或向左键;对于列,请向上键或向下键)。
注释 如果行或列包含数据,那么按 Ctrl+Shift+箭头键可选择到行或列中最后一个已使用单元格之前的部分。按 Ctrl+Shift+箭头键一秒钟可选择整行或整列。 |
| 相邻行或列 | 在行标题或列标题间拖动鼠标。或者选择第一行或第一列,然后在按住 Shift 的同时选择最后一行或最后一列。 |
| 不相邻的行或列 | 单击选定区域中第一行的行标题或第一列的列标题,然后在按住 Ctrl 的同时单击要添加到选定区域中的其他行的行标题或其他列的列标题。 |
| 行或列中的第一个或最后一个单元格 |
选择行或列中的一个单元格,然后按 Ctrl+箭头键(对于行,请使用向右键或向左键;对于列,请使用向上键或向下键)。 |
| 工作表或 Microsoft Office Excel 表格中第一个或最后一个单元格 |
按 Ctrl+Home 可选择工作表或 Excel 列表中的第一个单元格。 按 Ctrl+End 可选择工作表或 Excel 列表中最后一个包含数据或格式设置的单元格。
|
| 工作表中最后一个使用的单元格(右下角)之前的单元格区域 |
选择第一个单元格,然后按 Ctrl+Shift+End 可将选定单元格区域扩展到工作表中最一个使用的单元格(右下角)。 |
| 到工作表起始处的单元格区域 |
选择第一个单元格,然后按 Ctrl+Shift+Home 可将单元格选定区域扩展到工作表的起始处。 |
| 增加或减少活动选定区域中的单元格 | 按住 Shift 的同时单击要包含在新选定区域中的最后一个单元格。活动单元格 (活动单元格:活动单元格就是选定单元格,可以向其中输入数据。一次只能有一个活动单元格。活动单元格四周的边框加粗显示。)和您所单击的单元格之间的矩形区域将成为新的选定区域。 |
提示 要取消选择的单元格区域,请单击工作表中的任意单元格。
- 在“开始”选项卡上,单击“数字”旁边的“对话框启动器”
。
- 在“分类”框中,单击“自定义”,然后在“类型”框中键入数字格式,例如将 000-00-0000 用作社会保险号码,或者将 00000 用作邮政编码。
提示 还可以单击“特殊”,然后选择“邮政编码”、“邮政编码 + 4”、“电话号码”或“社会保险号码”。
请在请参阅部分中查找有关自定义代码的详细信息。
使用公式或计算列
如果您使用的其他程序将工作簿作为数据源打开,您应该确定该程序如何处理前导零。例如,如果您的工作簿中有一个地址列表,您想将该工作簿作为邮件合并操作的数据源,并且其中一列是邮政编码且使用了自定义格式 00000。Office Access 将保留前导零,而 Office Word 将删除前导零。如果是 Word,您可以指定一个计算列作为邮件合并操作中的邮政编码字段,从而确保前导零不被删除。
数字 代码 |
虚构示例 (在单元格 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 位或更多位数的任何数字(如信用卡号),最后一位数字将被向下舍入到零。
数字 代码 |
虚构示例 |
默认行为 (随单元格宽度变化) |
信用 卡 |
0123456789012345 |
1.23457E+14
|
|
|
|
|
即使您使用自定义数字格式,但是如果没有前导零,该数字仍会被向下舍入到零。
数字 代码 |
虚构示例 |
数字格式和 新行为 |
信用 卡 (有 前导 零) |
0123456789012345 |
0000-0000-0000-0000 0123-4567-8901-2345 |
信用 卡 (无 前导 零) |
1234567890123456 |
0000-0000-0000-0000 1234-5678-9012-3450 |
|
|
对于包含 16 位数字或更多数字的数字代码,必须使用文本格式。
返回页首
将数字代码转换为文本格式
要将数字代码(如信用卡号)转换为文本格式,可以执行下列操作:
使用单引号
对于一小组数字,可以在数字代码前面键入单引号 ('),然后重新添加前导零。
在导入文本数据时将数字转换成文本
在“文本导入向导”(在“数据”选项卡上的“获取外部数据”组中,单击“自文本”)的步骤 3 中,可以选择包含信用卡号的数据列,然后明确选择“文本”列数据格式。
返回页首