
因此,在我提出問題之前,我對標題措辭表示歉意。我無法找到適合我的問題的通用措辭。
我對 DV1.JPG 中顯示的最後兩列進行了自訂資料驗證DV1.JPG和 DV2.JPG。
單元格中的公式L3是
=AND(NOT(ISBLANK(K3)),ISNUMBER(L3),LEFT(CELL("format",L3),1)="D",L3>=K3, YEARFRAC(K3, L3)>=0.5 )
公式在M4是
=AND(INT(M4)=M4, NOT(ISBLANK(L4)))
兩個公式都失敗,如下所示,資料驗證不應允許我輸入該使用者條目,但情況並非如此。公式評估的影像顯示在FormEval.JPG中。
現在是問題的動機;我正在努力確保續訂日期,柱子L僅當會員存在開始日期且續約日期必須距離開始日期至少 6 個月且最後必須是大於開始日期的日期時才可輸入,具體方式如下:年壓裂功能有效。
按照上面的更新ID,柱子中號必須由使用者設定,且此更新 ID 必須是整數,並且僅當設定了更新日期時才能輸入此值。
基於我迄今為止所做的研究。該公式看起來不錯,那麼為什麼它在某些情況下會失敗(即當依賴列為空時)?
答案1
對於 L3 中的 L 列,使用:
=AND(COUNTA($K3),$L3>=EDATE($K3,6))
對於 M3 中的 M 列,使用:
=AND($M3-INT($M3)=0,COUNTA($L3))
測試空日期時,Excel 會將 0 轉換為 01-01-1900,這就是驗證無法使用 isblank() 的原因,
而 Edate 會在日期上新增 6 個月
如果非空單元格,CountA 將計算為 True