【问题标题】:Text to Columns formatting issues with Date/Time日期/时间的文本到列格式问题
【发布时间】:2015-11-09 16:06:43
【问题描述】:

我正在尝试确定这是 Excel 错误还是格式问题。所以我有一个日期和时间格式为m/d/yyy h:m AM/PM(即10/21/2015 2:21:00 PM)的列,我试图将它分成两个单独的列:一个是日期,一个是时间。我首先尝试使用固定宽度,但最终使用分隔的,这样我就可以将它准确地分割到我想要的位置。

由于某种原因,当它将两者分开时,时间的实际值会发生变化。我将得到一列的日期和时间为凌晨 12 点 (10/21/2015 12:00 AM) 和一列的初始时间为负 12 小时 (2:21:00 AM).... 试图找出为什么仍然存在时间值在日期列中以及时间值更改的原因。理想情况下,我希望有一个带有10/21/2015 的专栏和另一个带有2:21:00 PM 的专栏。

我已尝试更改初始日期/时间组合等的格式,并且在拆分时它会不断从初始时间减去 12 小时。

有没有人经历或听说过类似的问题?

【问题讨论】:

  • 发生这种情况是因为您看到的大文本字符串实际上被 Excel 理解为数字。 Excel 将日期作为整数(等于 1900 年 1 月 1 日之后的每一天),并将时间作为小数。当您拆分文本时,它现在会在一侧看到“日期整数”,而在另一侧看到“时间小数”。当它格式化“时间小数”时,它仍然认为它是一个日期时间组合,表示 1900 年 1 月 1 日。
  • 听起来它可能无法识别 AM / PM(至少以您的示例为例)。如果时间最初是凌晨 2:21:00。它仍然减去12小时吗?还是只在下午的时候?
  • 此外,作为分隔符的空间分割是从时间中剥离 AM/PM。任何有 PM 的东西都会变成 AM,因为没有什么是 AM。
  • 您是否考虑过进入计算机的系统区域设置并永久更改为mm/dd/yyyy 短日期,以便您可以使用固定宽度而不会出错?
  • 好的,谢谢,我让它工作了,但我认为必须有更好的方法来做到这一点。我将初始日期/时间列格式化为数字并得到值 42298.597917。然后我使用固定宽度在小数点之前将其拆分,导致一列(日期)为 42298,另一列(时间)为 0.59791666。然后我更改了日期列的格式并获得了正确的日期(2015 年 10 月 10 日),并且时间列记录了正确的时间(下午 2:21:00)。目前可以工作,但可能必须使用 VBA 来自动化该过程......

标签: excel datetime


【解决方案1】:

我认为您的问题令人困惑,例如 我首先尝试使用固定宽度,但最终使用了分隔,这样我就可以将它准确地拆分到我想要的位置。 似乎是从后到前,但是您有 2015 年 10 月 21 日 14:21 的日期时间值,希望将其作为一列中的日期和下一列中的 02:21:00 PM,并且您的环境是 UK style(即前一个月)。

如果这样,文本到列可能会令人困惑,但也很有帮助。将日期列格式化为日期(以适合),将时间列格式化为hh:mm:ss AM/PM(或类似),假设您的日期时间值在 A1 中,则以下公式可能适合:

日期:=INT(A1)
时间:=MOD(A1,1)

【讨论】:

  • 我最终使用了我在上面评论过的方法,并带有一点 VBA——不过感谢您的输入!我也许会试试这个并将其保存在武器库中以备将来参考。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-26
  • 2016-05-08
  • 2021-12-19
  • 2018-09-23
  • 1970-01-01
相关资源
最近更新 更多