2012-10-14 46 views
0

我的Excel有点问题。我只是做一个功能,检查一个人是否比19岁更老。如何解决某人是否年龄大于19的问题

我检查了一个在线功能,但它不工作的方式。

首先我有一个不寻常的格式的日期14 10 2012年,我用=SUBSTITUTE(J2, " ", ".") 获得二零一二年十月十四日

后,我用一个公式

=IF(P2<DATE(DAY(NOW()),MONTH(NOW()),YEAR(NOW())),"Older than 
19","Too young") 

但没有母校我做什么它无法正常工作。如果数字越大或越小,它显示相同的决心

为什么=DATE(DAY(TODAY()),MONTH(TODAY()),YEAR(TODAY()))告诉我3.4.1920?

+1

是格式化日期的问题?或关于使用DATEDIF()计算年龄? –

+1

如果你可以将你的“日期”转换成有效的格式,那么你可以使用DATEDIF,比如'= IF(DATEDIF(A1,TODAY(),“Y”)> = 19, “老年人”,“年轻人”)' –

回答

0
=IF(YEAR(NOW())-RIGHT(J2,4)>55,"starejsi",IF(YEAR(NOW())-RIGHT(J2,4)=55, 
IF(MONTH(NOW())-LEFT(RIGHT(J2,7),2)>0,"older", 
IF(MONTH(NOW())-LEFT(RIGHT(J2,7),2)=0, 
IF(DAY(NOW())-LEFT(J2,FIND(" ",J2,1))>=0,"older","younger"),"younger")),"younger")) 

最后我已经做了。这是代码

+0

那么“starejsi”=“老”?尝试DATEDIF像'= IF(DATEDIF(SUBSTITUTE(J2,“”,“。”),TODAY(),“y”)> = 55,“更老”,“更年轻”) - 我假设。是您所在地区的必需日期分隔符 –

1

我认为你可能有错误的方式参数。如果我把:

= DATE(DAY(TODAY()),MONTH(TODAY()),YEAR(TODAY()))

到Excel中,我也得到1920年3月4日。

但是,如果我输入:

= DATE(YEAR(TODAY()),MONTH(TODAY()),日(TODAY()))

我得到2012年10月14日 - 今天的日期!

======

正如一个后续,我怀疑你正试图比较今天的日期与出生日期来确定一个人的年龄,以及他们是否年满19岁?

试试这个:

  1. 输入上面的公式到单元格(隐藏的,如果你喜欢) - 让叫它A1
  2. 拥有人的出生日期输入到另一个单元格 - 可以说,A2
  3. 将公式= A1-A2输入到第三个单元格(A3)中。这给了你几天的年龄。
  4. 另一个公式 - 这个时间= A3/365.25(也就是说,他们的年龄天数除以一年中的天数)。比方说,这是A4
  5. 它是那么简单的IF语句= IF(A4> 19 “超过19”, “太年轻”)

希望帮助:-)

+0

这现在工作正常:)谢谢我现在只有nead比较这与我的日期,如果日期更小或更大 – WildWorld

+0

它仍然显示真实应该完美。可悲的是,如果我使用今天和我的日期,它会产生错误。 #value如果我今天使用2x,那很好,但是它当然是0。如果我使用2个日期,它仍然是#value – WildWorld

+0

你能解释一下你正在尝试做什么,我会看看我能否帮助你。在澳大利亚时区,所以临近睡觉时间,但如果你很快找到我,我可能会有机会。如果空间不允许,请给我发电子邮件到[email protected] – Neil

相关问题