Suchen Spezial (1)

SVERWEIS() nach links mit Platzierung

Gegeben ist eine Liste mit 10 Mitar­beit­ern, welche die meis­ten Über­stun­den im Monat gemacht haben. In einem getren­nten Bere­ich sollen nun die drei Mitar­beit­er aus­gegeben wer­den,  welche die meis­ten Über­stun­den gemacht haben. Die Rei­hen­folge der Ursprungs-Liste soll nicht verän­dert wer­den. Das Ergeb­nis für die Top drei sollte dann so ausse­hen:

So soll das Ergebnis aussehen

So soll das Ergeb­nis ausse­hen

Dabei sind grund­sät­zlich zwei Schritte zu vol­lziehen: Zuerst muss die „Platzierung” errech­net wer­den, der Wert kommt in Spalte E. Und anschließend wird in Spalte D passend zu dem gefun­de­nen Wert der Name des Mitar­beit­ers bzw. der Mitar­bei­t­erin hinein geschrieben.

Da nur die Top drei gesucht wer­den sollen, ent­fällt die Funk­tion RANG(). Damit wird ja aus der Gesamtheit der Mitar­beit­er die Rang­folge fest­gelegt. Es müssten dann alle mit einem Rang bew­ertet wer­den und dann käme ein Fil­ter zum Ein­satz. Was bei dieser Form der Darstel­lung natür­lich dazu führen würde, dass in Spalte A:B auch gefiltert wird, was dann wiederum nicht mit der gewün­scht­en Darstel­lung des Ergeb­niss­es übere­in­stimmt. Darum find­et die Funk­tion KGRÖSSTE() hier Anwen­dung. In Spalte E wer­den mit dieser Funk­tion zuerst die drei höch­sten Werte der Über­stun­den in Spalte B berech­net. Die Formel dazu kön­nen Sie in dieser Datei nach­schauen.

Jet­zt muss eigentlich nur noch in Spalte D der passende Name einge­tra­gen wer­den. Die erste Idee wird vielfach sein: SVERWEIS() und dann nach links suchen. Aber bekan­nter­maßen geht das nicht. Aber die Funk­tion VERWEIS() kann das im gewis­sen Rah­men, denn dort wer­den das Suchkri­teri­um und der  Ergeb­nisvek­tor dur­chaus getren­nt gese­hen. Prinzip­iell geht das so: Suche den Wert x in Spalte B und gebe als Ergeb­nis den Wert der Fund-Zeile, Spalte A zurück. Das funk­tion­iert auch unter gewis­sen, definierten Bedin­gun­gen, aber Sie wer­den den­noch hier ein fehler­haftes Ergeb­nis bekom­men. Und das liegt daran, dass der Such-Bere­ich in auf­steigen­der Rei­hen­folge sortiert sein muss. Ohne Aus­nahme. Und das ist hier offen­sichtlich nicht gegeben.

Also ist es erforder­lich, einen anderen Weg zu find­en. Und der erschließt sich, wenn Sie die viel zu stark unter­schätzte Kom­bi­na­tion von VERGLEICH() und INDEX() ein­set­zen. Noch ein­mal zur Verdeut­lichung: Die drei Werte, welche in Spalte E berech­net wor­den sind, existieren auf jeden Fall exakt so in Spalte B. Ich kann also in Spalte B den Wert aus D2 suchen und werde auf jeden Fall fündig. Und dazu nutze ich dann die Excel-Funk­tion VERGLEICH():

=VERGLEICH(E2; $B$2:$B$11; 0)

„Über­set­zt” heißt das: Suche den Wert aus E2 ; im Bere­ich $B$2:$B$11 ; und beachte eine exak­te Übere­in­stim­mung. Diese Funk­tion gibt einen numerischen Wert zurück, näm­lich die Posi­tion der Fund­stelle inner­halb des angegebe­nen Bere­ichs. In diesem Fall ist es die 4, weil der Such­w­ert 21:04 an viert­er Posi­tion im benan­nten Bere­ich (die Hil­fe spricht von „Vek­tor”) gefun­den wird. Beacht­en Sie, dass die gefun­dene Zeile nicht iden­tisch ist mit der Zeilen­num­mer der Tabelle, denn der Bere­ich begin­nt hie in Zeile 2.

Als Ergeb­nis soll nun ja in Spalte A die gle­iche (rel­a­tive) Posi­tion gefun­den wer­den, also im Bere­ich A2:A11 die vierte Zeile. Das wiederum geht mit der Excel-Funk­tion INDEX(). Auch das kön­nen Sie ganz ein­fach pro­bieren, indem Sie an beliebiger Posi­tion des Tabel­len­blattes die Formel =INDEX(A2:A11; 4) eingeben. Das Ergeb­nis entspricht den Erwartun­gen. Bleibt nur noch das vere­inen der bei­den einzel­nen Funk­tio­nen zu ein­er einzi­gen Formel:

=INDEX($A$2:$A$11; VERGLEICH(E2; $B$2:$B$11; 0))

Die Dol­larze­ichen in den Such- und Ergeb­nisvek­toren sor­gen dafür, dass Sie die Formel nach unten kopieren kön­nen. Das Ergeb­nis wird immer richtig sein, da (im Beispiel) E2 nicht durch ein „$” abso­lut geset­zt wurde, die Adresse ist rel­a­tiv und wird entsprechend automa­tisch angepasst.

Hin­weis: An der (1) in der Über­schrift haben Sie gewiss erkan­nt, dass es nicht bei diesem einen Beitrag zu dieser The­matik bleiben wird. Das ist richtig. Das eine oder andere Beispiel wird in nicht allzu langer Zeit fol­gen. Ver­sprochen.

▲ nach oben …

Dieser Beitrag wurde unter Musterlösungen, Ohne Makro/VBA, Suchen und finden, Tabelle und Zelle abgelegt und mit , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.