主にマクロマンとパワークエリの解説を行うサイトです

【Excel】複数のCSVファイルを自動で結合する方法を解説します

あなた
VBAを使わずにcsvデータを結合する良い方法ないかな
省力化ロボット
ExcelのPower Queryを使えばできるよ

今回は、csvファイルを自動で結合する方法を解説します。

VBAで自動化することももちろん可能ですが、Power Queryを習得すればある程度”直感的に”データの結合を行うことができます。

 

今回はこのようなデータを結合させていきます。

 

csvファイルの中身はこのような時系列のデータにしています。

6行目まではデータの補足情報が含まれており、本当に必要なデータは7行目以下となっています。

工場で使用してる機器からデータを出力したときはこういうパターンが多いですよね。

 

まずは新しいエクセルシートを立ち上げ、

上部にある「データの取得」> ファイルから > フォルダーから

を選択します。

 

続いて、csvファイルが保存されているフォルダーを選択して、「開く」を押します。

 

この画面が表示されますので、「データの変換」を押してください。

Power Queryエディターが表示されます。

このエディターでデータの結合、不要行の削除などを行っていきます。

 

まず、不要な情報を削除します。

“Content”の列を選択した状態で、

上部にある「列の削除」> 他の列の削除を選択します。

 

これで必要な情報のみが残りました。

 

次にcsvファイルを結合していきます。

“Content”の右にあるボタンを左クリックして、出てきたウィンドウのOKを押します。

 

このようにcsvファイルが結合されのデータがずらっと表示されます。

 

上の6行はデータの補足情報ですので、削除します。

上部の「行の削除」 > 上部の行の削除を押します。

 

表示された入力画面に6を入力して、OKを押します。

これで上部の6行が削除されます。

 

上部の6行が削除されました。

今、1行目にある列の表示名をヘッダーとして利用したいので、

「1行目をヘッダーとして使用」を押します。

 

このように、1行目がヘッダーとなりました。

 

中のデータを下に見ていくと、まだ不要な情報が含まれていますね。

上の説明で6行削除したのは1つ目に読み込んだcsvファイルの補足情報なので、まだ他のcsvファイルの不要な行は削除できていない状態です。

これを削除していきます。

データを見ると、”B温度”の列を数字のみ残してやればデータがきれいに接続できそうですね。

 

“B温度”の右のボタンを押して(※C温度の列でもD温度の列でも構いません)、空白と文字列のチェックを外します。

数字のみがチェックの入っている状態です。

 

すると、きれいにデータのみが残っていると思います。

これで「閉じて読み込む」を押します。

 

Power Queryの画面が閉じ、もとのエクセルシートに戻ります。

すると、csvデータが結合された状態で表示されます。

 

以上でデータの結合自体は完了です。

 

次に、新しいcsvファイルが追加された場合、どうやってそれを結合するかを説明します。

 

やり方は簡単で

「データ」 > すべて更新

を押すだけです。これで追加したcsvファイルのデータが反映されます。

 

最初は難しく感じるかもしれませんが、この程度の作業ですと慣れてしまえば10分程度でできてしまいます。

 

もし、困ったことや、さらに良い方法とかあればコメント下さい!!