Excel中正确的日期格式

Excel中正确的日期格式,excel,excel-formula,Excel,Excel Formula,我的工作表名为Correlation\u Process,其中包含生日和年龄字段 我想做的是根据出生日期得到年龄我已经用excel公式根据出生日期得到了年龄。但有些行返回类似于#值的错误 下面是我的excel公式来获取年龄:=DATEDIF(A:A,NOW(),“y”) 这是我的日期格式(月/日/年),我没有得到图片中显示的错误,这是#值当某些行显示预期输出时 有人能帮忙吗 =DATEDIF(A:A,NOW(),"y") 输入单元格B2的公式应为: =DATEDIF(A2, NOW(), "y

我的工作表名为
Correlation\u Process
,其中包含
生日
年龄
字段

我想做的是根据出生日期得到年龄我已经用excel公式根据出生日期得到了年龄。但有些行返回类似于#值的错误

下面是我的excel公式来获取年龄:=DATEDIF(A:A,NOW(),“y”) 这是我的日期格式(月/日/年),我没有得到图片中显示的错误,这是
#值当某些行显示预期输出时
有人能帮忙吗

=DATEDIF(A:A,NOW(),"y")

输入单元格
B2
的公式应为:

=DATEDIF(A2, NOW(), "y")
将此公式复制到
B
列中,您应该拥有所需的数据

DATEDIF
的一般公式为

DATEDIF(first_date, second_date, UNIT)

输入单元格B2的公式应为:

=DATEDIF(A2, NOW(), "y")
将此公式复制到
B
列中,您应该拥有所需的数据

DATEDIF
的一般公式为

DATEDIF(first_date, second_date, UNIT)

你为什么不试试这样的东西:

=TEXT(TODAY();"yyyy")-TEXT(A2;"yyyy")

看看它是否有效你为什么不试试这样的东西:

=TEXT(TODAY();"yyyy")-TEXT(A2;"yyyy")

看看它是否有效好让我们回到最基本的和确定日期的方法。我们将手动拆分日期,然后重新组合

首先将日期拆分为日、月和年

Day
=MID(A2,4,2)
Month
=Left(A2,2)
Year
=Right(A2,4)
现在,我们希望将这些值合并到日期(年、月、日)函数中

=DATE(Right(A2,4),Left(A2,2),MID(A2,4,2))
现在,您需要在DATEDIF公式中使用它

=DATEDIF(DATE(Right(A2,4),Left(A2,2),MID(A2,4,2)),NOW(),"y")

这假设您的日期位于从第2行开始的A列中。将上述公式放在B2中并复制下来。这一切都是基于你的日期是文本日期而不是连续日期。

好吧,让我们回到基础和确定日期的方法。我们将手动拆分日期,然后重新组合

首先将日期拆分为日、月和年

Day
=MID(A2,4,2)
Month
=Left(A2,2)
Year
=Right(A2,4)
现在,我们希望将这些值合并到日期(年、月、日)函数中

=DATE(Right(A2,4),Left(A2,2),MID(A2,4,2))
现在,您需要在DATEDIF公式中使用它

=DATEDIF(DATE(Right(A2,4),Left(A2,2),MID(A2,4,2)),NOW(),"y")

这假设您的日期位于从第2行开始的A列中。将上述公式放在B2中并复制下来。这一切都是基于你的日期是文本而不是序列日期。

这段代码可以工作,但仍然显示一些#值!我不知道是什么问题。它是在我的excel中还是仅在我的代码中?请仔细检查错误的日期值。有没有恶意的空格?这些是日期类型错误的单元格吗?我手动检查了所有行,如果给定数据中有空格,也没有空格,我还检查了CTRL+1中数据的日期类型,我选择了如图所示的给定数据中的日期格式……您也检查了错误?错误总是有原因的;让我们试着找出原因。我再次检查了它,我们看到我们的格式是mm/dd/yy,当前日期NOW()的函数是dd/mm/yy。如何将NOW()的格式转换为与mm/dd/yy相同的格式,以便我们可以制定一个公式来计算年龄这段代码正常工作,但仍然显示一些#值!我不知道是什么问题。它是在我的excel中还是仅在我的代码中?请仔细检查错误的日期值。有没有恶意的空格?这些是日期类型错误的单元格吗?我手动检查了所有行,如果给定数据中有空格,也没有空格,我还检查了CTRL+1中数据的日期类型,我选择了如图所示的给定数据中的日期格式……您也检查了错误?错误总是有原因的;让我们试着找出原因。我再次检查了它,我们看到我们的格式是mm/dd/yy,当前日期NOW()的函数是dd/mm/yy。如何将NOW()的格式转换为与mm/dd/yy相同的格式,以便我们可以制定一个公式来获取ageTry
=ISTEXT(A3)
,其中A3是获取错误的日期的单元格。您可能将文本日期值与格式化的excel序列日期混在一起。我想知道使用的是什么数据格式,因为错误似乎只发生在中间数字大于12的地方。正如Tim Biegeleisen指出的,您应该使用
=DATEDIF(A2,NOW(),“y”)
,如果日期的格式正确,这应该会起作用。否则,使用
=DATEDIF(值(A2),NOW(),“y”)
也可以转换格式并计算年龄。请尝试
=ISTEXT(A3)
其中A3是错误发生日期的单元格。您可能将文本日期值与格式化的excel序列日期混在一起。我想知道使用的是什么数据格式,因为错误似乎只发生在中间数字大于12的地方。正如Tim Biegeleisen指出的,您应该使用
=DATEDIF(A2,NOW(),“y”)
,如果日期的格式正确,这应该会起作用。否则,使用
=DATEDIF(值(A2),NOW(),“y”)
也可以转换格式并计算年龄。