微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

日期错误地转换为 Excel 中所需的格式 (dd/mm/yy)

如何解决日期错误地转换为 Excel 中所需的格式 (dd/mm/yy)

嗨,我知道可以在这里找到很多类似的问题,但我仍然面临这个问题: 我有一个表,其中有一列名为 Dates,其中一些值如下所示:

12/2/2021
11/2/2021
10/2/2021
9/2/2021
8/2/2021
7/2/2021
6/2/2021
5/2/2021
2021/4/2
2021/3/2
2/2/2021
1/2/2021
31/01/21
30/01/21

当我尝试通过选择类别为日期或添加自定义类别为 dd/mm/yy 使用格式单元格转换它时,excel 将 dd/mm/YYYY 值视为 mm/dd/yy。 例如,excel 不会将第一行视为 2 月 12 日,而是将其视为 12 月 2 日。

我还尝试通过转到 DATA 并将其设置为 DMY 将文本转换为列,但它没有解决问题。

非常感谢任何帮助。

解决方法

假设:

  • 所有日期最初都是 DMY
  • 您的 Windows 区域设置短日期格式是 MDY

您需要转换为正确的日期

  • 如果值为文本,则为 DMY 格式,您可以提取部分并转换为日期
  • 如果数值为数字,则表示转换不正确,需要将月和日部分反转

鉴于这些假设,以下公式应该有效。

我正在使用 Excel Office 365 Windows 版本中提供的 LETFILTERXML 函数。

如果您没有那个版本的 Excel,您仍然可以使用公式来执行此操作,但它会更复杂。或者您可以使用 VBA。

=IFERROR(DATE(YEAR(A1),DAY(A1),MONTH(A1)),LET(x,FILTERXML("<t><s>" & SUBSTITUTE(A1,"/","</s><s>")& "</s></t>","//s"),DATE(INDEX(x,3)+IF(INDEX(x,3)<30,2000),INDEX(x,2),1))))

enter image description here

,

试试这个公式:

= DATE( YEAR(A1),MONTH(A1) )

如果值有任何 space 字符,试试这个:

= DATE( YEAR(TRIM(A1)),DAY(TRIM(A1)),MONTH(TRIM(A1)) )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。