数式の評価が「FALSE」であっても、カスタム データ検証は失敗します。

数式の評価が「FALSE」であっても、カスタム データ検証は失敗します。

質問する前に、タイトルの文言についてお詫びします。私の問題に当てはまる一般的な文言を見つけることができませんでした。

Table.JPGに示されている表があります表.JPG

DV1.JPGに示されている最後の2つの列にはカスタムデータ検証があります。DV1.JPGおよび DV2.JPGDV2.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 に示されています。フォーム評価.JPG

それで、問題の動機は、更新日を確認しようとしていることです。カラムメンバーの開始日が存在する場合にのみ入力でき、この更新日は開始日から少なくとも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と評価されます。

関連情報