今回は、Power Automate Desktop(PAD)を利用して、複数のCSVファイルを1つに結合する方法をご紹介します。
Power Automateは、Microsoft社から提供されているフリーのRPAツールです。
このツールを活用することで、定型的なExcel操作を自動化したり、ブラウザ上での操作を記録&反復動作させたり、といったことが出来るみたいですよ!
Windows 10以降のOSを使っている方であれば、無償でPower Automateを利用できます。ぜひお試しください!
【Power Automate 活用術】複数のCSVファイルを1つに結合する方法
Power Automateで行いたいこと
たくさんあるCSVを1つにまとめたい
例えば、あなたはゲーマー社に所属しているとします。
その会社では月ごとに、CSVファイルで顧客別の売上データを記録しているようです。
ある日あなたは上司から「2022年の1年間で、顧客No.A1001への売上データをまとめてほしい」と依頼を受けました。
ファイルを1つずつ開いて、まとめ用シートへコピペしていくには些か面倒な状態ですよね。
VBAを利用して集約するのもありですが、こんなときはPower Automateが活躍してくれます!
実際にあった例
上記の内容は、今回やり方をご紹介する上での例題です。
私の実体験では、複合機の印刷ログを結合するのにPower Automateが役立ちました。
とある理由から、いくつかの複合機で印刷履歴を確認する必要が生じたのですが、管理している複合機は100台以上あり、それぞれが1日おきにログ用CSVファイルを1つ生成しています。
そのため、複合機1台のログを1年分(=365日分)確認するには365個のCSVファイルを、3年分なら1,095個のCSVファイルをチェックする必要があります。
流石に1つずつ開いて確認する訳にはいかないので、久しぶりに結合用のVBAでも組もうかと考えていたところ、Power Automateでも同じことが出来るようなので試してみた次第です。
こちらの方が、作成したフローを2台目・3台目のログ結合に流用しやすいので便利でした!
CSV結合用のフローを作成する
事前準備
今回は、複数あるCSVファイルを1つのCSVにまとめるフローを作成します。
そのため、事前に結合先になる[空っぽのCSV]を作成しておきましょう!
例題では、[2022年-売上集計シート.CSV]という空のCSVファイルを作成しています。
Power Automateを起動し、フローを新規作成する
まずはPower Automate Desktop(以下PAD)を起動し、フローの新規作成を行いましょう。
Windows 11を利用されている方は、デフォルトでPCに導入されているはずです。
- [Windows]&[R]キーを押して、[ファイルを指定して実行]を開く。
- [名前]の枠に[ms-powerautomate://]と入力し、[Enter]キーを押す。
- [+新しいフロー]ボタンより、任意の名前でフローを作成する。
Windows 10を利用されている方は、PADのインストールが必要です。
下記公式サイトにアクセスし、[今すぐダウンロード]から導入を行ってください。
アクションを編集する
フローの新規作成が完了したら、アクションの編集を行っていきます。
①フォルダーの選択ダイアログを表示
左端の[メッセージボックス]にある[フォルダーの選択ダイアログを表示]をクリックしましょう。
[ダイアログの説明]に[作業フォルダを指定する]と入力し、[保存]を押します。
②フォルダー内のファイルを取得
左端の[フォルダー]から、[フォルダー内のファイルを取得]を立ち上げましょう。
[フォルダー]の枠に[%SelectedFolder%]と入力します。
[ファイル フィルター]には、特定のファイルのみを結合したい場合は[ファイル名.CSV]・格納されている全てのファイルを結合したい場合は[*.CSV]と入力しましょう。
例題では、顧客No.A1001の売上データのみを集計したいので[A1001.CSV]と入力しています。
なお、データが子フォルダに格納されている場合は、[サブフォルダーを含める]に✔しておきましょう。
③For each
左端の[ループ]から、[For each]を立ち上げましょう。
[反復処理を行う値]に[%Files%]と入力し、[保存]を押します。
④CSVファイルから読み取る
左端の[ファイル]から、[CSVファイルから読み取る]を立ち上げましょう。
[ファイル パス]に[%CurrentItem.FullName%]と入力し、[エンコード]を[システムの既定値]にした状態で[保存]を押します。
⑤CSVファイルに書き込む
左端の[ファイル]から、[CSVファイルに書き込む]を立ち上げましょう。
[書き込む変数]には[%CSVTable%]と入力します。
[ファイル パス]には、事前準備で作成した[空っぽのCSV]を指定しましょう。
[エンコード]を[システムの既定値]に設定し、[ファイルが存在する場合]は[内容を追加する]に変更した状態で[保存]を押します。
①~⑤までのアクションを登録した完成形が⑥の画像です。
画面上部の[▶]を押すと、フローが実行されます。
最初に[フォルダーの選択ダイアログ]が表示されますので、データが格納されている親フォルダを選択しましょう。
処理が最後まで完了したあとに、結合先として準備した[空っぽのCSV]を開いてみて、データが格納されていればOKです!
最後に
今回は、Power Automate Desktop(PAD)を利用して、複数のCSVファイルを1つに結合する方法をご紹介しました。
ノーコードで簡単にタスクが自動化できるのは便利ですよね。
他にも面白そうな活用方法が見つかりましたら、随時ご紹介します!
それでは!
コメント