別ブックのテーブル/シートの単一データを取得する方法[Power Query(パワークエリ)基礎]
AさんAさん

別のExcelブック内のテーブルやシートのデータを加工したいけど、どうしたらいいですかね?

森田森田

その場合、Power Query(パワークエリ)の「ブックから」でデータ取得から始めると良いですよ!

具体的な手順を解説していきますね。

はじめに

本題に入る前に、この記事がおすすめな方を挙げてみます。

  • 別ブックのデータを整形・加工したい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

この記事のテクニックを使うためには、以下の条件を満たす必要があります。

  • ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
  • Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
  • Power Query(パワークエリ)の概要を理解していること
    →まず、以下の記事で概要を把握することをおすすめします。

データ整形の元データが別ブックのテーブル/シートの場合に「ブックから」のデータ取得が有効

こうしたデータの整形・加工作業が複数工程あり、かつ定期的に発生する業務ならPower Query(パワークエリ)が便利です。

従来必要であった「別ブックを開いて、Excelへコピペする」という工程をショートカットできるからです。

では、別ブックのデータの取得手順を確認していきましょう。

別ブックのデータ取得手順

Power Query(パワークエリ)による別ブックのデータ取得は、以下の5ステップとなります。

STEP1】リボン「データ」タブから「データの取り込み」ダイアログを起動

まずは、リボン「データ」タブをクリック(①)し、「データの取得」をクリック(②)します。

そして、「ファイルから」をクリック(③)の上、「ブックから」をクリック(④)しましょう。

STEP2】任意のブック(.xlsx/.xlsm/.xls)をインポート

「データの取り込み」ダイアログが起動しますので、データの取得元となる任意のブックを選択(⑤)し、「インポート」をクリック(⑥)します。

今回は「商品マスタ.xlsx」を選択しました。

STEP3】ナビゲーター画面から「Power Queryエディター」を起動

ナビゲーター画面が起動します。

指定したブック内のシートやテーブルが一覧で表示されるため、取得対象のテーブルまたはシートを指定(⑦)しましょう。

※複数のテーブル・シートを取り込む場合の方法については、別記事にまとめる予定です。

指定するとナビゲーター画面の右側にプレビューが表示されるため、指定したデータに誤りがないかを確認(⑧)し、問題なければ「データの変換」をクリック(⑨)しましょう。

【参考】ナビゲーター画面のテーブル名・シート名の見分け方

なお、今回はテーブル名もシート名も同じ「商品マスタ」のため、Power Query(パワークエリ)上で重複を避けるために、テーブル名の方が「商品マスタ1」として認識されています。

テーブル名とシート名の見分け方は、アイコンの形を見てください。

アイコンの上部に色が付いているものがテーブル、アイコンの下部にタブがあるものがシートです。

もちろん、ブック内にテーブルが存在しない場合は、シートだけが表示されます。

STEP4】「Power Queryエディター」を閉じてデータを読み込み

Power Queryエディターが起動します。

まずは、取り込んだデータの各列のデータ型に問題ないかを確認(⑩)しましょう。

なお、クエリ名は手順⑦で指定したテーブル名/シート名になっているため、別名称が良ければ「クエリの設定」ウィンドウ上でクエリ名を書き換えましょう。

その他、データ整形・加工を行いたい方は、ここで任意の作業を順次設定してくださいね。

問題なければ、「閉じて読み込む」をクリック(⑪)し、「閉じて次を読み込む」をクリック(⑫)すればOKです。

「データ型」とは

データ型とは、「テキスト(文字列)」や「数値」「日付」といったデータの種類のことで、テーブルの1行目の見出し名の左横にあるマークで判断が可能です。

たとえば、今回は、「商品コード」と「商品名」はテキストなので[ABC]というマークがそれぞれの左横にあります。

そして、「単価」は数値なので[123]というマークが左横にありますね。

他にどんなデータ型があるかについては、マーク部分をクリックすると一覧が表示され、任意で変更することが可能ですよ。

もし、違うデータ型が指定されてしまった場合は、こちらで変更しましょう。

STEP5】「データのインポート」ダイアログでデータの返し先を選択

「データのインポート」ダイアログが起動しますので、どこにデータを返すかを指定(⑬)しましょう。

今回は、既存ワークシートのA1セルを起点にデータを返すように設定しました。

設定が完了次第、OK」ボタンをクリック(⑭)します。

これにて作業は完了です!

ワークシート上に指定ファイルのデータが取り込まれればOK

無事A1セルを起点に別ブックのデータが取り込まれました!

そして、ワークシートの右側に「クエリと接続」ウィンドウが表示されます。

そのウィンドウ上に「商品マスタ1」というクエリが作成されていることがわかりますね。

なお、クエリ名の下を見ると、5行のデータが読み込まれたことがわかります。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ取得_ブックから.zip

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ファイルを開いたら、次の手順を実施してください。(今までの解説のまとめです)

  1. リボン「データ」タブをクリック
  2. 「データの取得」をクリック
  3. 「ファイルから」をクリック
  4. 「ブックから」をクリック
  5. 任意のExcelブックを選択
  6. 「インポート」をクリック
  7. 取得対象のテーブルまたはシートを指定
  8. 指定したデータが問題ないか確認
  9. (問題なければ)「データの変換」をクリック
  10. 各列のデータ型に問題ないかを確認
  11. (問題なければ)「閉じて読み込む」をクリック
  12. 「閉じて次を読み込む」をクリック
  13. データの返し先を既存ワークシートのA1セル設定
  14. OK」ボタンをクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

本テクニックもPower Query(パワークエリ)のデータ取得の中では基本の一部です。

別ブックのデータを取り扱う頻度も高めなので、ぜひ慣れてくださいね。

なお、Power Query(パワークエリ)の各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。

ご参考になれば幸いですm(_ _)m

森田森田

別ブックのデータを取り込み、整形・加工を行うことも、Power Query(パワークエリ)があれば、マクロ(VBA)要らずですね。

別ブックを扱う頻度が高い人は、ぜひマスターしてください!