即使单元格格式设置为文本,如何修复 Excel 并防止其将复制粘贴或导入的字符串转换为日期

Tur*_*ant 6 spreadsheet microsoft-excel-2007 data-transfer microsoft-excel

每次我将一些写为分数或用连字符分隔的数字数据复制粘贴到 Excel 中时,它总是将可能是日期的数字转换为日期。有没有办法让他们回到原来的格式(如复制)的。即使您转到文本并返回数字,您也会得到一个日期编号!

即使保存为 CSV 并导入也无法解决问题!

几年来,我一直在寻找解决方案,但仍然像以往一样沮丧。

例子

任何类似5-65/2变成日期或日期值的东西,并且无法恢复字符串的原始内容或告诉 Excel 您想将其视为文本而不是日期。

这不仅仅是复制粘贴。通过集成或通过 CSV 直接从应用程序发送数据也不起作用。它否决您的导入并将内容更改为日期值。

“你这个零代表白痴,这就解决了!”

在你说之前,这已经被问过了。让我们来看看提出相同问题的热门问题以及发布的“解决方案”:

1.阻止 excel 将复制粘贴的数字/文本值转换为日期

数据 - 导入外部数据 - 新建 Web 查询并按照向导操作

不起作用。无论如何都不是解决方案,因为它不是从各种来源复制粘贴的,而且速度也非常慢。

将数据按原样粘贴到电子表格中。全选并格式化为文本 再次粘贴您第一次所做的事情,但这次作为值粘贴。

21个赞!真的?!根据我的示例,平凡地不适用于任何数据。此外,需要很长时间。

  1. 复制原始数据
  2. 粘贴到记事本(首选记事本++)
  3. 将单元格属性更改为文本
  4. 从记事本复制全部
  5. 粘贴回 Excel。

13 票。非常缓慢和笨拙的解决方法。反正也行不通

2.如何在 Excel 中复制粘贴时停止将数字转换为日期格式?

选择空字段(或整列),将它们设置为字符串格式而不是默认值,并使用“仅值”进行特殊粘贴(右键单击可用)以防止自动应用日期格式...

我一直使用粘贴特殊和粘贴值。从例如 HTML 表格复制粘贴时没有值选项。不起作用

在粘贴之前,选择将保存非日期值的列。右键点击。选择“格式化单元格”。然后选择“文本”作为格式并单击“确定”。

现在,继续粘贴,但使用“匹配目标格式”选项粘贴。

不起作用。没有“匹配目标格式”选项。

解决这个问题的方法很少,最常见和最简单的方法是在将数据粘贴为文本之前格式化单元格(选择范围,右键单击,格式化单元格,双击文本)。

又是这个!不起作用

我所做的是简单地更改小数点分隔符:

不是一个选项。“-”和“/”不是小数点分隔符。不起作用

尝试在源数据中的数字中添加此 sing ('),然后将其传递到 excel 中,用相同的 (') 替换 (') 因为当您添加此 sing 时,它将显示在 excel 中的数据中,但是当用它替换时将被隐藏。

-1 票是有原因的。不起作用

3.如何防止数字在 Excel 中转换为日期?

我使用 Notepad++ 来完成此任务:将您的数据复制到 Notepad++ 替换“。” 用“,”复制到excel。

缓慢的解决方法并没有帮助,因为我需要数据保持原样。不起作用

首先标记您要粘贴到的单元格。右键单击“格式”,然后选择“数字”。

现在右键单击粘贴,然后选择“匹配目标格式”

...真的?真的?!

是的,有时这真的很痛苦 - 我的快速解决方案是使用格式化为文本的单元格。

下面是它的工作原理:

复制您的号码。选择一列或某些单元格将单元格格式更改为文本现在粘贴特殊(或粘贴内容)作为无格式/纯文本现在替换 . with ,现在将格式改回数字或默认值当然你可以把它放在一些宏中。

但是,我认为可能 - 或者至少应该 - 一个更好的解决方案。

但作为一个快速的人,这也有效;)

不快。你猜怎么着?不起作用

这个问题的答案

发布此问题后,我从 16k 代表海报中得到以下答案:

请停止抱怨您的 Excel 版本应该做什么。Excel 2007 已经快 15 年了,考虑到在旧的 3 年发布周期中规划其功能、开发和测试它们需要 3 年时间。如果您对此有所抱怨,那么您还不如抱怨您的旋转电话无法接收短信。正如其他人所提到的,现代版本的 Excel 可以轻松完成您想要实现的目标,而不必受苦。那么,如何升级?

如果有像这样糟糕的错误,我认为询问它没有问题。如果没有解决方案,那很好,但这并不意味着没有我没有想到的方法,也不是它按设计行事。

无论如何,我确实按照要求升级(到 Excel 2011)并尝试了此线程中的所有建议答案。仍然没有骰子。不起作用。我不知道这张海报是否能够建议已证明可以正常工作的 OS 和 Excel 版本的组合?

微软怎么说?

只是重复众所周知的(但完全无用的)技巧,即在前面加上撇号或 0 以保持格式或使用分数格式。将单元格预格式化为文本可能适用于手动输入数据,但不适用于复制粘贴。

认罪

我求你。请告诉我有一种方法可以将我的数据整理到电子表格中而无需更改它!

即使当Excel猜测数据的格式,并且不要求强加这在你(为什么没有粘贴为[格式]选项,我不明白),复制并粘贴文本或值正确地保留了表结构所有其他可能的文本字符串分开来自由“/”和“-”等符号分隔的数字。

复制粘贴其他格式的字符串,例如10%, $50.63,会4.25E+11导致自动格式化,但不会丢失数据的二维结构,也不会改变值/文本本身。只有使用日期,Excel 才会通过将文本字符串转换为日期值来实际破坏数据内容。我$50.63在单元格 C7 中保留$50.63在单元格 C7 中,但7/8更改为433195-4进入431956.4进入43196。这是一个单向函数 - 无法逆转转换,上下文和内容将永久丢失,因为 Excel 会再次猜测您,并且似乎没有提供一种方法来告诉它您知道自己在做什么,尽管本网站上所有投票的“解决方案”。

——

编辑:不重复,因为我已经在标题 2 下的问题中介绍过!

Tur*_*ant 3

因此,经过大量研究和 @ProfoundlyOblivious 的一些非常有用的输入后,我找到了似乎可行的最佳方法。它远非完美,但它实际上适用于我尝试过的所有数据源,不涉及复杂的步骤,最重要的是省时且可靠。

当您必须从各种不可预测的来源获取数据并将其转换为 Excel 或 CSV 格式时,诸如从 Web 获取数据或 VBA 脚本之类的建议根本不可用。

同样,我用各种版本的 Excel 一遍又一遍地验证,人们声称通过记事本可以工作,或者预格式化和/或后格式化单元格不起作用。遗憾的是,也没有任何自定义数字/文本格式。很明显,当由这些版本的 Excel 处理时,与其他数据格式相比,这种格式的数据明显是异常的。

有什么作用

避免使用 Excel!

复制/粘贴到 Google 文档电子表格中,然后简单地另存为 *.xlsx 或 *.csv 即可。

真的就是这么简单。也许这不是如何修复 Excel 的真正答案,但迄今为止我发现的最佳解决方法。快速、简单、可靠,满足我需要做的一切。

  • 你指责泰林不诚实,但这个词确实适用于这个答案。这些问题和评论竭尽全力坚持认为任何解决方案都必须使用 Excel 并强制它按照您的意愿运行。您批评其他回答者不遵守该要求。那么您自己接受的答案是使用不同的电子表格应用程序而不是 Excel?如果这是一个允许的解决方案,您应该在问题中允许它,并且您会在几周前收到可接受的答案,而不会浪费很多人的时间。 (2认同)