【发布时间】:2019-07-16 19:40:21
【问题描述】:
如果我粘贴04562,它会自动截断前导零并将其存储为4562。
我希望它把它存储为04562。
【问题讨论】:
标签: excel formatting
如果我粘贴04562,它会自动截断前导零并将其存储为4562。
我希望它把它存储为04562。
【问题讨论】:
标签: excel formatting
如果您使用 MS Excel 编辑需要存储前导零数字的单元格,只需格式化并将单元格内容定义为 TEXT。如果您以编程方式存储它,则可以将值放在引号 '' 中。
更新
我刚刚注意到,如果我转到“格式化单元格”并选择自定义格式并将格式设置为 0000,我在单元格中输入的任何数字都小于 4 位,它仍然保持 4以'0'开头的数字长度,如0001、0099、0120、9999
【讨论】:
虽然所有这些都是将数字转换为文本以便保留前导零的准确解决方法,但这并不是问题的答案。
您的问题的答案是,如果您想要一个在 Excel 中带有前导零的数字,您不能拥有它 - 至少在导入期间是这样。
Microsoft 开发人员出于某种原因构建了 Excel 以将 03 读取为数字并截断前导零,结果为 3。没有办法阻止这种情况。
很遗憾,因为所有解决方法都假定您知道哪些列的值可能带有前导零,这样您就可以采取措施*事后*来尝试修复您的数据。
顺便说一句,Google 表格也做同样的事情。
所以简短的回答是,没有电子表格应用程序(至少我知道),您可以在其中读取可能包含 00453 作为数字的 csv 文件并将其导入为 00453 而不是 453 .
【讨论】:
如果您只是双击一个 csv 文本文件将其打开,Office 2010 将打开它并截断所有前导零,因为默认情况下它对每一列进行常规格式化。相反,您可以导入文件:单击“数据”选项卡-“获取外部数据”选项包括“从文本”-打开一个向导,您可以在其中标记要导入的文件,预览它,并定义格式任何包含前导零作为“文本”的列。以这种方式导入时,会保留前导零。
【讨论】:
单击单元格,然后在“主页”选项卡的“数字”组中,单击“数字”旁边的对话框启动器按钮图像。
在“类别”列表中,单击“自定义”,然后在“类型”框中输入数字格式,例如 000-00-0000 用于社会安全号码代码,或 00000 用于五位数邮政编码。
【讨论】:
您可以使用以下格式保存它。
1) 通过选择适当的单元格,右键单击,选择“设置单元格格式”,将格式设置为“文本”。然后在“数字”选项卡下,选择“文本”。任何时候输入一个数字,它都会被读取为文本
或
2) 在任何数字前加上撇号 ('),Excel 将“按原样”接受它
1) 选择需要格式化的单元格并更改数字格式选项
Range("A1").NumberFormat = "@"
当您读取数据时(从 Excel 中的单元格或从 VBA),它将包含输入的任何前导零。
【讨论】:
问题在于实际存储的值与显示的值...所有这些表示“修复”都没有解决存储值中前导零丢失的问题。
因此,如果您在单元格中输入值或导入的最终结果相同,则无论单元格上的格式限制如何,您都无法在存储的值中保留前导零。
【讨论】:
你也可以在你的值前面加上一个',尽管这会标记单元格,直到你把它变成一个文本字段。
【讨论】:
我认为对于一些可能需要更多帮助来寻找选择这些东西的人来说,逐步进行可能会有所帮助。
单击/突出显示您需要的一个或多个正方形。
留在顶部的Home 标签上。一直到右侧,在右侧的第二个框中,有一个选项,上面写着Format。点击那个。
一直点击底部的Format Cells...。第一个标签应该是Number。在Number 选项卡上,有一个选项显示Text。点击它。现在,按底部的OK,完成。
【讨论】:
如果您要输入的金额有固定位数,例如 5 位数的邮政编码,那么您可以将自定义格式应用到此单元格,掩码为:00000。有了这个,无论你输入什么数量,长度不超过5位,都会保留前导零。
【讨论】:
这是我最好和最简单的解决方案。因为如果您已经输入了数据,Excel 将更改数字。仅当您在 更改格式后输入时才有效。
【讨论】:
我不知道这是否是完美的解决方法,但我第一次尝试并成功了。
在左侧单元格中,您看不到前导 0,我想添加前导 0。解决方法是使用公式="0"&A3(Cell number)
(记得设置你的,它应该可以完美地工作,见下面的例子。
【讨论】:
如果您要导入/打开具有前导零的 .csv 文件,请使用 Open Office 或 Libre Office。 当您打开文件时,它将显示一个对话框来指定诸如列分隔符之类的内容。您还可以选择其中一列并将类型指定为“文本”,这将保留前导零。
如果您随后将其保存为 .xlsx 文件,则可以使用 Excel 打开并保留前导 0。
似乎应该有一种方法可以在导入 Excel 时指定它,但我找不到它。
【讨论】:
在以零开头的数字之前添加撇号将保留完整的数字,但不会添加撇号。例如:如果您的号码是 08753,除非您输入 '08753,否则 Excel 会将数字截断为 8753。然后 Excel 将用 08753 填充单元格。简单!
【讨论】:
许多人在上面说过,这不是一件容易的事。这是一个建议。
假设您的错误邮政编码(没有前导 0)在 A 列中。
这是一个长期的修复,对我有用。希望它对你有用!
【讨论】: