パワークエリで同じブック内の表データを対象に整形したいですが、何のコマンドでデータを取得すれば良いですか?
その場合、「テーブルまたは範囲から」コマンドでデータ取得できますよ!
では、詳細を解説していきますね。
解説動画
この記事の内容は下記の動画「【パワークエリ#2】同一ブックを対象としたデータインポート手順 – Excelブック内のデータ(テーブル/セル範囲)を自動取得する」でも解説しています。
コメント欄の目次の時間部分をクリックすると該当の解説へジャンプできますよ!
はじめに
この記事はパワークエリの概要を把握していることが前提です。
パワークエリの概要は以下の記事をご参照ください。
Excelのパワークエリ(Power Query)の概要、できること、基本的な使い方をExcel本著者が初心者向けに解説。データ収集/整形を自動化する流れを豊富な図解でわかりやすく学べます。
「テーブルまたは範囲から」コマンドとは、同じブック内のテーブルやセル範囲のデータを取得する機能
「テーブルまたは範囲から」コマンドは、クエリの新規作成ステップのうち、Step1の「データソースを取得/収集(Extract)」に該当する機能です。
Excelで同じブック内のテーブルまたはセル範囲を対象にクエリを記録したい場合に、「テーブルまたは範囲から」コマンドを使いましょう。
「テーブルまたは範囲から」コマンドを活用することで、Power Queryエディターを起動し、同じブック内のテーブルまたはセル範囲をクエリのデータソースとして取得できます。
一例として、「商品マスタ」シートのA1~C6のセル範囲を対象に「テーブルまたは範囲から」コマンドで取得したものが以下です。
この通り、Power Queryエディター上でセル範囲の表データを取得できました。
「テーブルまたは範囲から」コマンドの場合、デフォルトのクエリ名はテーブル名になる(元がセル範囲の場合は「テーブル1」等)。
なお、セル範囲をクエリのデータソースに指定するタイミングで、セル範囲はテーブルへ自動的に変換される仕様です。
後は、クエリ新規作成ステップのStep2とStep3を行いましょう。
これにより、データソースにしたテーブル/セル範囲の更新があっても、クエリに記録したステップを自動化できます。
クエリの新規作成ステップのStep2に役立つ各種コマンドや、Step3の手順の詳細を知りたい方は、パワークエリの概要記事をご参照ください。
【Excel】パワークエリ(Power Query)とは?できることや使い方入門【動画あり】
「テーブルまたは範囲から」コマンドの使用手順
「テーブルまたは範囲から」コマンドは、以下の手順で使用します。
- データソースにしたいテーブルまたはセル範囲を選択
※今回はA1~C6セルのセル範囲 - リボン「データ」タブをクリック
- 「テーブルまたは範囲から」をクリック
- 「OK」をクリック
手順②は、手順①の表の上で右クリックでもOK。
手順①の表がテーブルの場合、手順④は不要(「テーブルの作成」ダイアログが起動しない)。
【応用】セル範囲をテーブルに変換せずデータ取得する方法
前述の通り、同じブック内のセル範囲をクエリのデータソースにした場合、自動的にテーブルへ変換される仕様です。
基本的には、テーブル範囲(行×列)を拡大/縮小に合わせて、クエリのデータソース範囲が連動するため、テーブルにしておく方が利便性は高いです。
ただし、データソースに指定後も、元のセル範囲の状態のままにしたいという場合も稀にあるでしょう。
この場合、あらかじめ対象のセル範囲に名前または印刷範囲を設定しておくことで、テーブルへ変換せずに済みます。
デフォルトのクエリ名は、名前または印刷範囲名(シート名!Print_Area)になる。
ケースに応じて使い分けてください。
なお、この回避策はX(旧Twitter)でm.tanakaさん(@Chiquilin365)に教えていただきました。
整形前の表であっても、予め範囲に名前を付けるか、印刷範囲の設定を先にしておけば、テーブル変換しないで読み込めますよ。
私は「単発処理」の時は後者で済ませてます。
「印刷範囲の設定」→「テーブルまたは範囲から」
だけなので。 https://t.co/CPsnfxhDJa— m.tanaka (Chiquilin) (@Chiquilin365) August 21, 2024
名前の詳細を知りたい方は、以下の記事をご参照ください。
【Excel基本】数式の参照セルを分かりやすくできる「名前」と「構造化参照」とは
クエリ作成後、データソースに指定したテーブル名・名前の変更手順
「テキストまたは範囲から」コマンドで取得したデータソースの対象となるテーブル名や名前を後から変更した場合、以下のエラーメッセージが表示されます。
印刷範囲を設定した場合、名前に含まれる。
Expression.Error: ‘テーブル名 or 名前’ という名前の Excel テーブルが見つかりませんでした。
詳細:
テーブル名 or 名前
この場合、以下の手順でクエリの「ソース」ステップの数式を編集すればエラーは解消します。
- 「ソース」ステップを選択
- 数式バーのテーブル名 or 名前を修正
- 「Enter」キーで確定
数式バーが表示されていない場合、リボン「表示」タブの「数式バー」のチェックをONにすること。
手順③まで終えるとPower Queryエディターのプレビューウィンドウが更新されるため、無事にデータソースに指定した表データが再度取得されたかを確認しましょう。
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
PowerQueryデータ取得_テーブルまたは範囲.xlsx
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)
ブックを開いたら、次の手順を実施してください(今までの解説のまとめです)。
- データソースにしたいテーブルまたはセル範囲を選択
※今回はA1~C6セルのセル範囲 - リボン「データ」タブをクリック
- 「テーブルまたは範囲から」をクリック
- 「OK」をクリック
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
「テーブルまたは範囲から」は、同じブック内のテーブルまたはセル範囲をクエリのデータソースとして取得できます。
データソースの取得/収集の一番基本的なコマンドになるため、まずはここからクエリ新規作成に慣れて行きましょう!
なお、パワークエリの各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。
ご参考になれば幸いですm(_ _)m
「テーブルまたは範囲から」コマンドに慣れたら、他の種類のデータソース取得に役立つコマンドを覚えましょう。
まず覚えるべきは、実務での利用頻度が高い「テキストまたはCSVから」・「Excelブックから」・「フォルダーから」コマンドです。
表データの更新場所に応じて、各コマンドを使い分けできると、自動化の範囲を広げることができますよ!

