Ein allgemeines Ärgernis für viele Excel-Anwender ist im Zusammenhang mit der Funktion SVERWEIS, dass bei der Suche in der Matrix nur nach rechts, nicht aber nach links gegangen werden kann.
Bekannt ist aber, dass das Auffinden des gesuchten Wertes stattdessen z.B. mit der Funktion INDEX vorgenommen werden kann.
Dennoch gibt es wohl sehr viele Nutzer, die unbedingt mit SVERWEIS arbeiten möchten. Der Beitrag zeigt eine bekannte und eine neue Lösung.
Die Excel-Funktion INDIREKT habe ich schon in vielen Beiträgen eingesetzt, sie aber bisher nicht erläutert.
INDIREKT ist im Funktionskatalog von Excel unter der Kategorie „Nachschlagen und Verweisen“ zu finden.
Die Funktion kann nützlich sein, wenn in Dateien mit vielen Arbeitsblättern dynamisch auf bestimmte Zellen oder Zellbereiche in den Blättern zugegriffen werden muss.
Doch Achtung! INDIREKT ist eine volatile Funktion. Peter Haserodt von Online-Excel schrieb einmal dazu [1]:
Indirekt sollte nur sehr sparsam angewendet werden und nicht bei rechenintensiven Formeln. Diese Funktion hat nämlich den großen Nachteil, dass sie volatil ist, d.h. sie wird immer neu berechnet, nach jeder Eingabe. Selbst dann, wenn sie in einer anderen geöffneten Arbeitsmappe steht!
Wichtig zu wissen ist auch, dass mit INDIREKT nur auf geöffnete Dateien zugegriffen werden kann.
Was schreibt die Excel-Hilfe?
Hier heißt es, INDIREKT „Gibt den Bezug eines Textwertes zurück. Bezüge werden sofort ausgewertet, so dass die zu ihnen gehörenden Werte angezeigt werden.“
Die Syntax lautet:
=INDIREKT(Bezug;[A1])
Bezug ist eine erforderliches Argument, möglich ist der Bezug auf eine Zelle, die einen Bezug in der A1-Schreibweise, einen Bezug in der Z1S1-Schreibweise, einen definierten Namen als Bezug oder einen Zellbezug als Zeichenfolge enthält.
Das Argument A1 kann optional eingesetzt werden. Es ist ein Wahrheitswert, der angibt, welcher Art der Bezug in der Zelle ist.
Ist A1 gleich WAHR, liegt die A1-Schreibweise vor.
Ist A1 gleich FALSCH, liegt die Z1S1-Schreibweise vor.
2. Beispiele
Beispiel 1: Wert einer Zelle im gleichen Arbeitsblatt abfragen
Die nachfolgende Tabelle (Arbeitsblatt Tabelle2) zeigt 12 Monate und Umsatzgrößen.
Mit INDIREKT willst du den Umsatz des Monats, der in Zelle F2 angegeben ist, in Zelle F4 zeigen. Du schreibst in Tabelle2 in F4 die Formel
=INDIREKT(„C“&$F$2+2)
Warum das „+2“? Weil die Monate erst in Zeile 3 beginnen. Der dritte Monat befindet sich in Zeile 5.
Änderst du den Eintrag in F2, ändert sich das Ergebnis in F4 entsprechend.
Beispiel 2: Wert einer Zelle in einem anderen Arbeitsblatt abfragen
Angenommen, die Tabelle steht im Arbeitsblatt „Tabelle2“, das Ergebnis soll im Blatt „Tabelle1“ gezeigt werden.
Dann schreibst du in F4 die Formel:
=INDIREKT(„Tabelle2!C“&Tabelle1!F2+2)
und erhältst den gesuchten Umsatz.
Beispiel 3: Summen von Werten abfragen
In diesem Beispiel suchst du die Summe über mehrere Monate des Jahres, z.B. von März (3) bis Mai (5). Die Tabelle befindet sich wieder in „Tabelle2“, das Ergebnis soll ebenfalls in „Tabelle1“ gezeigt werden.
Wenn dir die Zelladressen der jeweiligen Monate bekannt sind, kannst du auch so vorgehen:
Schreibe dazu in F4 die Formel:
=SUMME(INDIREKT($F$2))
Beispiel 4: Wert aus einem namentlichen Bereich abfragen
Für dieses Beispiel benennst du den Bereich B3:B14 mit „Monat“ und den Bereich C3:C14 mit „Umsatz“.
Du willst in Tabelle2 in F5 z.B. den Umsatz des Monats März sehen.
Schreibe:
=INDEX(Umsatz;INDIREKT(„F2“);1)
Die Formel macht allerdings nicht viel Sinn, zeigt aber die Funktionsweise von INDIREKT.
Einfacher wäre es so:
=INDEX(Umsatz;F2;1)
Beispiel 5: Summe von Werten eines namentlichen Bereiches abfragen
Willst du nicht nur den Umsatz eines Monats sehen, sondern z.B. die Summe von Mai bis August, kannst du diese Formel verwenden (in F2 steht eine 5, in F3 steht eine 8).
In der A1-Schreibweise suchst du z.B. den Umsatz, der in Zelle C10 steht.
Schreibe in Zelle F2 somit „C10“ hinein.
Der Umsatz soll in Zelle F4 angezeigt werden. Schreibe dort diese Formel:
=INDIREKT(F2;WAHR)
Das Argument WAHR deutet auf die A1-Schreibweise hin, als „C10“.
Mit der Formel wird nun indirekt auf den Inhalt der Zelle C10 zugegriffen. In C10 wird der Wert 15.464 gefunden.
Mit der Z1S1-Schreibweise werden relative Bezüge hergestellt. Schreibe in F4 diese Formel:
=INDIREKT(„Z10S3“;FALSCH)
FALSCH weist auf die Z1S1-Schreibweise hin. Mit der Formel wird nun auf den Inhalt der Zelle in Zeile (Z) und Spalte (S3) zugegriffen. Dort steht, natürlich, der Wert .
Ebenso könntest du die Zelle F2 statt mit „C.“ jetzt mit „ZS3“ füllen.
Angeregt durch die Anfrage eines Lesers, die ich zunächst nicht beantworten konnte, ist dieser Beitrag entstanden.
In der Anfrage ging es darum, Flugzeiten zu addieren, wenn zwei Bedingungen in einer anderen Spalte eingehalten werden. Das Problem war, dass die Spalte mit den Flugzeiten auch nichtnumerische Werte enthalten sollten, z.B. in Klammern gesetzt oder mit Buchstaben versehen.
(4:00)
4:00 xz
Der Leser wollte das Problem mit der Funktion SUMMENPRODUKT lösen, hatte aber keinen Erfolg damit.