如何阻止 Excel 自动格式化并使其像数字运算程序一样工作

如何阻止 Excel 自动格式化并使其像数字运算程序一样工作

我在 csv 文件中遇到了 Excel 的一个实际问题,它以某种方式格式化数字,而且无论我做什么,似乎都无法让 Excel 正确显示数据。

假设我有一个名为“产品参考”的列。在该列中,我有许多以下类型的 ID:

  • 001145
  • 55666
  • 02133

每当我打开 Excel 文件时,它都会将这些数字格式化为:

  • 1145
  • 55666
  • 2133

这完全是错误的。当我突出显示该列并将其格式化为文本时,数字开头的前 0 不会返回。

为了解决这个问题,我甚至首先将 csv 文件制作成文本文件,然后将该文件导入 Excel,并特别告诉它不要通过在导入过程中将其设为文本格式来格式化数字,但是当我关闭它并再次打开它时,它仍然会错误地格式化数字,因为 csv 无法定义类型,所以 Excel 会自动将文件保存为纯垃圾。

有谁找到解决这个问题的方法并能帮助我吗?

谢谢,

答案1

您需要在 csv 文件中指定它是文本。您可以通过将数字放在引号中并在前面加上等号来实现这一点,例如:

="001145",="55666",="02133"

,最简单的方法是用进行查找替换",=",用 替换行尾(您可能需要使用像 Notepad++ 这样的高级编辑器)并"\r\n="手动执行文件的开始和结束。

答案2

  1. 将有问题的文件的扩展名从“.csv”更改为“.txt”。
  2. 直接打开 excel。不要点击文件来打开它。
  3. 单击“打开”,将要查找的文件类型从“所有 Excel 文件”更改为“所有文件”
  4. 找到您的文件并单击打开。由于 Excel 不会自动格式化 txt,因此它将引导您完成向导。
  5. 确保选中“分隔”单选按钮。单击“下一步”按钮。
  6. 勾选“逗号”分隔符框,并继续点击“下一步”按钮,直到看(但不要点击它)完成按钮。
  7. 滚动浏览电子表格中的每一列,突出显示要手动格式化的每一列,然后将格式更改为“文本”。
  8. 单击完成按钮。

答案3

从 Oracle 安装 OpenOffice 并对 OpenOffice 的 CSV 格式执行相同操作即可。

我在使用 Excel 2010 的 Windows 7 Pro 中遇到了这个问题。我以前能够将 Outlook 联系人复制到 Excel,保存为 CSV 并导入到 Gmail 和 Android(手机号码以零和 + 号开头)。

答案4

右键单击包含数据的单元格,然后单击格式化单元格...菜单项。然后,在第一个选项卡(“数字”)中,将类别从一般的文本。这将阻止 Excel 自动将这些单元格格式化为数字,从而删除前导零(这在数值分析中毫无意义,但在处理产品 ID 时却非常有意义)。

如果数据被导入并解析为数字,则需要使用数据导入向导,并将每列类型设置为“文本”而不​​是“常规”。然后,对单元格执行相同的操作,然后保存 Excel 工作簿。

相关内容