Wie kann man mehr als zwei IF ISNUMBER SEARCH-Funktionen in einer einzelnen Zellformel verschachteln?

Wie kann man mehr als zwei IF ISNUMBER SEARCH-Funktionen in einer einzelnen Zellformel verschachteln?

Ich versuche, mehr als zwei ()-Anweisungen in einer Zelle zu verschachteln ISNUMBER SEARCH, und die letzten beiden funktionieren nicht. Die ersten beiden Argumente („n/a“ und „r“) funktionieren, aber das dritte und vierte liefern die falschen Daten.

Können mehr als zwei Suchvorgänge in einer Zelle durchgeführt werden? Wo ist der Fehler in meiner Formel?

=IF(ISNUMBER(SEARCH("N/A",$L2)),$E2+$AY$2,IF(ISNUMBER(SEARCH("r",$L2)),$E2+$AY$3,IF(ISNUMBER(SEARCH("rr",$L2)),$E2+$AY$4,IF(ISNUMBER(SEARCH("rrr",$L2)),$E2+$AY$5))))

Meine Tabelle

Danke im Vorraus für deine Hilfe

Antwort1

Dies liegt daran, dass die Formel ein einzelnes „r“ in den Zellwerten „rr“ und auch „rrr“ findet. Versuchen Sie, die Reihenfolge der ISNUMBER-Bedingung zu ändern. Beginnen Sie mit „rrr“, dann „rr“ und schließlich „r“. Es sollte funktionieren.

=IF(ISNUMBER(SEARCH("N/A",$L2)),$E2+$AY$2,IF(ISNUMBER(SEARCH("rrr",$L2)),$E2+$AY$5,IF(ISNUMBER(SEARCH("rr",$L2)),$E2+$AY$4,IF(ISNUMBER(SEARCH("r",$L2)),$E2+$AY$3))))

Viele Grüße, Lukas

Antwort2

Wenn wir die Formel präzisieren, sehen wir:

IF( ISNUMBER(SEARCH("N/A",$L2)),
    $E2+$AY$2,
    IF( ISNUMBER(SEARCH("r",$L2)),
        $E2+$AY$3,
        IF( ISNUMBER(SEARCH("rr",$L2)),
            $E2+$AY$4,
            IF( ISNUMBER(SEARCH("rrr",$L2)),
                $E2+$AY$5
              )
          )
      )
  )

Jetzt sehen wir:

  1. Das letzte (innerste) IF() enthält keinen ELSE-Abschnitt;
  2. Das 2. IF() gibt „True“ für jeden Wert zurück, der von mehreren inneren IF()s getestet wurde. Daher kann kein inneres IF() „True“ zurückgeben, da die äußeren IF() dies bereits getan haben.

Empfehlung: Ersetzen Sie SEARCH() durch einen einfachen Gleichungstest.

Antwort3

Mit SEARCHder ISNUMBERFunktion kann überprüft werden, ob die Zelle einen bestimmten Text enthält oder nicht.

SEARCHGibt die Position der Suchzeichenfolge zurück, sofern diese gefunden wurde. Die Formel prüft, ob die Suchzeichenfolge gefunden wurde, indem sie ISNUMBERzum Ermitteln ihrer numerischen Positionen verwendet wird.

In Ihrem Fall sucht die Formel beim Suchen von rroder nach und in und berechnet jedes Mal anstelle von oder .rrrrrrrrr$E2+$AY$3$E2+$AY$4$E2+$AY$5

Wenn L2ein anderer Text als rroder enthalten ist rrr, funktioniert die gleiche Formel.

@Muji hat den Trick gemacht, Suchzeichenfolgen in umgekehrter Reihenfolge verwendet, sodass die Formel zuerst „ rrrthen rr& rin“ findet rrrund ordnungsgemäß funktioniert.

Der Einfache IF functionkann all dies erfolgreich testen.

=IF($L$2="N/A",$E$2+$AY$2,IF($L$2="r",$E$2+$AY$3,IF($L$2="rr",$E$2+$AY$4,IF($L$2="rrr",$E$2+$AY$5))))

Passen Sie die Zellbezüge in der Formel nach Bedarf an.

verwandte Informationen