PowerQuery テーブル上の指定セルの値を利用する方法

パワークエリ内にある別テーブルの値 や エクセルのワークシート内での入力値 を利用する方法を紹介します。

この方法を利用することでこのようなことができるようになります。

できるようになること!
  • エクセルのワークシートへの入力値により取り込むファイルを変更する
  • エクセルのワークシートへの入力値によりフィルタ設定を変更する
  • 別テーブルの値を処理ステップに利用する
目次

PowerQueryにあるテーブルの値の取得方法

セル値の取得方法

パワークエリに取り込んだテーブルの値は下記の式で取得することができます。行番号は0始まりなので注意してください。

テーブル名 [列名] {行番号}

ドノ

テーブル名・列名・行番号は状況に応じて変更してください。

別テーブルの値の利用手順

利用手順の説明のため例として下図のようにテーブル1テーブル2がある状態で、テーブル1にテーブル2のE列の2行目の値を追加してみます。

STEP
テーブルの取り込み

Excelシートのデータタブにある「データの取得と変換」から対象のテーブル(テーブル1とテーブル2)を読み込む。

STEP
別テーブル値の追加
  1. 列の追加タブにある「カスタム列」を選択する
  2. カスタム列の式に下記を入力する。行番号は0始まりなので2行目を取得したい場合は1と入力します。
テーブル2[E]{1}

STEP
別テーブルの値の利用完了

下図のようにテーブル2にあるE列の2行目の値を取得して追加できています。

このようにテーブル名・列名・行番号を指定することで別テーブルの値の利用が可能です。

Excelのワークシート上にあるテーブルの値の取得方法

ワークシート上のセル値の取得方法

パワークエリに取り込んでいないワークシート上のテーブルの値は下記の式で取得することができます。行番号は0始まりなので注意してください。

Excel.CurrentWorkbook(){[Name=”テーブル名“]}[Content][テーブルの列名]{行番号}

ドノ

テーブル名・列名・行番号は状況に応じて変更してください。

ワークシート上のテーブルの値の利用手順

利用手順の説明のため例として、PowerQueryに取り込んだテーブル1ワークシート上にテーブル2(PowerQueryに取り込んでいない)がある状態で、テーブル1にテーブル2のE列の2行目の値を追加してみます。

STEP
ワークシート上でテーブル設定(テーブル2)

パワークエリ上で利用したいテーブルを作成します。範囲を選択した後、挿入タブの「テーブル」を選択する

次にテーブル名を設定します。

テーブルデザインタブにあるテーブル名で任意のテーブル名を設定してください。ここではテーブル2

STEP
パワークエリへのテーブル読み込み(テーブル1)

Excelシートのデータタブにある「データの取得と変換」から対象のテーブル(テーブル1のみ)を読み込む。

STEP
ワークシート上のテーブル値の追加
  1. 列の追加タブにある「カスタム列」を選択する
  2. カスタム列の式に下記を入力する。行番号は0始まりなので2行目を取得したい場合は1と入力します。
Excel.CurrentWorkbook(){[Name="テーブル2"]}[Content][E]{1}

STEP
ワークシート上の値の利用完了

下図のようにテーブル2にあるE列の2行目の値を取得して追加できています。

このようにテーブル名・列名・行番号を指定することでワークシート上のテーブルの値の利用が可能です。

Sponsored link

PowerQuery 別テーブルの値を使ってフィルタを設定

上記の方法を利用すれば、取得したテーブルの値を利用して別のテーブルにフィルタをかけることも可能です。

例えば、下図のようにテーブル1の[日付]に対して テーブル2のデータを使ってフィルタをかけることが可能です。

手順は以下の通りです。

STEP
テーブル読み込み

Excelシートのデータタブにある「データの取得と変換」から対象のテーブル(テーブル1とテーブル2)を読み込む。

STEP
フィルタをかける(値はなんでもOK)

まずテーブル1で適当な値でフィルタ設定を行います。

ここではテーブル1の[日付]列を2024/4/1の値でフィルタ設定しました。

STEP
フィルタの値をテーブル値に置き換え

フィルタ設定の値をテーブルから取得した値に置き換えます。

ここでは、数式バーにある #date(2024,4,1) テーブル2[対象日付]{0} に置き換えます。

注意点:フィルタをかける列 と 参照するテーブル列は 同じデータ型である必要があります

STEP
別テーブル値によるフィルタ完了

これで別テーブル値によるフィルタ設定は完了です。


Sponsored link

Excel ワークシートの値を使って 読み込みファイルを変更

上記の方法を利用すれば、ワークシート上のテーブルの値を利用してPowerQueryに読み込むファイルを設定することも可能です。

これにより読み込むファイルを簡単に変更することができ、後々の修正や管理が楽になります。

手順はパワークエリの「ソース」や「ナビゲーション」といったステップ内の数式バーを確認して、それぞれ設定値の部分(下図の赤下線部)を下記のような式に置き換えればOKです。

Excel.CurrentWorkbook(){[Name=”テーブル名“]}[Content][テーブルの列名]{行番号}

詳細に手順解説はこちらの記事を行っていますので参照してみてください。

Sponsored link

Power Queryのおすすめ書籍

パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。

初心者向けおすすめ学習本

初中級者向けおすすめ学習本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

仕事、お金、旅行のことなどメモしてます。
仕事ではTableauを勉強中!
初心者にもわかりやすいように学んだことを発信していきます。

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次