在 Excel 中嵌套 DATEDIF 和 IF 语句

Nesting DATEDIF and IF Statements in Excel

我正在尝试创建一个 Excel 公式,该公式将以天、周、月或年为单位显示某人的年龄,具体取决于他们在测试时的年龄。澄清...

为此我尝试了几个函数,都使用了 DATEDIF 函数。对于每个,我都返回了#NAME?错误。请看下面

:

\\\\\\\\\\\\

=IFS((E600-F600)<7,DATEDIF(F600,E600,”d”)&” d/o”,AND((E600-F600)>7,(E600-F600) <60),(DATEDIF(F600,E600,”d”)/7)&” w/o”,AND((E600-F600)>60,(E600-F600)<730),DATEDIF(F600, E600,”m”)&” m/o”,(E600-F600)>730,DATEDIF(F600,E600,”y”)&” y/o”)

\\\\\\\\\\\\

=IFS(DATEDIF(F600,E600,”d”)<=6,DATEDIF(F600,E600,”d”)&” d/o”,AND(DATEDIF(F600,E600,” d”)<=59,DATEDIF(F600,E600,”d”)>=7),DATEDIF(F600,E600,”d”)/7&”w/o”,AND(DATEDIF(F600,E600, ”d”)>=60,DATEDIF(F600,E600,”m”)<=24),DATEDIF(F600,E600,”m”)&” m/o”,DATEDIF(F600,E600,”m ")>25,DATEDIF(F600,E600,"y")&" y/o")

\\\\\\\\\\\\

=DATEDIF(F600,E600,IFS((E600-F600)<7,”d”&” d/o”,AND((E600-F600)>7,(E600-F600)< 60),”d”/7&” w/o”,AND((E600-F600)>60,(E600-F600)<730),”m”&” m/o”,(E600- F600)>730,”y”&”y/o”))

\\\\\\\\\\\\\

如有任何帮助,我们将不胜感激!

=LOOKUP(E600-F600,{0,8,56,730},INT(DATEDIF(F600,E600,{"d","d","m","y"})/{1,7,1,1})&" "&{"d","w","m","y"}&"/o")

尽管您列出的标准仅说明“如果小于”、“如果大于”,因此不清楚某人属于哪个类别,例如 正好 7 天老应该说谎。

@Jos Woolley 的示例效果很好。如果有人将来对自己的公式进行故障排除,请在下面发布另一个解决方案。

=IF(E600 < F600 + 7, DATEDIF(F600, E600, "d") & " d/o", IF(AND(E600 >= F600 + 7, E600 <= EDATE(F600, 2)), ROUNDDOWN(DATEDIF(F600, E600, "d") / 7, 0) & " w/o", IF(AND(E600 >= EDATE(F600, 2), E600 <= EDATE(F600, 24)), DATEDIF(F600, E600, "m") & " m/o", DATEDIF(F600, E600, "y") & " y/o")))