IExcel vergleicht Datum nicht richtig

487
SalemTheCat

Ich habe eine Tabelle mit zwei Daten im folgenden Format:

  • C1 Sep 21, 2017 10:22 AM
  • C2 Sep 28, 2017 10:09 AM

Wenn ich die folgende if-Anweisung gegen sie ausführe ...

=IF(M4<L4, "Fail", "Pass")

... dann kehrt die Formel zurück Pass. Wenn die beiden Daten jedoch in unterschiedlichen Monaten liegen, schlägt die Formel fehl.

Zum Beispiel,

  • C1 [Sep 26, 2017 03:14 PM]
  • C2 [Oct 2, 2017 03:39 PM]
  • kehrt zurück Fail.

Der Wert von C1 ist niedriger als C2, die Formel schlägt jedoch immer noch fehl.

Es macht keinen Unterschied zum Rückgabewert, wenn die Zelle als Text oder Datum formatiert ist. und die =DateValue()Funktion funktioniert nicht, sie kehrt zurück#VALUE

Irgendwelche Ideen?

0
Im Wesentlichen möchte ich die Werte jeder Spalte vergleichen. c1 ist der Zeitpunkt, zu dem etwas behoben wurde, und c2 ist der Zeitpunkt, zu dem es fixiert werden muss. Wenn die festgelegte Zeit nach der Fälligkeitszeit liegt, muss die Formel als fehlgeschlagen reagieren, andernfalls wird sie bestanden SalemTheCat vor 5 Jahren 0
Ich denke, Ihr letzter Punkt, dass `DateValue` nicht funktioniert, ist das Problem. Wenn Excel den Text nicht in das als Datum erkannte Datum einordnen kann, werden Textvergleiche wahrscheinlich durchgeführt, und daher ist" O "<" S ". Versuchen Sie, die Daten so zu formatieren, dass DateValue analysiert wird. cjb110 vor 5 Jahren 0
@SalemTheCat also gehe ich davon aus, dass C1 für Spalte 1 und C2 für Spalte 2 steht? Die Zellen, auf die Sie sich beziehen, sind also eigentlich M4 und L4, richtig? Albin vor 5 Jahren 0
@SalemTheCat Sie sollten nicht nur Ihre Angaben in den Kommentar schreiben, sondern auch Ihre Frage bearbeiten, damit sie einfacher zu lesen ist. Ich habe es diesmal für dich gemacht. Albin vor 5 Jahren 0
@SalemTheCat Ich habe meine Antwort aktualisiert, sie sollte jetzt funktionieren, zumindest funktioniert sie in meiner Excel-Version. Albin vor 5 Jahren 0

2 Antworten auf die Frage

2
Albin

In Ihrer Formel vergleichen Sie nicht C1 und C2, sondern M4 und L4. Wenn Sie C1 und C2 direkt vergleichen möchten, sollten Sie diese Werte auch in Ihrer Formel verwenden.

Diese Formel zum Beispiel

=IF(C1<C2, "Fail", "Pass") 

zeigt "Fail" an, wenn das Datum / die Uhrzeit in Zelle C1 kleiner ist als das Datum in Zelle C2. Wenn das Datum in C1 größer oder gleich ist, wird "Pass" angezeigt. Die Zellen C1 und C2 sollten als Datum und nicht als Text formatiert sein. In beiden Zellen muss es sich um ein Datum oder ein benutzerdefiniertes Format handeln (in dem die von Excel angebotenen Zeit- und Datumsvariablen verwendet werden, z. B. JJJJ, MMM, DD usw.). Wenn Sie das Textformat verwenden, vergleicht die "if-Klausel" nicht die Zeit / das Datum, sondern die Zeichenfolgen. Dadurch erhalten Sie "lustige" Ergebnisse!

Die Funktion DateValue () funktioniert nur bei Zellen mit Textformat und nur innerhalb eines bestimmten Bereichs funktioniert sie nicht mit Ihrer Notation. Es funktioniert mit 31.07.2018 20:36aber nicht mit Jul 31, 2018 08:36 PM.

2
PeterH

Wenn Anweisungen folgendermaßen funktionieren:

=IF( Logical Test, Value if test is TRUE, value if test is FALSE) 

So können Sie verwenden:

=IF(C2<C1,"Pass",Fail") 

Ich habe nicht zu 100% verstehe Ihre Frage, so dass Sie tauschen müssen, um <für>

Logische Operatoren, die Sie verwenden können:

  • >, Größer als
  • < Weniger als
  • = Gleich
  • <= Weniger als oder gleich
  • >= größer als oder gleich wie
  • <> ist nicht gleich