【问题标题】:Date Inversion in ExcelExcel中的日期反转
【发布时间】:2021-04-23 04:45:23
【问题描述】:

我有一个脚本,它可以从其他工作簿复制数据并将其粘贴到另一个工作簿上以进行合并。此报告应以 dd/mm/yyyy 格式显示日期。

我的问题是我带来日期的工作簿来自 SAP,带有点 (.) 而不是破折号 (/)。如果我对该文件上的列进行替换,然后在合并文件上应用 Xlookup 并在此 SAP 提取文件上引用参考,则月份和日期会被反转。

现在我遇到的更大问题是日期之一是 2 月 12 日 (12.02.2021),它变成了 12 月 2 日 (02.12.2021)

我已经看到了几个选项,但是我认为 xlookup 加上替换就足够了。 我主要从这里指导自己:

https://www.macroption.com/excel-reverse-date/

【问题讨论】:

  • 假设日期在单元格 P2 中。您可以使用额外的列并使用 =date(year(P2),day(P2),month(P2)) 或使用子字符串 =date(right(P2,4),left(P2, 2),中间(P2,4,2))。如果你在带来数据的脚本中做这个反转,你可以避免这个额外的列
  • 我有一个从其他工作簿复制数据的脚本。您需要更改该脚本,以便将日期作为“真实日期”输出到 Excel。

标签: excel vba date excel-formula


【解决方案1】:

在您的脚本中,有一个步骤可以将您的德语格式的 SAP text 日期转换为真正的 Date 值,如下所示:

TextDate = "12.02.2021"
TrueDate = DateValue(Replace(TextDate, ".", "-"))

' TrueDate -> 2021-02-12

【讨论】:

  • 嗨古斯塔夫,感谢您的想法。如何将其应用于日期所在的列?
  • 您将需要一个额外的列来保存转换后的值,或者 - 更好地 - 修改您导入/复制原始数据的脚本。
  • 谢谢!我实际上设法做到了这一点
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-23
相关资源
最近更新 更多