Power Queryでファイルパスを相対パスで指定する方法

みなさん,こんにちは。
シンノユウキ(shinno1993)です。

食品標準成分表をPower Queryで整形する方法について,連載形式で紹介しています。

前回の記事はこちら

別表のデータを本表に結合する方法を紹介しました。複数に分けられてしまっていた成分表のデータを1つにまとめることができました。

今回は連載の最終回として,ファイルパスを相対パスで取得する方法を紹介します。

PowerQueryでは,ファイルパスは「絶対パス」で指定されます。そのため,ファイルの場所を少し変更するだけでもエラーの原因になってしまいます。これを防ぐため,ファイルパスを「相対パス」で指定すると便利です。

これを実現するためには,ブック内にファイルパスを取得・設定するセルを設けるのがポイントです。以下で詳しい方法について紹介していきます。

では行きましょう!

本記事は連載:「食品標準成分表をPower Queryで整形する方法」の一部です。前回までに行った作業を前提にしますので,連載の初回(食品標準成分表をPower Queryで整形する方法【栄養士向け】)からご覧いただくことをオススメします。

Power Queryでファイルパスを相対パスで指定する方法

以下で,Power Queryでファイルパスを相対パスで指定する方法を紹介します。

下記のようなステップで作業していきます:

  1. ファイルパスを取得するセルを追加する
  2. ファイルパスが含まれるセルを「名前付き範囲」に設定する
  3. Power Queryエディターでパスを設定する

ステップ①:ファイルパスを取得するセルを追加する

まず,ファイルパスを取得するためのセルを追加します。

シートを1枚追加し,任意のセルに下記の数式を入力しましょう:

=LEFT(CELL("filename",$A$1),FIND("[",CELL("filename",$A$1),1)-1)

これにより,この数式を入力したセルにファイルパスが入るようになります。

ステップ②:ファイルパスが含まれるセルを「名前付き範囲」に設定する

次に,ファイルパスが含まれるセルを「名前付き範囲」として設定しましょう。

これにより,Power Query側からもこのセルの値を取得・利用できるようになります。

ファイルパスが含まれるセルを選択→Excelメニューの「数式」→名前の定義」をクリックします:

そして,名前」に「FilePath」を入力→OK」をクリックします:

これで名前付き範囲を設定することができました!

ステップ③:Power Queryエディターでパスを設定する

最後にPower Queryエディターでパスを設定していきます。

相対パスを指定したいクエリをPower Queryエディターで開きます。クエリの含まれるテーブルを選択し, Excelメニューの「クエリ」→編集」をクリックします:

Power Queryエディターが開きますので,「詳細エディター」をクリックします:

すると,下記のようなエディターが開くと思います:

このうち, 新たに1行追加し, ソースの内容を編集していきます。挿入および編集する場所は下記です:

letとソースの間に,下記を追加しましょう:

ファイルパス = Excel.CurrentWorkbook(){[Name="FilePath"]}[Content]{0}[Column1],

最後のカンマも忘れずに入力します。

ソースの内容を下記のように修正しましょう:

ソース = Excel.Workbook(File.Contents(ファイルパス & "ファイル名"), null, true),

"ファイル名"の箇所には,取得する任意のファイル名を入力してください。

最終的に,下記のようになればOKです:

これで,取得するファイルのパスを相対パスで取得できるようになりました!

まとめ

今回は,Power Queryでファイルパスを相対パスで取得する方法について紹介しました。これを上手に活用することで,ファイルを移動する必要が生じた際に,面倒なファイルパスの再指定作業が不要になります。

さて,食品標準成分表をPower Queryで整形する方法について紹介していた連載も今回で終了です。読んでくださった方はありがとうございました!

連載目次

  1. 食品標準成分表をPower Queryで整形する方法【栄養士向け】
  2. 栄養士のためのPower Query基礎知識【できること・メリット】
  3. 栄養士のためのPower Query超入門【インポート・変換・書き出し】
  4. Power Queryで複数のシートを縦に結合する方法
  5. Power Queryで不要な行・列を削除する方法【データクリーニング】
  6. Power Queryで値を置換する方法【完全一致と部分一致】
  7. Power Queryで食品標準成分表の別表のデータを整形する方法
  8. Power Queryで特定シートのみに含まれるレコードを抽出する方法
  9. Power Queryで複数のシートを横に結合する方法【クエリのマージ】
  10. Power Queryでファイルパスを相対パスで指定する方法現在のページ
タイトルとURLをコピーしました