我不斷收到錯誤訊息,提示函數太多。我想要完成的是,如果特定列(週一至週日)中列出了小時數,則將日期(儲存格 Y1 中)減去正確的天數。為什麼行不通?
=IF(M3<>"", $Y$1-6, "",IF(N3<>"", $Y$1-5, "", IF(O3<>"", $Y$1-4, "",IF(P3<>"", $Y$1-3, "",IF(Q3<>"", $Y$1-2, "", IF(R3<>"", $Y$1-1, "",IF(S3<>"", $Y$1, "")))))))
答案1
嵌套的 if 將進入父 IF 的 FALSE 位置:
=IF(M3<>"", $Y$1-6,IF(N3<>"", $Y$1-5,IF(O3<>"", $Y$1-4,IF(P3<>"", $Y$1-3,IF(Q3<>"", $Y$1-2, IF(R3<>"", $Y$1-1,IF(S3<>"", $Y$1,"")))))))
但話雖如此,我們當然可以使其更加精簡:
=$Y$1-7-MATCH(TRUE,INDEX(M3:S3<>"",),0)
INDEX 將 TRUE/FALSE 陣列傳回給 MATCH。 MATCH 傳回第一個 TRUE 在該陣列中的相對位置。我們從 7 中減去它,得到從 Y1 減去的正確值