2015-03-05 10 views
6

Ich habe diese einfache Aussage in excel. Ich vergleiche zwei Daten. Wenn das Datum 2 größer oder gleich dem Datum 1 ist, zeige ich . Wenn nicht, dann zeige ich .Excel - wenn Zelle ist nicht leer, dann tun IF Anweisung

Allerdings würde Ich mag diese Funktion anwenden nur, wenn die Zellen enthält Text:

IF(NOT(ISBLANK((Q2<=R2;"1";"0"))) 

, dass mir ein Fehler gibt - was ich falsch mache?

+0

Welche Zelle sollte nicht leer sein? Q2? R2? Beide? – Taosique

+0

Beide Zellen sollten Daten enthalten. – oliverbj

Antwort

10

Ihre Formel ist falsch. Sie meinten wohl so etwas wie:

=IF(AND(NOT(ISBLANK(Q2));NOT(ISBLANK(R2)));IF(Q2<=R2;"1";"0");"") 

Ein weiteres Äquivalent:

=IF(NOT(OR(ISBLANK(Q2);ISBLANK(R2)));IF(Q2<=R2;"1";"0");"") 

Oder noch kürzer:

=IF(OR(ISBLANK(Q2);ISBLANK(R2));"";IF(Q2<=R2;"1";"0")) 

ODER AUCH SHORTER:

=IF(OR(ISBLANK(Q2);ISBLANK(R2));"";--(Q2<=R2)) 
+0

Da die Ausgabe entweder 0 oder 1 ist, könnte dies auch sein: '= (Q2 <>" ") * (R2 <>" ") * (Q2 <= R2)' Dies wird jede Aussage in Klammern als TRUE auswerten oder FALSE, die entweder 0 oder 1 entspricht. Dann multiplizieren Sie sie zusammen. Alle drei Aussagen müssen wahr sein, um eine 1 zu erhalten. – JNevill

+0

Nun ja, aber ... Ich habe einfach keine Lust, boolesche Ausdrücke zu multiplizieren ... '*' gehört zur Arithmetik. Ich denke. – Taosique

+0

Es ist ein Computer; Alles ist Arithmetik. Ich mag deine Antworten, aber sie sind wahrscheinlich besser für OP-Komfort geeignet und einfacher zu ändern. Wenn OP in der Zukunft wollte, dass es "Ja" oder "Nein" anstelle von 1 oder 0 ausgeben soll, dann sind die verschachtelten IFs der richtige Weg. – JNevill

1

Sie müssen AND-Anweisung in der Formel

= IF (AND (IF (NOT (ISBLANK (Q2)); TRUE; FALSCH); Q2 < = R2), "1", "0")

Und wenn beide Bedingungen erfüllt sind, geben Sie 1 zurück.

Sie könnten auch weitere Bedingungen in Ihrer AND-Anweisung hinzufügen.

+0

Dies könnte auf '= IF (UND (NICHT (ISBLANK (Q2)); Q2 <= R2);" 1 ";" 0 ")' verkürzt werden. '= IF (boolean; TRUE; FALSE)' ist äquivalent zu '= boolean'. Außerdem gibt Ihre Variante ** immer ** einen Wert zurück, auch wenn eine oder beide Zellen leer sind. – Taosique

Verwandte Themen