今回は、複数のエクセルファイルの特定のシートだけを自動で結合する方法を解説します。
csvファイルの結合はこちらの記事で紹介しています。
csvの場合は、シートが1つしか存在しない仕様となっているため、結構簡単に結合できるのですが、通常のエクセルファイルではシートが複数にわかれているため、結合するのがやや複雑になります。
VBAで自動化することももちろん可能ですが、Power Queryを習得すればある程度”直感的に”データの結合を行うことができます。
今回はこのようなデータを結合させていきます。
拡張子が.xlsxとなっています。
エクセルファイルの中身はこのような時系列のデータにしています。
6行目まではデータの補足情報が含まれており、本当に必要なデータは7行目以下となっています。
ただし、必要なシートは「〇〇_工場データ」というシートのみで、他のシートは”結合させない不要なシート”となっています。
それでは、データを結合させていきます。
まず、新しいエクセルシートを立ち上げ、
上部にある「データの取得」> ファイルから > フォルダーから
を選択します。
続いて、結合したいエクセルファイルが保存されているフォルダーを選択して、「開く」を押します。
この画面が表示されますので、「データの変換」を押してください。
Power Queryエディターが表示されます。
このエディターでデータの結合、不要行の削除などを行っていきます。
まず、不要な情報を削除します。
“Content”の列を選択した状態で、
上部にある「列の削除」> 他の列の削除を選択します。
これで必要な情報のみが残りました。
ここまでは、csvファイルの結合と同じ手順でした。
これ以降は特定のシートのみを結合させる操作になります。
“Content”の右にあるボタンを左クリックして、出てきたウィンドウの”フォルダのアイコン”を選択してOKを押します。
この時、シート名が書かれたアイコンは選択しないでください。
すると、以下のような画面が表示されます。
特定のシートのみを残すために、一番左の列のボタンを左クリックして、表示されたウィンドウにキーワードを打ち込んでいきます。
今回残したいシートには、「工場」が含まれていますので、「工場」というキーワードを入力していきます。
すると、「工場」が含まれたシートのみが抽出できました。
ほしい部分は”Data”の列のみですので、”Data”列を選択した状態で、
上部にある「列の削除」> 他の列の削除を選択します。
“Data”列のみが残った状態で結合ボタンを左クリックします。
データが結合され、以下のウィンドウが表示されます。
これ以降の作業は、csvの結合と同じですので、こちらの記事を参照ください。
このように、Power Queryを使えば、複数のシートをもつエクセルシートでも簡単に結合できます。
また、一度この設定をしてしまうと、同じようなエクセルファイルが追加されたときに「データの更新」を行うだけで簡単にデータが更新できます。
ぜひ、お試しください!