Snad každý uživatel Excelu občas naráží na jednu věc, kterou tata aplikace prostě neumí dobře řešit, a to je slučování dat z více souborů. Příklad - mám v několika souborech vypsané odpracované hodiny více zaměstnanců, a chci je mít v jednom souboru. Pokud jsou ve všech souborech stejné sloupce, vypadá to jako triviální úkol. Ale není.
Existuje několik cest, jak toho dosáhnout, ale všechny mají svá negativa.
- Je možné data prostě zkopírovat. Na jednorázové zkopírování pár souborů jistě nejšikovnější cesta, na desítky souborů nebo časté slučování aktualizovaných verzí stejných souborů nepoužitelné.
- Je možné napsat a použít makro. To funguje, ale ne každému se chce kvůli tak banální věci vytvářet a používat relativně složitý kód VBA.
- Je možné použít Power Query, vytvořit více dotazů tyto dotazy spojit. K tomu se možná dostaneme v nějakém pozdějším návodu.
- Také je možné použít Power Query, načíst soubory z adresáře a importovat data. To je cesta popsaná v tomto návodu. Nevýhoda je, že tento postup aktuálně nefunguje pro slučování souborů xlsx (!), ale pouze pro csv. (k tomuto tématu více např. zde).
Sloučení souborů z adresáře pomocí Power Query
Před začátkem tohoto postupu potřebujete mít nainstalovaný doplněk Power Query. Ten můžete stáhnout zde. Také si připravte alespoň dva soubory ve formátu csv, které budete chtít sloučit, které jsou v jednom adresáři, a které mají stejný počet souborů. Naše ukázkové soubory budou ze dvou souborů slučovat odpracované hodnoty dvou zaměstnanců.
Začneme tak, že v kartě Power Query vybereme From File a dále From Folder.
Zobrazí se seznam všech souborů - v našem případě tedy jen dvou.
Vzniklá tabulka je aktivním propojením vstupních souborů. Kdykoliv se vstupní soubory změní a chceme tuto tabulku aktualizovat, stačí například kliknout pravým tlačítkem a vybrat Refresh.
Žádné komentáře:
Okomentovat