最简单的解决方案是将 yy,mm,dd 放入 date() 公式中,首先使用 left()、mid() 和 right() 提取它们。在这种情况下,假设您输入的日期在 A1 中:
=date(right(A1,2)+100,left(A1,2),mid(A1,4,2))
以上解释:
=right(A1,2) 获取单元格中的最后两位数字 (yy)。我们添加 100,因为它默认为 1911 而不是 2011(如果你的没有这样做,则省略 +100)
=left(A1,2) 获取单元格中的前两位数字 (mm)。
=mid(A1,4,2) 在单元格中间获得 2 位数字,从第 4 位数字 (dd) 开始。
为什么会发生这种情况:
我在将加拿大银行数据导入excel时一直遇到这个问题。简而言之,您输入的日期格式与您的区域设置不匹配。
您的设置似乎意味着 Excel 希望将日期输入为 DD-MM-YY 或 YY-MM-DD,但您的输入数据格式为 MM-DD-YY。
因此,excel 将您的日期视为月份,反之亦然,这意味着任何低于 12 天的日期都将被识别为日期,但错误的日期(月份和日期颠倒)和任何高于 12 天的日期都不会根本无法识别为日期,因为 Excel 将日期视为第 13 个月以上。
不幸的是,您不能只更改格式,因为 Excel 已经将这些日/月分配锁定在适当的位置,您最终只是在视觉上移动 Excel 认为的天和月,而不是重新分配它们。
坦率地说,令我惊讶的是,excel 中没有日期反转工具,因为我认为这种情况一直都在发生。但是上面的公式很简单。
注意:如果您的日期没有前导零(即 4/8/11 与 04/08/12),它会变得更棘手,因为您必须根据日期提取不同数量的数字(即 4/9/ 11 与 2011 年 4 月 10 日)。然后,您必须在公式中构建几个 if 语句。毛。