セルに入力した値をPowerQueryで利用する方法をご紹介します。前回の記事よりもシンプルな方法です。PowerQueryに慣れてきた方はこの記事の方法の方が手順は少なくて済みます。お好みの方をご利用ください。
例として以下の状況を想定します。
- PowerQueryにてフォルダから得ている。
- ワークシート のセルにフォルダパスを入力してPowerQueryエディターを開かずとも変更できるようにしたい。
フォルダからデータが抽出できているものとして、手順を書きます。名称などは同じでなくてもよいですが、まずは同じようにしていただくと失敗が少ないと思います。
なごみ
後日スクリーンショット等を挿入しますが、とりあえず手順だけ書き出してみます。必ずデータのバックアップをとって、テスト用のファイルで試してください。
目次
ワークシート に値を入力する
- ワークシート のセルA1に「パス」と入力する。
- セルA2にパスを入力する。例:C:¥Users¥UserName¥CSV(元データを保存しているフォルダ)
- セルA2が選択されている状態で、CTRL+Tでテーブルを作成する。
- メニューバーのテーブル名の枠に「フォルダパス」と入力して、テーブル名とする。
PowerQueryで操作
- 左側のクエリ一覧から該当のクエリを選択する。
- 右端の「クエリの設定」を確認する。
表示されていない場合はメニューバーの「表示」から「クエリの設定」をクリックする。 - 適用したステップの1行目が「ソース」になっているはず。
「ソース」を右クリック→「後にステップの挿入」をクリックする。確認メッセージをOKで閉じる。 - カスタム1でステップが挿入される。カスタム1をクリックして数式バーに以下の記述を入力します。
folderPath = Excel.CurrentWorkbook(){[Name=”フォルダパス”]}[Content]{0}[パス] - カスタム1を右クリックして「フォルダーパス」のように分かりやすい名前に変更しておく。
- フォルダーパスを右クリック→「上へ移動」
- ソースの行の記述を以下に変更する。(大文字、小文字間違えないように注意)
ソース = Folder.Files(folderPath) - 「適用したステップ」でソース以降の項目をクリックした時にプレビューが表示されればOKです。メニューバーの「閉じて読み込む」をクリックしてデータを読み込んで終了です。
参考
folderPath = Excel.CurrentWorkbook(){[Name=”フォルダパス”]}[Content]{0}[パス]
内の0はテーブル内のデータの行番号を表しています。
0からスタートなので第1レコードが0番目、第2レコードが1番目となります。よってこの数字を変えることで、参照するデータを変えることもできます。
これを使って複数のデータをテーブルで管理してPowerQueryで利用することもできますね。
よろしければご利用ください。
この方法でうまくいかなかった方は、ステップは多いですが、以下の方法を試してみるのもよいかもしれません。
では、また。