PQ: Alle/ausgewählte Arbeitsblätter einer Mappe einlesen (1)

Xtract: Mehrere oder auch alle Reg­is­ter (Arbeits­blät­ter) ein­er Arbeitsmappe in die gle­iche Mappe gezielt importieren und auch die Blat­tna­men gezielt auswerten. (Teil 1)

  Wis­sens­stand: Lev­el 2 ⇒ Solides Basiswis­sen in Excel, etwas Erfahrung in PQ

Alle oder auch nur ausgewählte Arbeitsblätter/Register der aktuellen Mappe als PQ-Abfrage importieren

Laden Sie von unserem Serv­er erst ein­mal diese Datei herunter. Das Ziel ist, in der gle­ichen Mappe ein Arbeits­blatt mit den zusam­menge­fassten Dat­en zu erstellen. Wie das in einem anderen (also nicht mit einem die Dat­en enthal­te­nen) Work­book mach­bar ist, kon­nten Sie hier nach­le­sen. Bei­de Wege unter­schei­den  sich jedoch deut­lich …

Der Name des Files lässt Sie ja schon erah­nen, dass nicht alle kalen­darischen Dat­en der einzel­nen Blät­ter auch Umsatz-Dat­en enthal­ten. Was Sie aber an dieser Stelle nicht erken­nen kön­nen isteine wichtige Voraus­set­zung: Die zu importieren­den Dat­en müssen als „Intel­li­gente” Tabelle (Lis­tO­b­ject) for­matiert sein. Und schon im Arbeits­blatt März wer­den Sie fündig, dass der let­zte Ein­trag am 8. März des Jahres erfol­gte. Da sich aber naturgemäß im Laufe der Zeit die Umsatz­dat­en füllen (ergänzt wer­den), soll­ten schon im ersten Arbeitss­chritt alle Blät­ter importiert wer­den. Alle, wirk­lich alle? Na ja… Das Blatt Feiertage ist nicht rel­e­vant, das brauchen wir (Sie) für diese Auswer­tung wirk­lich nicht. Aber an dieser Stelle des Ablaufs ist das (noch) nicht rel­e­vant. Erst ein­mal wer­den Sie den­noch alle Arbeits­blät­ter in die Abfrage importieren und anschließend das Work­Sheet mit den Feierta­gen per Fil­ter ent­fer­nen. Nur Übung macht den Meis­ter… 😆 Und wie das recht gut geht, sehen Sie in den fol­gen­den Zeilen.

Auch wenn der Gedanke nahe­liegt, dass Sie jet­zt erst ein neues Arbeits­blatt erstellen müssen: Das brauchen Sie nicht und sollen Sie auch nicht zu tun. – Und auch wenn Sie in Pow­er Query son­st sehr viele Dinge per Mausklick erledi­gen kön­nen, hier ist vorzugsweise etwas Funk­tions-Arbeit ange­sagt. Und die Funk­tion wer­den Sie nicht (wie vielle­icht gewohnt) über Spalte hinzufü­gen | Benutzerdefinierte Spalte ein­fü­gen. Gehen Sie in einem beliebi­gen Excel-Arbeits­blatt dieser Arbeitsmappe über Dat­en | Dat­en abrufen | Aus anderen Quellen | Leere Abfrage:

Der Pow­er Query-Edi­tor öffnet sich automa­tisch. Und ohne Ihr Zutun wurde im linken (und auch recht­en) Seit­en­fen­ster eine neue Query mit dem Titel Abfrage1 erstellt:

Im linken Seit­en­fen­ster: Die neue, leere Abfrage

 

Tra­gen sie in das Textfeld (Edi­tierzeile) fol­gende Funk­tion mit dem führen­den Gle­ich­heit­sze­ichen ein:

= Excel.CurrentWorkbook()

Eingeben der Funk­tion zum Ein­le­sen der Dat­en

Beacht­en Sie dabei die exak­te Groß- Klein­schrei­bung, in Pow­er Query ist prak­tisch alles „case sen­si­tive”. Nach Enter oder einem Klick in den Freiraum unter­halb der Eingabezeile sehen Sie das Ergeb­nis der Funk­tion:

Das Ergeb­nis nach dem Aufruf der Funk­tion

Fil­tern Sie die Spalte Name nun so, dass der Ein­trag tbl_Feiertage nicht mehr enthal­ten ist. Entwed­er ent­fer­nen Sie das Häkchen im Fil­ter-Modus oder Sie wählen den Weg über Textfil­ter | Enthält nicht… . Erweit­ern Sie nun die Spalte Con­tent durch einen Klick auf den Dop­pelpfeil Doppelpfeil in der Über­schrift. Ent­fer­nen Sie auch das Häkchen bei Ursprünglichen Spal­tenna­men als Prä­fix ver­wen­den, dann nur noch OK. Nach ein­er Kor­rek­tur des Daten­typs der ersten Spalte zu Datum und eventuell auf­steigen­der Sortierung des Datums haben Sie ein per­fek­tes Abbild der Wun­sch-Zusam­men­fas­sung. Und ach ja, die Spalte Name kann natür­lich gelöscht wer­den. Und beim Stich­wort „Name” fällt mir ein, dass ich der Abfrage1 auch einen „sprechen­den” Namen geben sollte: Zusam­men­fas­sung. Nun noch Schließen & laden in… und wählen Sie Nur Verbindung erstellen. Im Moment brauchen Sie ja (noch) nicht die zusam­menge­fassten Dat­en, hie ging es ja um eine erste Möglichkeit des Imports.

Aus der Sicht ein­er ordentlichen Daten­hal­tung ist es vol­lkom­men in Ord­nung, wenn ab dem 9. März nur noch leere Inhalte in den Pro­dukt-Spal­ten sind. Zumin­d­est was Plain Excel bet­rifft. Typ­is­cher­weise wird ja täglich von Mon­tag bis Sam­stag (und in der heuti­gen Zeit vielle­icht auch Son­ntag) ein weit­er­er Wert einge­tra­gen. Für PQ gilt: Wenn Sie den­noch nur die aktuellen Dat­en sehen wollen, wird der ein­fach­ste Weg gewiss sein, wenn Sie händisch alle Dat­en, wo in Datum ein Zukun­fts-Wert ste­ht, per Fil­ter ent­fer­nen. Und natür­lich geht das auch PQ-automa­tisch. Ver­suchen Sie es gerne sel­ber, auch wenn Sie vielle­icht zu Beginn den einen oder anderen Mis­ser­folg haben (ging mir auch so 😎 ). Alter­na­tiv kön­nen Sie mir eine E‑Mail senden; gegen eine Spende von 2,00 € (z.B. Ama­zon-Gutschein) werde ich Ihnen dann eine min­i­mal kom­men­tierte Datei mit mein­er Lösung per E‑Mail zukom­men lassen.

▲ nach oben …

So weit, so gut. In dieser xlsx hat das ja pri­ma geklappt. Und das wird auch in (wirk­lich) gle­ichar­tig aufge­baut­en Excel-Files gle­icher­maßen klap­pen. – Inzwis­chen ist einige Zeit ins Land gegan­gen und es liegt eine Datei mit den kom­plet­ten Jahre­sum­sätzen vor. Laden Sie diese ein­fach ein­mal hier herunter und ver­suchen Sie Ihr Glück. 👿

Das Ergeb­nis nach dem Aufruf der Funk­tion ist ernüchternd…

Mein erster Gedanke nach meinem anfänglichen Ver­such war der Lieblings-Ausspruch von Mr. Spock (TV-Serie Star Trek): „Faszinierend”. Wieso wird nur das Blatt importiert, welch­es ich eigentlich gar nicht haben will? Nur die Feiertage… Ich denke, dass Ihnen rasch klar wird, woran das liegt und wie Sie das ändern kön­nen (den Tipp gibt’s auch gratis per Rück-Mail 😉 ).

Aber stellen Sie sich ein­mal vor, dass es in dem zu importieren­den Work­book nicht nur 12+1 Blät­ter son­dern 50, 100 oder noch mehr Work­sheets sind. Und die sollen „natür­lich” nicht von extern in ein­er neuen Datei aus­gew­ertet wer­den son­dern wie gehabt in der gle­ichen Mappe. Eines ste­ht fest, die Blät­ter müssen irgend­wie andes, über einen anderen Weg ein­ge­le­sen wer­den; die weit­ere Ver­ar­beitung kann dann gle­ichar­tig erfol­gen. Ich sage Ihnen hier nur dieses: Es ist eine andere M-Funk­tion, mit welch­er Sie zum Erfolg kom­men oder aber auch „ein­fach” über die GUI (Grafis­che Benutze­r­ober­fläche), die zu Recht so beliebten Schalt­flächen.

▲ nach oben …

Okay, also noch ein­mal ganz von vorn. Die Aus­gangslage ist die geöffnete Arbeitsmappe mit den 12 + 1 Reg­is­tern: Jan­u­ar bis Dezem­ber und den Feierta­gen. Aus diesen Dat­en soll in der gle­ichen Datei auf möglichst kom­fort­able Weise eine Zusam­men­fas­sung aller Blät­ter mit Aus­nahme des Excel-Reg­is­ters Feiertage erfol­gen. Und wie schon ange­sprochen kön­nten es in der Real­ität natür­lich viel, viel mehr Arbeits­blät­ter sein, die kom­plett oder nach bes­timmten Kri­te­rien importiert wer­den sollen.

Vie­len der älteren Leser meines Blogs ist Wil­helm Busch und da vor allen Din­gen die Geschichte von Max und Moritz noch in Erin­nerung. Und ein­er der woh am meis­ten daraus ziti­eten Sätze ist: „Dieses war der erste Stre­ich, doch der zweite fol­gt sogle­ich.” Ich trenne an dieser Stelle den Beitrag und weit­er geht’s dann hier im zweit­en Teil. 😉

▲ nach oben …

Rück­mel­dun­gen / Feed­back gerne per Mail an mich (G.Mumme@Excel-ist-sexy.de)

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits z.B. 2,50  freuen … (← Klick mich!)

 

Dieser Beitrag wurde unter Daten zusammenführen, File-Handling, Power Query, PQ-Formeln (Sprache M), PQ-Import en détail abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.