Power Queryで表引きVLOOKUP、Power Queryで時短、怖くないパワークエリ動画解説 Excel

Power Queryで表引き、リレーションシップ、VLOOKUP

Power Queryで時短、怖くないパワークエリ動画解説
 

動画解説

Power Queryで表引きとテーブルでVLOOKUP、どちらを使う?

動画版「Excelスキルアップ仕事術」です。
Power query で取得したテーブルには、前回のように ID だけで商品名や価格などが入っていませんでした。
そういう時に Excel では VLOOKUP 関数を使いますが、 Power query で VLOOKUP 関数が使えるのか、あるいは使えなければどうするのか気になりますよね。
今回は、Power QueryでIDやコードをほかの表と関連づけて表引きする方法を紹介します。

これはリレーションシップとよばれる機能です。
わかりにくいのが、クエリのマージ。
表を結合させるときの種類です。

結合の種類は全部で 6 種類あります。
左外部(最初の行のすべて、および2番目の行のうち一致するもの)
右外部(2番目の行すべて、および最初の行のうち一致するもの)
完全外部(両方の行すべて)
内部(一致する行のみ)
左反(最初の行のみ)
右反(2番目の行のみ)

(サンプルファイルは、こちらです。 作業に使う支店のブックが入ったフォルダです。

Power Queryで表引きVLOOKUP、Power Queryで時短、怖くないパワークエリ

テーブルでは構造化参照 Power query ではリレーションシップ

通常の Excelのテーブルで VLOOKUP を使う方法と Power query でリレーションシップを使う場合の2通りご紹介します。

  1. 今回はパワークエリを使って複数のブックを読み込むという手順のほかに、読み込んだブックに IDをもとに
    通常なら vlookup 関数を使って表引きする操作をパワークエリの方で id から 商品価格や商品名を別に表示するという設定方法について紹介したいと思います。

    Power QueryでVLOOKUPを使わず表引き1
  2. エクセルのブックを複数結合して、さらにそのブックと商品 IDの記入されたコードの表をリレーションシップで関連付けてやります。
    パワークエリでVLOOKUP的な使い方をするわけです。

    Power QueryでVLOOKUPを使わず表引き2
  3. まずはデーターの取得からです。複数のブックを結合します。
    ファイルからをクリックして、次に、ブックを複数結合したいということでフォルダーを指定してやります。

    Power QueryでVLOOKUPを使わず表引き3
  4. フォルダーの指定です。フォルダパスを入力する画面が表示されます。

    Power QueryでVLOOKUPを使わず表引き4
  5. フォルダのパスをエクスプローラーからコピーして入力するか、参照をクリックしてフォルダを選択してください。

    Power QueryでVLOOKUPを使わず表引き5

フォルダ内のブックをパワークエリで読み込む

  1. するとこれ前回も表示されましたが、フォルダの中身のブックの概要が表示されます。選択したフォルダが間違いのないことを確認できます。

    Power QueryでVLOOKUPを使わず表引き6
  2. それで次はその表 に対してどうしたいかということで、結合、読み込み、データの変換、キャンセルも入れて、4つのボタンから選択します。結合をクリックすると、さらに選択するようになっています。
    今回は結合してさらに変換するんですね。ですからデータの結合と変換を選択します。

    Power QueryでVLOOKUPを使わず表引き7
  3. するとファイルの結合ダイアログが表示されます。各ファイルから抽出するオブジェクト選びますと表示されています。最初のシートはこれでよければ OK をクリックします。

    Power QueryでVLOOKUPを使わず表引き8
  4. すると 今度は、パワークエリエディター というエディターが開いて、 表示してくれます。
    このファイルについては シートの中に支店名が入っていない代わりにシート名自体に支店名が入っているという ことでした。

    Power QueryでVLOOKUPを使わず表引き9
  5. まず、列見出しを支店名と変えました。
    次にソース名のところからおおみや店の後ろの拡張子 .xlsx この部分を削除してしまいましょう。
    右クリックから値の置換、あるいは、タブ「変換」をクリックして 値の置換、を選択します。

    Power QueryでVLOOKUPを使わず表引き10

パワークエリエディター、列にフィルターをかける

  1. そして次の列、日付、コード、個数ということで合っています。これは大丈夫です。ただこの日付ですがバラバラですので、ここはフィルターをかけましょう。昇順で並べ替えます。
    この読み込みには右側のクエリの設定欄に「テスト1」という名前がつけられたていますが、これではあとで混乱してしまいますから、名前を変更しておきます。「支店よみこみ」という名前に変更しておきます。

    Power QueryでVLOOKUPを使わず表引き11
  2. 準備ができましたのでホームの閉じて読み込むからクリックして閉じて次に読み込むを押してください。

    Power QueryでVLOOKUPを使わず表引き12
  3. データのインポートダイアログが表示されました。けれどもまだ商品コードの接続をしていません。それで操作が完了していないので、接続の作成のみにチェックを入れて OK をクリックします。

    Power QueryでVLOOKUPを使わず表引き13
  4. パワークエリエディター、取得と変換、コード表の読み込み

  5. 次は、コード表の読み込みです。再び、パワークエリでデータの取得ボタンから、ファイルからということで、ブックからインポートしたいと思います。

    Power QueryでVLOOKUPを使わず表引き14
  6. コードが記載されているブックをインポートします。

    Power QueryでVLOOKUPを使わず表引き15
  7. ナビゲーターという画面が表示されました。これが先ほどのデータとリレーションで接続したいデータです。これはリレーションで使いたいデータですので、単体で読み込むのではなくて、読み込みのボタンから読み込み先を選択してやります。

    Power QueryでVLOOKUPを使わず表引き16
  8. すると先ほどのデータのインポートというダイアログが出てきます。こちらも接続の作成のみにしてやります。

    Power QueryでVLOOKUPを使わず表引き17
  9. 支店読み込みというのが、最初のクエリ、今日行った最初のクエリです。

    Power QueryでVLOOKUPを使わず表引き18
  10. その下にあるのがSheet1という名前のクエリ、これはコードです。名前を変更しておきましょう。Sheet1ではさすがになんだかわかりません。

    Power QueryでVLOOKUPを使わず表引き19
  11. 中身は商品IDに対応するコードでしたから、コードに変更しておきます。

    Power QueryでVLOOKUPを使わず表引き20

クエリのマージ、統合の種類を選ぶ

21.支店の方を開きます。


Power QueryでVLOOKUPを使わず表引き21

22. クエリのマージをクリックします。


Power QueryでVLOOKUPを使わず表引き22

23. マージというダイアログが表示されて上の段には支店読み込みが表示されています。そして、何をマージするかというと下の段では、コードを読見たいのでコードを選択します。


Power QueryでVLOOKUPを使わず表引き23

24. ポイントは、メインで使う支店の方は上にしています。表引きするコードの方は下にしています。


Power QueryでVLOOKUPを使わず表引き24

25.どこを対応させるのかということで、上ではコードを下では商品IDの列これが対応するので、それぞれを選択しておきます。


Power QueryでVLOOKUPを使わず表引き25

26. 統合の種類を選びます。説明では上下に並んでますけれども上の表ことを左、下の表を右と呼んでいます。(意味不明とかで怒らないで、)左外部の方を選びます。


Power QueryでVLOOKUPを使わず表引き26

27.これで支店読み込みとコードが結合されました。


Power QueryでVLOOKUPを使わず表引き27

28.テーブルとして結合はされましたが、まだ展開されていません。展開するという意味のアイコンをクリックして表示したい列を選びます。


Power QueryでVLOOKUPを使わず表引き28

29. 商品名と販売単価を選びます。OKをクリックします。


Power QueryでVLOOKUPを使わず表引き29

30. コードに対応する商品名と販売単価が支店読み込みで読み込んだ表に統合されました。


Power QueryでVLOOKUPを使わず表引き30

売上の列を追加する

31. 個数と販売単価が表示されている2列を選択した状態で、列の追加タブから、乗算を選択します。


Power QueryでVLOOKUPを使わず表引き31

32.乗算という名前の列が追加されました。 金額とでもしておきましょう。他の列も自動で作成された列名は変更しておきます。
列の配置も編ですので場所を入れ替えましょう。返還タブにある、任意の列グループから列の移動を選びます。


Power QueryでVLOOKUPを使わず表引き32

33. これで準備は整いましたので、表に書き出しましょう。今まではパワークエリのクエリエディタ内の処理でした。エクセルに読み込ませます。閉じて読み込むをクリックします。


Power QueryでVLOOKUPを使わず表引き33

34. するとクエリと接続というダイアログが表示されますから、今まで作業をしていた、支店読み込みを選んでダブルクリックします。


Power QueryでVLOOKUPを使わず表引き34

35. 読み込み先をクリックします。


Power QueryでVLOOKUPを使わず表引き35

36.データのインポートダイアログが表示されますから、どのように表示したいかを選びます今回はテーブルとして新規ワークシートに出力を選びます。


Power QueryでVLOOKUPを使わず表引き36

37.以上で各支店データと商品コードを統合した形で使いたい表を準備することができました。


Power QueryでVLOOKUPを使わず表引き37

38. 今回は、フォルダからブックをすべて選択して結合した支店読み込みと名付けたクエリに、コード表を記載したブックからコードを読み込んでコードというクエリ名をつけました。 次に2つのクエリをマージ(結合)させたわけです。
ポイントは、マージダイアログでの、どちらを上にするか、そして種類に何を選ぶかです。 解説にはポイントをわかりやすく説明しました。
よくわからない箇所は、ぜひ動画もご覧になり、確認してみてください。
お疲れさまでした。