Xtract: Zeilen einer Liste löschen, wenn die Spalte mit einem Datum außerhalb eines definierten Bereichs (von..bis) liegt.
Wissensstand: Level 1 ⇒ Einsteiger in PQ, keine/kaum Erfahrung
Alle Aufträge / Rechnungen bis (beispielsweise) zum Jahr 2015 löschen
In einer Excel-Aufstellung werden alle Rechnungen oder Aufträge mit dem entsprechenden Datum in Spalte A aufgelistet. Solch eine Mustertabelle finden Sie hier zum Download. Die Anweisungen und Abbildungen beziehen sich alle auf dieses File. Die Daten stellen sich zu Beginn so dar:
Die Aufgabe ist folgende: Aus dieser unsortierten Aufstellung sollen alle Datensätze, welche im Jahr 2015 liegen oder neuer sind, in ein neues Arbeitsblatt kopiert werden. Und es steht noch nicht fest, ob die Basisdaten weiter geführt werden sollen oder nicht. Der Datenintegrität wegen werden (natürlich) keine Basis-Daten gelöscht sondern es wird ein Auszug erstellt, der dann in einer neuen Tabelle in einem neuen Arbeitsblatt niedergelegt wird.
Filtern und kopieren
Die erste Idee wird vielleicht sein, einen Schnellfilter zu verwenden, um die gefilterten Daten in ein neues Arbeitsblatt zu kopieren:
Hier einfach nur die Jahre 2015 und 2016 angehakt lassen und dann die gefilterten Daten kopieren. Idealerweise werden Sie die Aufstellung Als Tabelle formatieren (ich mache das meist per StrgT oder StrgL), das hat insgesamt viele Vorteile. Ein ausführliches Beispiel zum anschließenden kopieren finden Sie hier im Blog. Diese Methode ist schnell und effektiv. Aber sie hat manchmal einen enormen Nachteil: Wenn diese Filterung öfter vorgenommen werden soll, beispielsweise wenn die Basis-Daten weiter geführt werden sollen, dann muss die Prozedur jedes Mal neu durchgeführt und die Daten im Ziel-Blatt müssen vorher gelöscht werden.
Power Query (PQ)
Beginnend mit Excel 2010 können Sie mit einem Add-In arbeiten, welches Ihnen Microsoft auf der Website kostenlos zur Verfügung stellt: Power Query. Ein ausgesprochen mächtiges Werkzeug, welche vielfach sehr gute Dienste leisten kann und oft auch eine Makro-Programmierung überflüssig macht. Schauen Sie auch gerne hier einmal nach, wenn Sie Hilfe oder Erklärungen brauchen.
Sie sollten in jedem Fall aus den Daten eine Intelligente Tabelle / Liste machen, wie bereits oben beschrieben (auch wenn es nicht unbedingt erforderlich ist, weil PQ das auch von alleine erledigt, jedoch haben Sie im Vorwege keine Möglichkeit der Kontrolle). OK, die Liste ist erstellt. Dann Klicken Sie im Menü auf Power Query. Wenn der Punkt bei Ihnen nicht erscheint, dann ist PQ bei Ihnen nicht (richtig) installiert.
Als nächstes möchte Power Query von Ihnen wissen, woher die Daten kommen. Da es ja eine Tabelle ist, wählen Sie den Menüpunkt aus:
Es öffnet sich der Abfrage-Editor des PQ und dort werden die Daten in einer ähnlichen Form dargestellt, wie bisher. Das Handling allerdings ist anders, als gewohnt. Sie können (und sollen) nicht in eine beliebige Zelle gehen, um diese zu ändern. Die Überschriften bilden hier eine Ausnahme.
Die erste Spalte Datum ist markiert. Und das kann auch so bleiben, denn Sie werden rasch erkennen, dass dort nicht nur das reine Datum sondern auch gleich mit die Uhrzeit drin steht. Da die Ausgabe der Daten am Schluss so ist, wie in diesem Editor sichtbar, sollen die Werte auf das reine Datum „geschrumpft” werden. Dazu öffnen Sie erst einmal das Menü Transformieren und dort in der Gruppe Beliebige Spalte den Punkt Datentyp: Datum/Uhrzeit anklicken:
Die nun zu treffende Auswahl solle klar sein: Datum. Blitzschnell wird die Änderung umgesetzt. Die Spaltenbreite muss nicht angepasst werden, da die später in der Ziel-Tabelle automatisch gesetzt wird.
Jetzt kommt der entscheidende Schritt: Nur jene Datensätze in der Auflistung anzeigen, welche aus dem Jahr 2015 oder später sind. Dazu Klicken Sie in der Überschrift Datum auf den DropDown-Pfeil und im sich öffnenden Menü wählen Sie den Datumsfilter. Da es nicht solch eine Möglichkeit wie „größer oder gleich” gibt, wählen Sie den Punkt Nach… Auch wenn es verführerisch ist, Sie geben in das leere Textfeld rechts von ist nach nicht den 1.1.2015 ein, denn damit würden ja Datensätze, die als Datum exakt den Neujahrstag haben, nicht berücksichtigt. Sie tragen also den 31.12.2014 ein, den letzten Tag der zu löschenden Zeilen. – Hinweis: Ja, Sie hätten auch anders vorgehen können, mit etwas Experimentierfreude kommen Sie gewiss darauf. 😉
Sofort nach einem OK bleiben nur noch die gefilterten Datensätze sichtbar. Nun wählen Sie das Menü Start und dort die erste Schaltfläche Schliessen & laden. Umgehend wir der Editor geschlossen und automatisch wird ein neues Arbeitsblatt mit den gefilterten Daten erstellt.
Prinzipiell ist damit das Ziel erreicht. Ich ziehe es vor, die wenig aussagekräftige Bezeichnung Tabelle2 in einen „sprechenden” Namen umzuändern, beispielsweise ab 2015. – Und wenn jetzt noch in den Basis-Daten Einträge hinzu gefügt oder geändert werden, dann Klicken Sie in der Tabelle auf Blatt ab 2015 in den Datenbereich, bei den Tabellentools auf Abfrage und in der Gruppe Laden auf das Symbol Aktualisieren. Sofort wird die Zieltabelle auf den neuesten Stand gebracht.
Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?
Dann würde ich mich über einen Beitrag Ihrerseits z.B. 2,00 € freuen …