簡體   English   中英

在 Excel 中嵌套 DATEDIF 和 IF 語句

[英]Nesting DATEDIF and IF Statements in Excel

我正在嘗試創建一個 Excel 公式,該公式將以天、周、月或年為單位顯示某人的年齡,具體取決於他們在測試時的年齡。 澄清...

  • 如果小於 7 天,請以天為單位報告年齡
  • 如果大於 7 天但小於 8 周,請報告以周為單位的年齡
  • 如果大於 8 周但小於 24 個月,請以月為單位報告年齡
  • 如果大於 24 個月,請報告年齡(以歲為單位)

我為此嘗試了幾個函數,都使用 DATEDIF function。對於每個函數,我都返回了#NAME? 錯誤。 請看下面

關鍵

  • E600 = 測試日期
  • F600 = 出生日期
  • 我使用 7 天 = 1 周,60 天 = 2 個月,730 天 = 24 個月 = 2 年,等等。
  • 注意:我還想在每個值后顯示“d/o”(天數)、“w/o”(數周數)、“m/o”(數月數)或“y/o”(數歲) ,取決於報告年齡的單位。

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

=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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM