SVERWEIS nach beiden Seiten

SVERWEIS nach links und rechts
mit Power Query

Es ist bekan­nt, dass die Funk­tion SVERWEIS() nur nach rechts suchen kann, also mit einem pos­i­tiv­en Index. Ein neg­a­tiv­er Index ist zwar über Umwege mit der VERWEIS()-Funk­tion in der Matrix-Vari­ante möglich, aber nach Aus­sage Microsoft sollte diese Möglichkeit nicht mehr ver­wen­det wer­den. Und ich gehe davon aus, dass mit jed­er neueren Ver­sion des Excel die War­nung vor der Ver­wen­dung immer deut­lich­er wird.

Mit­tels Pow­er Query (in Excel 2016 Abrufen und trans­formieren) ist es mit weni­gen Mausklicks möglich, einen Ersatz für den SVERWEIS zu find­en und als angenehmen Neben­ef­fekt auch gle­ich den neg­a­tiv­en Index mitzunehmen.

Voraussetzungen

Um das zu erre­ichen, gibt es wenige Voraus­set­zun­gen. Sie müssen Excel in der Win­dows-Ver­sion vor­liegen haben, Pow­er Query muss instal­liert sein (ab 2016 ist das inte­gri­ert) und die Dat­en müssen ohne kom­plette Leerzeilen vor­liegen. Mehr bedarf es nicht.

▲ nach oben …

Der Ablauf

Laden Sie zu Beginn erst ein­mal diese Datei herunter und öff­nen Sie diese in Excel. Sie erken­nen in den Basis­dat­en eine min­i­mal­is­tis­che Rech­nung, eher eine Auf­stel­lung. Die kann so beispiel­sweise von ein­er Daten­bank exportiert wor­den sein.

Import-Daten für eine Rechnung

Import-Dat­en für eine Rech­nung

Der entschei­dende Punkt ist, dass nur die Pro­duk­t­num­mer einge­tra­gen ist und die Beze­ich­nung als auch der Preis fehlt. Diese bei­den Werte sind in in einem weit­eren Arbeits­blatt aufge­führt:

Daten für die Verknüpfung mit der Rechnung

Dat­en für die Verknüp­fung mit der Rech­nung

Dass es nor­maler­weise erhe­blich mehr Pro­duk­te sind, ver­ste­ht sich von alleine. Hier ist es der Über­sichtlichkeit geschuldet, dass es nur diese 7 Artikel sind. Wichtig ist, dass die Pro­duk­t­num­mer für die Verknüp­fung ver­wen­det wird. Dass diese nicht in der ersten Spalte der Liste ste­ht, ist von mir extra so ein­gerichtet, um den neg­a­tiv­en Index, den Ver­weis nach links darzustellen . Und die Anord­nung soll natür­lich so bleiben, wie sie ist.

Eine weit­ere wichtige Voraus­set­zung für dieses Vorhaben ist, dass alle zu nutzen­den Dat­en, also die Basis- als auch die Ref­eren­z­dat­en als Intel­li­gente Tabelle vor­liegen. Die Basis­dat­en liegen in dieser Form vor. Sie erken­nen das daran, dass der Menüpunkt Tabel­len­tools sicht­bar ist, wenn der Cur­sor (die aktive Zelle) im Daten­bere­ich ste­ht. Die Ref­eren­z­dat­en im Blatt Pro­duk­te sind noch nicht als Tabelle for­matiert. Das muss als erstes geschehen. Wie Sie das machen, sei Ihnen über­lassen. Ob über das Menü oder Tas­tenkom­bi­na­tion, das Ergeb­nis ist außer der Optik immer gle­ich. Ich ver­wende stets StrgL (wie Liste) oder StrgT (wie Tabelle).

▲ nach oben …

OK, jet­zt sind bei­de zu verknüpfend­en Daten­blöcke im Tabellen-For­mat. Das Arbeits­blatt Pro­duk­te ist das aktuelle und die aktive Zelle ist irgend­wo im Daten­bere­ich. Je nach Excel-Ver­sion wer­den Sie nun in die Pow­er Query-Funk­tion­al­ität her­stellen. In Excel 20102013 ist Pow­er Query ja ein eigen­ständi­ger Menüpunkt, in Excel 2016 find­en Sie die entsprechen­den Auswahlen beim Menüpunkt Dat­en.

Jet­zt im Menüband bei den Icons auf Aus Tabelle (bei 201013 Von Tabelle) Klick­en und es öffnet sich ein neues Fen­ster mit dem Abfrage-Edi­tor:

Der Abfrage-Editor (Teil des Fensters)

Der Abfrage-Edi­tor (Teil des Fen­sters)

An dieser Stelle soll­ten Sie die Gele­gen­heit nutzen und der kün­fti­gen Tabelle einen sin­nvollen Namen geben. Rechts im Edi­tor-Fen­ster sehen Sie den Bere­ich mit den Abfrage-Ein­stel­lun­gen:

Umbenennen des Abfrage-Ergebnisses

Umbe­nen­nen des Abfrage-Ergeb­niss­es

Löschen Sie hier den Namen Tabelle1 und tra­gen dafür tbl_Produkte ein. Das war erst ein­mal alles. Schließen Sie den Edi­tor, indem Sie im Menüband auf das Sym­bol Schließen und laden Klick­en. Es wurde ein neues Tabel­len­blatt angelegt, wo die Tabelle in for­matiert­er Form ste­ht. Außer­dem zeigt sich rechts im Anwen­dungs-Fen­ster der Bere­ich mit den Arbeitsmap­pen­abfra­gen:

Der Bereich der Abfragen

Der Bere­ich der Abfra­gen

Wech­seln Sie nun zum Sheet Basis­dat­en. Auch hier acht­en Sie darauf, dass min­destens eine Zelle inner­halb der Dat­en markiert ist und wie zuvor über Pow­er Query Aus bzw. Von Tabelle anklick­en und damit eine weit­ere Abfrage erstellen. Ein kurz­er Blick nach rechts zeigt Ihnen, dass der Name der (kün­fti­gen) Tabelle schon ein „sprechen­der” ist, der kann also bleiben. Jet­zt aber nicht schließen son­dern inner­halb des Edi­tors in der Gruppe Com­bine den Punkt Abfra­gen zusam­men­führen anklick­en. Es öffnet sich dieses Fen­ster:

Der erste Schritt beim Zusammenführen von Abfragen

Der erste Schritt beim Zusam­men­führen von Abfra­gen

Hin­weis: Es ist sehr wichtig, dass die Abfrage tbl_Bestellung im oberen Teil-Fen­ster ste­ht. Von oben nach unten gese­hen (was die Fen­ster bet­rifft) ist es eine n:1 Beziehung, die erstellt wer­den soll. OK, das war für Daten­bank-Kundi­ge.  😎 Anmerkung für Gurus: Ja, ich weiß …

Merken Sie sich bitte: In den oberen Fen­sterteil gehört die Tabelle, wo das verknüpfte Feld (hier: die Pro­duk­t­num­mer) mehrfach vorkom­men kann oder auch vorkommt. Im Ver­gle­ich zum SVERWEIS wäre es das erste Argu­ment der Funk­tion. Mehrere (n) Kun­den kön­nen ein (1) Pro­dukt kaufen.

Im freien Feld unter­halb der angezeigten Tabelle mit den Aufträ­gen Klick­en Sie auf den Pfeil DropDownPfeil und wählen die Tabelle, wo die Pro­duk­t­num­mern und die dazu gehöri­gen Dat­en ste­hen. Diese Num­mern sind ein­ma­lig, also ohne Dublet­ten, auch wenn es nicht zwin­gend notwendig ist. Und sie sind auch nicht sortiert. – Die Auswahl fällt nicht schw­er, es ist natür­lich die Abfrage tbl_Produkte.

Jet­zt richt­en Sie die eigentliche Verknüp­fung ein. Ich ver­suche ein­mal, eine Esels­brücke zu bauen. Beim SVERWEIS heißt es ja dem Sinn nach: WAS soll gesucht wer­den? – WO soll nachge­se­hen wer­den (Bere­ich)? – Welche SPALTE der Fundzeile soll zurück­gegeben wer­den? Das vierte Argu­ment betra­chte ich hier nicht.

Dieser Weg mit Pow­er Query ist in etwa ver­gle­ich­bar. WAS soll gesucht wer­den? Klar, die Pro­duk­t­num­mer. Die ist ja der einzige Hin­weis auf den zu suchen­den Artikel. WO soll gesucht wer­den? Logisch, in tbl_Produkte. – Jet­zt ist aber ein gravieren­der Unter­schied gegeben. Sie müssen näm­lich angeben, in welch­er Spalte der zu suchende Begriff ste­ht. Es ist nicht zwin­gend die erste Spalte.

Um es abzukürzen: Klick­en Sie in tbl_Bestellung irgend­wo in die Spalte Pro­duk­t­num­mer, und in tbl_Produkte ist es „zufäl­lig” auch Pro­duk­t­num­mer. Gle­iche Spal­ten-Namen erle­ichtern das Denken, sind aber nicht zwin­gend notwendig. Wenn Sie bei­de Spal­ten markiert haben, sieht das so aus:

Die beiden Spalten für den Link sind markiert

Die bei­den Spal­ten für den Link sind markiert

Ein Klick auf OK und dieses Fen­ster schließt sich. Der Abfrage-Edi­tor ist aber immer noch geöffnet. Und dort gibt es eine neue Spalte mit dem wirk­lich „ein­fall­sre­ichen” Namen New­Col­umn. Und der Inhalt jed­er einzel­nen Zeile ist auch nicht ger­ade viel­sagend. Aber rechts in der Über­schrift ist solch ein Sym­bol: ErweiternSymbolKlick­en Sie ein­mal darauf und es öffnet sich dieser Dia­log:

Bestimmen Sie, welche Felder ausgegeben werden sollen

Bes­tim­men Sie, welche Felder aus­gegeben wer­den sollen

Es sollen der Pro­dukt-Name und der Preis angezeigt wer­den. Ent­fer­nen Sie die anderen Häkchen, ein­schließlich der Auswahl ganz unten mit den Spal­tenna­men. Dann wer­den näm­lich nur die eigentlichen Spal­tenna­men als Über­schrift geschrieben. OK und das Ergeb­nis sieht schon sehr gut aus. Prinzip­iell ist das Ziel erre­icht. Sie kön­nen nun noch in der Gruppe Trans­formieren den Daten­typ in der Spalte Datum auf den Daten­typ Datum (statt Datum/Uhrzeit) ändern und bei Preis auf Währung. Zum guten Schluss Schließen und laden. Sie sehen, dass der Ver­weis mit einem pos­i­tiv­en als auch neg­a­tiv­en Index klappt.

Was gibt es noch zu tun? Na ja, sehen Sie sich doch ein­mal im Blatt Pro­duk­te die Zelle A4 an. Vielle­icht ist es Ihnen ja schon aufge­fall­en, dass da ein „s” bei der Tatatur fehlt. Nutzen Sie die Gele­gen­heit das zu verbessern. Und Sie erken­nen dann einen weit­eren Gegen­satz zum SVERWEIS: Es erfol­gt keine automa­tis­che Anpas­sung, keine automa­tis­che Änderung der Dat­en in der erstell­ten Rech­nung. Dazu bedarf es ein­er kleinen Aktion: Wählen Sie den Menüpunkt Tabel­len­tools oder (vorzugsweise) Abfrage­tools und Klick­en Sie anschließend auf die Schalt­fläche Aktu­al­isieren. Alter­na­tiv geht das auch per Recht­sklick in die dat­en und im Kon­textmenü Aktu­al­isieren wählen. Das mag Ihnen im ersten Moment als klein­er Nachteil erscheinen, aber Pow­er Query wird typ­is­cher­weise so einge­set­zt, dass immer frische, neue Dat­en automa­tisch ein­ge­le­sen und wie bei einem VBA-Pro­gramm in immer gle­ich­er Weise aus­gew­ertet wer­den. Und der Anwen­der kann bes­tim­men, wann die aktu­al­isierten Dat­en über­nom­men wer­den.

Last but not least kön­nen Sie nun auch die Berech­nun­gen beispiel­sweise für den Gesamt­preis in der erstell­ten Tabelle vornehmen. Ein­fach eine Spalte anfü­gen, Über­schrift in G1 schreiben und in G2 die Berech­nung durch­führen.

▲ nach oben …

Ref­er­ence: #0522

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