簡體   English   中英

Excel 日期計算和比較未返回預期結果

[英]Excel Date calculation and comparison not returning expected result

項目計划在 Excel 中。 目標是修復狀態字段

我知道這可能不是最有效的方法。我正在自動化項目任務的“狀態”。 該函數包含嵌套的 IF 和 AND 組件。

O7=相位; 有 4 個階段,當項目從准時到有風險再到加班時,每個階段都會發生變化

H7是Planned End Date(Excel中的日期字段),與TODAY()比較,看值是否在函數中設置的參數范圍內。

這是函數:

=
IF(AND(O7=1,TODAY()-H7<=0),"On Time",
IF(AND(O7=1,0<TODAY()-H7<6),"At Risk",
IF(AND(O7=1,TODAY()-H7>5),"Overdue",
IF(AND(O7=2,TODAY()-H7<=0),"On Time",
IF(AND(O7=2,0<TODAY()-H7<8),"At Risk",
IF(AND(O7=2,TODAY()-H7>7),"Overdue",
IF(AND(O7=3,TODAY()-H7<=0),"On Time",
IF(AND(O7=3,0<TODAY()-H7<11),"At Risk",
IF(AND(O7=3,TODAY()-H7>10),"Overdue",
IF(AND(O7=4,TODAY()-H7<=0),"On Time",
IF(AND(O7=4,0<TODAY()-H7<21),"At Risk",
IF(AND(O7=4,TODAY()-H7>20),"Overdue"))))))))))))

這是問題所在:

IF(AND(O7=1,0<TODAY()-H7<6),"At Risk",

當我確定 TODAY()-H7=4 時,我無法讓我的單元格顯示“有風險”。 我是否遺漏了一些阻止這種中間情況工作的語法相關內容?

從字面上看,任何指導,無論是遵循此模型還是引入新方法,都會有所幫助!

我不知道如何開始,你似乎對 if-else 一無所知。 當 if 條件為 false 時,您不必再次檢查它,例如:

IF(AND(O7=1,TODAY()-H7<=0),"On Time",
IF(AND(O7=1,0<TODAY()-H7<6),"At Risk",

在第二行中,差異已經> 0,如果不是,則已經“准時”了。 你不必專門檢查它。 立即的解決方案是使它(TODAY()-H7)<6 但是您也可以對公式進行更多的重新格式化。

IF(O7=1,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<6,"At Risk","Over Due"),
IF(O7=2,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<8,"At Risk","Over Due"),
IF(O7=3,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<11,"At Risk","Over Due"),
IF(O7=4,IF((TODAY()-H7)<=0,"On Time",(TODAY()-H7)<21,"At Risk","Over Due"),"N/A"))))

您甚至可以使用 O7 值 (1,2,3,4) 存儲時間 (6,8,11,21),以便您可以使用它來制作更短的公式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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