どうも、もももです。
今回はExcelの機能の1つであるPower Queryを利用して、ExcelファイルへCSVファイルの内容を自動同期する方法について紹介します。
Power QueryはExcel2016から標準となった機能です。
前提条件
- Excel(Microsoft Office Personal 2019)
構成イメージ
CSVファイルの内容が一定時間間隔でExcelファイルへ自動更新されます。(※ブックの起動中のみ)
設定手順
テスト用CSVファイルの作成
テキストエディタを起動してカンマ区切りのデータを作成し、CSVファイルとして保存します。
Power Queryの読み込み設定
「データ」タブの「テキストまたはCSVから」をクリックします。
「データの取り込み」画面が表示されるので先ほど作成したテストファイルをインポートします。
CSVファイルの情報が表示されます。区切り記号等に変更が無ければそのまま「データの変換」をクリックします。
※上記の手順で「データの変換」を行うと新規のワークシートにCSVファイルの内容がインポートされます。
既存のシートにインポートをしたい時は「読み込み」コンボボックスを選択し、「読み込み先…」を選択します。
「データのインポート」画面が表示されるので「既存のワークシート」を選択してください。
「データの変換」をクリックすると「Power Queryエディター」が表示されます。
この画面では各列のデータ型等編集ができます。
内容に問題が無ければ「閉じて読込む」をクリックします。
CSVファイルの内容がExcelファイルに反映されます。
Power Queryの同期設定
次にCSVファイルの同期設定を行っていきます。
CSVファイルの内容が表示されているセルを選択し、「データ」タブの「クエリと接続-プロパティ」をクリックします。
「外部データのプロパティ」画面が表示されるので「クエリ」右側にあるプロパティボタンをクリックします。
すると、「クエリ プロパティ」画面が表示されるので「使用」タブの
- 定期的に更新する 1分ごと(デフォルトは60分)
- ファイルを開くときにデータを更新する
にチェックを入れて設定を変更します。
上記の設定を行うことでExcelブックを起動したタイミングと起動後1分周期でCSVファイルの内容がExcelファイルに自動で反映されるようになります。
Excelファイルの確認
Excelブックを起動した状態でCSVテストファイルの内容を変更して上書き保存します。
CSVファイルを上書き保存してから一定時間経過後(今回の設定では1分周期)、変更がExcelブックに反映されることを確認しました。
また、今回は「 ファイルを開くときにデータを更新する 」にもチェックを入れているためExcelブックを起動するタイミングでCSVファイルが変更されていると同様の結果になります。
まとめ
Excelの機能の1つであるPower Queryを利用して、ExcelファイルへCSVファイルの内容を自動同期する方法についてまとめました。
古いバージョンのExcelを使っていた時は、CSVファイルを同期させる際は自分でプログラムを書く必要がありましたが、 Power Query を利用することで簡単に設定できるようになりました。
下記はPower Queryを活用したアプリケーション事例になります。
コメント