[英]Nesting DATEDIF and IF Statements in Excel
我正在嘗試創建一個 Excel 公式,該公式將以天、周、月或年為單位顯示某人的年齡,具體取決於他們在測試時的年齡。 澄清...
我為此嘗試了幾個函數,都使用 DATEDIF function。對於每個函數,我都返回了#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")
盡管您列出的標准 state 只有“如果小於”、“如果大於”,因此不清楚例如恰好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")))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.