Vermeiden langer verschachtelter IFs in Excel-Funktionen

Vermeiden langer verschachtelter IFs in Excel-Funktionen

Ich habe eine Formel, die auf zwei verschiedenen Eingaben basiert: Die erste ist ein ganzzahliger Wert zwischen 0 und 5 und die zweite ist die gerundete Summe der Werte in einem Array. Ich möchte, dass Benutzer für beide Werte eingeben und dann eine Formel die gewünschte Ausgabe bestimmt. Das Problem ist, dass ich derzeit 6 Kombinationen für die erste Variable habe und jede davon zu einer Änderung der Verwendung der zweiten Variable führt. Daher bräuchte ich eine sehr große Anzahl von IF-Anweisungen, damit dies funktioniert.

Ich habe an anderer Stelle Tabellen eingerichtet, eine für jeden Wert von 0 bis 5, die die richtigen Werte ermitteln. Meine Frage ist, gibt es eine Möglichkeit, Excel dazu zu bringen, Folgendes zu tun?

  1. Überprüfen Sie, ob in beispielsweise Zelle 0 bis 5 eingegeben wurde A2.

  2. Gehen Sie zu dem Blatt mit dieser Nummer.

  3. INDEX(...,MATCH())aus der Tabelle in diesem Blatt, basierend sowohl auf der Anzahl der im Array platzierten Werte als auch darauf, um welche Werte es sich handelt.

Ich frage mich, ob es nicht sinnvoller wäre, die Tabellen ganz zu vermeiden und stattdessen direkt zu rechnen, aber ich sehe keine Möglichkeit, dies zu tun, ohne dass eine riesige Menge verschachtelter IFs entsteht. Sagen Sie mir Bescheid, wenn hier etwas unklar ist, und ich werde versuchen, es so gut wie möglich zu erklären.

Antwort1

Wenn ich das richtig verstehe, müssen Sie eine Formel erstellen, die eine Index/Match-Operation für Tabellen ausführt, die sich in verschiedenen Arbeitsblättern befinden, wobei der Benutzer auswählt, welches Arbeitsblatt durchsucht werden soll

Klingt, als ob Sie CHOOSE und INDIRECT verwenden möchten, um den Pfad zum entsprechenden Arbeitsblatt basierend auf dem in A2 eingetragenen Wert dynamisch zu erstellen.

Beispielsweise würde das Folgende Match ausführen und dabei den in B2 gefundenen Wert mit den Zellen in A1:A3 auf dem entsprechenden Arbeitsblatt vergleichen, wobei das Arbeitsblatt auf dem Wert (1,2,3) basiert, den der Benutzer in A2 eingegeben hat.

=MATCH(A2,(INDIRECT(CHOOSE(B2,"Sheet1","Sheet2","Sheet3") & "!" & "A1:A3")),0)

Mit CHOOSE wird hier eine Zelle (A2) beobachtet und anhand des dort eingetragenen Wertes das Objekt mit dem entsprechenden Index, in diesem Fall ein Arbeitsmappenname, ausgegeben.

Mit INDIRECT können Sie im Handumdrehen einen Zellpfad erstellen und so den richtigen Arbeitsblattnamen in den Pfad einbetten, der von der SUM-Funktion verwendet werden soll.

Wenn Ihre Tabellen benannte Bereiche sind oder unterschiedliche Größen aufweisen, können Sie natürlich jederzeit das statische „A1:A3“ im obigen Beispiel in ein anderes CHOOSE ändern, das basierend auf der Benutzereingabe in einer anderen Zelle den richtigen Teil des Pfads ausgibt.

Verzeihen Sie mir, wenn das überhaupt nichts mit dem zu tun hat, was Sie versuchen – ich bin nicht sicher, ob ich Schritt 3 in Ihrer Liste verstehe …

verwandte Informationen