【取得するファイルを自動で可変にする、究極のPower Query術です!】
この記事を見ている読者の方の中には、毎日システムから出力されるファイルを処理しているという方もいらっしゃると思います
この場合、Power Queryで出力ファイルを処理する場合は、既存のクエリのデータソースを変更するか、新規にクエリを作成するしかありません
実は、フォルダ取得のクエリ技術を利用すれば驚くほど簡単に「常に最新」のファイルを取得できます
フォルダ取得
下の画像のフォルダには拡張子が「xlsx」のファイルと「csv」のファイルが1つづつ格納されています
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-81.png)
こちらのフォルダを取得先にしてクエリを作成してみます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-82-644x271.png)
上の画像では、3行目のcsvのファイルに対応する箇所がエラーになっています
ソースステップでフィルター
上の画像では最終ステップがエラーになっていました
ここで最初のステップ、「ソース」を選択してみます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-94.png)
そうすると、フォルダ内のファイルが一覧化されています
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-84-644x182.png)
では、もっと右にスクロールしてみます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-85.png)
そうすると「Date created」という列があります
こちらの列では該当のフォルダにファイルが格納された時刻が記載されています
今、記事を書いている時間は「6月26日17時01分」なのですが、試しにフォルダに新たなファイルを格納してみます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-86.png)
そして、Power Queryエディターのプレビューの更新処理を行ってみます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-87.png)
すると新たなファイルが「17時01分」に追加されています
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-88.png)
ですので、こちらの「Date created」の列でフィルターを行うと、常に最新のファイルだけを処理することができるのです
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-89-644x436.png)
ここで「最も早い」「最も遅い」という日本語訳が分かりにくいかもしれません
あくまで「最も遅い」、つまりファイルが格納された時刻が最も遅いものが最新のものになります
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-90.png)
これで最新のファイルを取得する仕組みは完成です
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-91.png)
もし、エクセルファイル(xlsx)の中でフィルターしたいという場合には、先に拡張子でのフィルターを入れておきましょう
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-93-644x226.png)
その後に「Data created」列のフィルターを入れます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-95.png)
では、もう一度試してみましょう
今、フォルダがこの状態です
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-96.png)
このフォルダに「担当_田中.xlsx」ファイルを格納します
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-97.png)
そうすると、エクセルファイルで最新の「担当_田中」のデータだけがクエリに反映されます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/Untitled-2024-06-26-17-33-48-1.gif)
<まとめ>
今回は最新のファイルだけを反映するクエリを作成しました
ポイントは2つです
1.フォルダからファイルを取得すること
2.作成したクエリのソースステップでフィルタ処理をすること
驚くほど簡単ですよね
最後に、場合によってはファイルの名前、つまり「name」列でフィルターが必要なケースがあることもお伝えしておきます
![](https://analytic-vba.com/wp/wp-content/uploads/2024/06/image-98.png)