2096697

Sortierproblem von Excel-Hyperlinks gelöst

31.08.2015 | 09:31 Uhr |

Hyperlinks zwischen verschiedenen Excel-Tabellenblättern werden nach dem Umsortieren ein Problem. Hier ist die Lösung.

In Excel lassen sich Hyperlinks nutzen, um auf eine beliebige andere Zelle zu springen, was insbesondere bei mehreren Tabellenblättern sinnvoll ist. Ein bekanntes Problem ist dabei jedoch, dass die Sprungziele der Links nicht aktualisiert werden, wenn mit der Sortierfunktion das Zielarbeitsblatt umsortiert wird.

Die von Microsoft vorgeschlagene „Lösung“, die Links nach einem Sortiervorgang manuell zu korrigieren, ist natürlich wenig befriedigend. PC-WELT-Leser Stephan Hissbach hat uns eine bessere Lösung geschickt.

So geht’s: Nehmen wir an, dass in „Tabelle1“ eine Telefonliste mit Namen steht. In „Tabelle2“ sind dieselben Namen vorhanden. Nun soll darin für jeden Namen ein Link auf den entsprechenden Namen in „Tabelle1“ eingefügt werden. Die einfachste Lösung ist, einen Hyperlink per rechter Maustaste einzufügen, beispielsweise für den Link auf „Anna“ den Zellbezug „Tabelle1!A2“ und so weiter.

Die Zellbezüge werden beim Einfügen, Löschen und Verschieben von Zeilen in „Tabelle1“" aktualisiert, nicht aber beim Sortieren. Sortiert man „Tabelle1“ beispielsweise nach den Telefonnummern um, führt der Hyperlink von „Anna“ jetzt auf „Paula“, die nun in Zelle A2 steht.

Die Lösung ist, dass die Link-Ziele in derselben Spalte stehen und keine doppelten Werte vorkommen. In unserem Beispiel geht man wie folgt vor: Wir fügen in „Tabelle2“ ganz links eine neue leere Spalte ein. In Zelle A2 wird folgende Formel verwendet:

 =HYPERLINK("#"&ADRESSE(VERGLEICH(B2;Tabelle1!A:A;0);1;1;1;"Tabelle1");B2)

Anschließend wird diese Formel in die übrigen darunterliegenden Zellen kopiert. Dazu platzieren Sie den Mauszeiger auf die rechte untere Ecke der Zelle B2, so dass er sich in ein Pluszeichen verwandelt. Dann ziehen Sie den Cursor bei gedrückter linker Maustaste herunter.

Im Mittelpunkt steht dabei die Formel

VERGLEICH(B2;Tabelle1!A:A;0)

Sie sucht in „Tabelle1“ die ganze Spalte A nach einer Zelle ab, die denselben Inhalt wie B2 hat, und gibt die Nummer der Zeile zurück (also im Beispiel die 2). Der Parameter 0 erzwingt dabei eine genaue Übereinstimmung, ohne Berücksichtigung der Groß/Klein-Schreibung. Ist das Link-Ziel nicht in Spalte A, muss der Buchstabe „A“ entsprechend ersetzt werden.

Mit einer zusätzlichen Hilfsspalte (links) und der Formel im Funktionsfeld funktionieren die Bezüge zwischen den Tabellenblättern auch nach dem Umsortieren einer Tabelle richtig.
Vergrößern Mit einer zusätzlichen Hilfsspalte (links) und der Formel im Funktionsfeld funktionieren die Bezüge zwischen den Tabellenblättern auch nach dem Umsortieren einer Tabelle richtig.

Die ADRESSE-Funktion nimmt als ersten Parameter die von „VERGLEICH“ berechnete Zeilennummer. Der zweite Parameter „1“ steht für die erste Spalte, also A. Wenn das Link-Ziel nicht in Spalte A ist, muss hier eine entsprechend größere Zahl stehen. Mit den beiden folgenden Konstanten und dem Tabellenblatt-Namen „Tabelle1“ entsteht daraus der String „Tabelle1!$B$1“.

Die HYPERLINK-Funktion benutzt den von ADRESSE berechneten String als Link-Ziel. Das vorangestellte Hash-Zeichen # weist Excel an, das Tabellenblatt in der eigenen Datei zu suchen. Im Fall von einer externen Datei muss stattdessen der gesamte Dateipfad stehen, ferner müssen dann um den Adress-String eckige Klammern hinzugefügt werden. Der letzte Parameter ist der angezeigte Name, also der Inhalt von Zelle B2.

Lesetipp: 10 Tricks für schnelleres Arbeiten mit Microsoft Excel

0 Kommentare zu diesem Artikel
2096697