webentwicklung-frage-antwort-db.com.de

IF - ELSE IF - ELSE Struktur in Excel

Voraussetzung:

Wenn die Zeichenfolge in Zelle A1 "abc" als Teil der Zeichenfolge enthält

Dann Wert "Grün" zuweisen

Andernfalls enthält die Zeichenfolge in Zelle A1 "xyz" als Teil der Zeichenfolge

Dann Wert "Gelb" zuweisen

Else

Wert zuweisen "Rot"

Ich habe es versucht:

=IF(FIND("~",SUBSTITUTE(A1,"abc","~",1))<>"#VALUE!", "Green", IF(FIND("~",SUBSTITUTE(A1,"xyz","~",1))<>"#VALUE!", "Yellow", "Red"))

Es funktioniert, wenn zuerst IF True ist, in anderen Fällen gibt es #VALUE! als Ausgabe.

Kann nicht herausfinden, was falsch ist.

20
RazrBoy

Wenn FIND#VALUE! Zurückgibt, handelt es sich um einen Fehler und nicht um eine Zeichenfolge. Sie können FIND(...) also nicht mit "#VALUE!" Vergleichen. Sie müssen prüfen, ob FIND gibt einen Fehler mit ISERROR zurück. Auch FIND kann mit mehreren Zeichen arbeiten.

Eine vereinfachte und funktionierende Version Ihrer Formel wäre also:

=IF(ISERROR(FIND("abc",A1))=FALSE, "Green", IF(ISERROR(FIND("xyz",A1))=FALSE, "Yellow", "Red"))

Oder, um die doppelten Negationen zu entfernen:

=IF(ISERROR(FIND("abc",A1)), IF(ISERROR(FIND("xyz",A1)), "Red", "Yellow"),"Green")
34
assylias
=IF(CR<=10, "RED", if(CR<50, "YELLOW", if(CR<101, "GREEN")))

CR = ColRow (Cell) Dies ist ein Beispiel. In diesem Beispiel wird ROTES Wort in dieser Zelle angezeigt, wenn der Wert in Zelle kleiner oder gleich 10 ist. In gleicher Weise sind andere if-Bedingungen wahr, wenn first if falsch ist.

7