Eine bestehende Liste (hier: Namensliste) soll auf der Basis einer weiteren Liste gefiltert werden. Das ganze soll in Power Query geschehen. Als Basis für die zu filternde Tabelle verwende ich eine Mitglieder-Aufstellung des Deutschen Bundestages, Stand Sommer 2015. Diese Datei können Sie hier herunterladen. Die Aufstellung mit den zu filternden Namen laden Sie hier herunter.
Beginnen Sie damit, die beiden Tabellen in Power Query zu importieren. Idealerweise gehen Sie dazu den Weg über eine neue, leere Arbeitsmappe, Daten abrufen | Aus Datei | Aus Arbeitsmappe. Dort wählen Sie dann nacheinander die beiden Dateien und Importieren diese jeweils als eigene Abfrage. Im Dialog wählen sie entweder die Tabelle oder das Arbeitsblatt und erweitern dann die Schaltfläche Laden . Laden in… öffnet den Dialog Daten importieren, wo sie in beiden Fällen auf Nur Verbindung erstellen Klicken.
Dass Ihr Tabellenblatt immer noch leer ist, sollte Sie nicht irritieren. Im rechten Seitenfenster sind die beiden als „Nur Verbindung” importierten Abfragen aufgeführt. Der besseren Transparenz wegen sollten Sie die Abfrage Tabelle1 (die große Tabelle) umbenennen in Alle Daten und die Abfrage Tabelle1 (2) beispielsweise in Filter. Wenn Sie nicht die Tabelle sondern das Tabellenblatt importiert haben, dann werden Sie statt „Tabelle1” den Namen des Blatt-Registers angezeigt bekommen; Sie sollten diesen gleichermaßen anpassen, damit Sie dieses Script besser nachvollziehen können.
Öffnen Sie nun nacheinander beide Abfragen und vergleichen Sie den Aufbau. Sie erkennen, dass die ersten beiden Spalten den gleichen Namen/Überschrift haben, die Abfrage Filter beschränkt sich allerdings auf die ersten beiden Spalten, also ohne die Fraktionszugehörigkeit.Übrigens: Wenn Sie das linke Seitenfenster durch Klick auf den Text Abfragen öffnen, geht der Wechsel dort zwischen den Abfragen wesentlich besser und schneller; einfach ein Klick auf die gewünschte Abfrage. 😎
Sorgen Sie dafür, dass die Abfrage Alle Daten im Editor sichtbar ist. Aktivieren Sie das Menü-Register Home und anschließend ein Klick auf Kombinieren. Im PullDown-Menü erweitern Sie Abfragen zusammenführen und wählen dann Abfragen als neue Abfrage zusammenführen. Es öffnet sich ein Dialog-Fenster in dem mittigen kleinen Textfeld. Dort wählen Sie die Abfrage Filter.
Markieren Sie Im Kasten mit der Abfrage Alle Daten zuerst die Spalte Name und anschließend mit Shift oder Strg die Spalte Vorname. Danach in der Abfrage Filter auch in der gleichen Reihenfolge diese beiden Spalten markieren. Sie werden erkennen, dass in beiden Abfragen die Reihenfolge der Markierung durch eine Nummer rechts in der Spalten-Überschrift gekennzeichnet ist. Wichtig ist, dass die Inhalte zusammenpassen.
Mit Join-Art bestimmen Sie, wie die Daten in der oben angezeigten Tabelle gefiltert werden sollen. Wählen Sie hier die mittig angezeigte Möglichkeit Inner Join, denn es sollen wir nur jene Zeilen angezeigt werden, die in beiden Abfragen enthalten sind. Ganz unten im Dialog scheint nun die Zeile, wo ihnen mitgeteilt wird, dass die Auswahl mit 24 von 642 Zeilen der ersten Tabelle und genau so vielen mit der zweiten Tabelle übereinstimmt:
Nach einem Klick auf die Schaltfläche OK wird eine neue Abfrage mit dem Namen Merge1 erstellt. Sie werden rasch erkennen, dass die Einträge der gefilterten Auswahl mit den Vorgaben in der Abfrage Filter übereinstimmen. Die letzte Spalte Filter ist hier überflüssig und Sie können diese getrost auf beliebige Weise löschen. Und da der Name Merge1 nicht wirklich aussagekräftig ist, geben Sie dieser Query beispielsweise den Namen Gefiltert (nur 24).
Erweitern Sie die Schaltfläche Schließen & laden durch einen Klick auf den Text (unter dem Symbol) und wählen Sie dort Schließen & Laden in… aus. Das Options-Feld Tabelle ist markiert, Klicken Sie nun zusätzlich auf Bestehendes Arbeitsblatt und belassen Sie es bei der Auswahl =$A$1 oder wählen durch Klick eine beliebige Zelle im Arbeitsblatt aus. Nach dem Schließen des Dialogs wird die gefühlte zu Tabelle an die gewünschte Position geschrieben.
Und wenn nun in der Filter-Datei all jene Namen vermerkt sind, die als Negativ-Filter dienen? Also all jene Namen, die aus der großen Liste für eine neue Query entfernt werden sollen? – Hier bieten sich 2 Möglichkeiten: Probieren Sie es aus (oder fragen einen Kollegen, der sich mit Datenbanken gut auskennt) oder Sie senden mir eine Mail, und überweisen mir anschließend 2,00 €. (Das Konto und die Formalitäten stehen in der Mail). Testweise hier für die Anforderungs-Mail ein QR-Code:
Ein wichtiger Hinweis
Der Link auf den hierüber angesprochenen ergänzenden Beitrag beginnt mit „$$”. Das bedeutet für alle derartig ausgezeichneten Beiträge, dass diese kostenpflichtig sind
(eine geringe Spende).
Näheres dazu in der angesprochenen Mail. Auch Wissen hat einen Wert!
Davon unberührt gilt für den Haupt-Teil des Beitrages:
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits (z.B. 1,00 €) freuen …