Excel中Date()返回的年份不正确

zyfwsgd6  于 2023-10-22  发布在  其他
关注(0)|答案(2)|浏览(126)

关于应用公式

=IFERROR(DATE(RIGHT(A1,4),MID(A1,4,2),LEFT(A1,2)),"-")

对于30/09/0201(A1中的文本值),我期望0201-09-30,但Excel返回2101-09-30。如何解决这个问题?

zbq4xfa0

zbq4xfa01#

正如OP所提到的,在回答中添加注解的解决方案:

·单元格B1中使用的公式

=IFERROR(TEXTJOIN("-",,RIGHT(A1,4),MID(A1,4,2),LEFT(A1,2)),"-")

OP中使用的公式,不会工作,因为在Excel中日期从January 1, 1900开始,因此使用TEXTJOIN()可以实现所需的输出。

j9per5c4

j9per5c42#

这是按照the documentation of DATE的行为:

年份必填。year参数的值可以包括一到四位数字。Excel根据计算机使用的日期系统解释年份参数。默认情况下,Microsoft Excel for Windows使用1900日期系统,这意味着第一个日期是1900年1月1日。

提示:使用四位数作为年份参数,以防止不必要的结果。例如,“07”可能意味着“1907”或“2007”。四位数年份可防止混淆。

  • 如果year介于0(零)和1899(含)之间,Excel会将该值与1900相加以计算年份。例如,DATE(108,1,2)返回January 2,2008(1900+108)。
  • 如果year介于1900和9999(含)之间,Excel将使用该值作为年份。例如,DATE(2008,1,2)返回2008年1月2日。
  • 如果year小于0或者大于等于10000,Excel将返回#NUM!误差值。

你的年份是201,所以它福尔斯属于第一类--加上1900,给予一个值2101。

相关问题