Die Validierung benutzerdefinierter Daten schlägt fehl, obwohl die Formelauswertung „FALSE“ ergibt.

Die Validierung benutzerdefinierter Daten schlägt fehl, obwohl die Formelauswertung „FALSE“ ergibt.

Bevor ich meine Frage stelle, möchte ich mich für die Formulierung des Titels entschuldigen. Ich konnte keine allgemeine Formulierung finden, die zu meinem Problem passt.

Ich habe eine Tabelle, die in Table.JPG angegeben ist.Tabelle.JPG.

Ich habe eine benutzerdefinierte Datenüberprüfung für meine letzten beiden Spalten, die in DV1.JPG angezeigt werdenBild 1.JPGund DV2.JPGBild 2.JPG.

Die Formel in der ZelleStufe 3Ist =AND(NOT(ISBLANK(K3)),ISNUMBER(L3),LEFT(CELL("format",L3),1)="D",L3>=K3, YEARFRAC(K3, L3)>=0.5 )

Die Formel inM4Ist =AND(INT(M4)=M4, NOT(ISBLANK(L4)))

Beide Formeln schlagen fehl und wie folgt: Die Datenüberprüfung sollte mir nicht erlauben, diesen Benutzereintrag einzugeben, aber das ist nicht der Fall. Das Bild der Formelauswertung wird in FormEval.JPG angezeigt.FormEval.JPG.

Nun zum Motiv des Problems: Ich versuche, sicherzustellen, dass ein Erneuerungsdatum,SpalteMkann nur eingegeben werden, wenn ein Startdatum für ein Mitglied existiert und dieses Erneuerungsdatum muss mindestens 6 Monate nach dem Startdatum liegen und schließlich muss es ein Datum sein, das nach dem Startdatum liegt, da dieJAHRFRACFunktion funktioniert.

Im Anschluss an die Erneuerungs-ID,SpalteMmuss vom Benutzer festgelegt werden und diese Erneuerungs-ID muss eine Ganzzahl sein und dieser Wert kann nur eingegeben werden, wenn ein Erneuerungsdatum festgelegt ist.

Basierend auf den Recherchen, die ich bisher durchgeführt habe. Die Formel sieht gut aus, aber warum schlägt sie in einigen Fällen fehl (z. B. wenn die abhängige Spalte leer ist)?

Antwort1

Für Spalte L in L3 verwenden Sie:

=AND(COUNTA($K3),$L3>=EDATE($K3,6))

Für Spalte M in M3 verwenden Sie:

=AND($M3-INT($M3)=0,COUNTA($L3))

Beim Testen eines leeren Datums konvertiert Excel 0 in 01-01-1900, weshalb die Validierung mit isblank() nicht funktioniert.
Und Edate fügt dem Datum 6 Monate hinzu.

CountA wird als True ausgewertet, wenn die Zelle nicht leer ist

verwandte Informationen