さくっとエクセレートさくっとエクセレート

【PowerQuery使い方入門】「クエリと接続」でエクセル効率化

Thumbnail for 【PowerQuery使い方入門】「クエリと接続」でエクセル効率化

はじめに

Excel(エクセル)のクエリ、 Power Query(パワークエリ) はデータの転記や加工を自動化できる非常に便利な機能です。 しかし、 通常のExcel使用時とは 異なるUIや独特な操作手順 であるため、 見慣れない最初のうちはとっつきにくいです。

本記事では、 Power Queryで最低限覚えておくべきこと 基本的な操作手順 をまとめました。 Power Queryの基本は、 データの「 取得 」「 加工 」「 配置 」「 更新 」の4つです。

用語整理

一般的にIT分野においては、「クエリ」とは「ソフトウェアに対する命令文」を意味します。

  • クエリ: 保存された個別の「命令文 / 処理手順」
  • パワークエリ (Power Query) : 機能全体・ツールの名称

基本的な使用手順

Power Queryの基本の手順は下記です。

  1. データの取得
  2. データの加工
  3. データの配置
  4. データの更新

上記のそれぞれの手順について、 操作方法を説明します。 各手順ごとの詳細は、別の章にまとめました。

ここでは、例として 「別ブックのデータを読み込み、不要な行を削除しテーブルとして配置」 する操作手順を示します。

STEP1

データの取得

Power Queryを使うときの最初は、 データの取得から始めます。 読み込むデータを指定します(詳細)。

  1. データタブのデータの取得 > ファイルから > Excelブックからを選択。
  2. 読み込む ブック を選択。
  3. ナビゲーターダイアログで読み込む シート を選択し、データの変換をクリック。
データの取得
STEP2

データの加工

Power Queryエディターでデータの加工・整形を行います(詳細)。 ここでは、個数列が空(null)の行を削除します。

  1. Power Queryエディター内で、見出し個数のフィルターボタンをクリック。
  2. nullのチェックを外し、OKをクリック。
データの加工
STEP3

データの配置

加工したデータをテーブルとして、シート上に配置します(詳細)。

  1. ホーム / ファイルタブ > 閉じて次に読み込む... を選択。
  2. データのインポートダイアログで テーブルを選択。
  3. データを返す先を選択してください。欄で、テーブルの配置場所を指定し、OKをクリック。
データの配置
STEP4

データの更新

読み込むデータに変更があった場合、変更内容を反映するには「更新」操作が必要です(詳細)。

データタブのすべて更新を押します。

データの更新

各手順の詳細

上記の基本的な手順の 1. 取得 」「 2. 加工 」「 3. 配置 」「 4. 更新 をそれぞれ詳しく解説していきます。

解説の前に、 これら4つの手順の位置づけを示し、整理しておきます。

 

手順の位置づけ・整理

取得取得加工加工更新更新配置配置

4つの手順では、 1. 取得 」「 2. 加工 」「 3. 配置 」で処理する内容を設定し、 4. 更新 」で処理を再実行します。

処理内容を設定する3つの手順はそれぞれ Extract (データ取得 / 抽出)、 Transform (加工 / 変換)、 Load (配置 / 書き出し) の3工程に相当し ETL と呼ばれます。 その中でも 1. 取得 」「 2. 加工 」はクエリ作成、 3. 配置 」は出力設定に分割できます。

整理すると下記の通りです。

手順設定/実行分類設定 / 実行画面
(初回)
設定/ 実行画面
(修正時)
1. 取得設定クエリ作成ナビゲーターダイアログPower Queryエディター
2. 加工Power Queryエディター
3. 配置出力設定データのインポートダイアログデータのインポートダイアログ
4. 更新実行クエリ実行設定時に自動で実行データタブ > すべて更新ボタン

Excelの通常画面から各画面に移動する方法

  • ナビゲーターダイアログナビゲーターダイアログ:
    • 方法1. データタブのデータの取得 / テキストまたはCSVから / Webから
  • Power Queryエディター :
    • 方法1. データタブのデータの取得 > Power Queryエディターの起動を選択。
    • 方法2. 「クエリと接続」欄のクエリを右クリック > 編集を選択。
    • 方法3. Power Queryで配置したテーブルのセルを選択 > クエリタブの編集を選択。
  • データのインポートダイアログデータのインポートダイアログ:
    • 方法1. 「クエリと接続」欄のクエリを右クリック > 読み込み先...
    • 方法2. クエリタブの読み込み先...
 

1. データの取得

Power Queryの最初の手順 は「データの取得」です。 安定な外部参照ができるのがPower Queryの特徴で、 Excelブック以外も読み込めます。

読み込み可能な対象

  • 同一ブックのテーブル
  • 別ファイル(Excelブック、CSV, PDF, Webなど)※

複数のファイルをフォルダごと読み込むことも可能

初回の設定方法

最初はデータタブのデータの取得付近(データの取得と変換エリア)のボタンを押すことから始まります。 たとえば データの取得 > ファイルから > Excelブックから / フォルダーから を選択します。

その後は、基本的には ナビゲーターダイアログを進めていくだけです。 進めていくと「データを取得するクエリ」が自動的に裏側で作成されます。

テーブルを読み込める

読み込むデータをテーブル化しておくと、リンクが切れにくくなるのでオススメです。

テーブル化してある場合は、ナビゲーターダイアログ中で「 シート 」選択画面で「 テーブル 」が選択できます。

データの変換を押すと Power Queryエディターが起動し、 次の手順「2. 加工」に進みます。 「2. 加工」(「3. 配置」)をスキップする場合は 読み込み読み込み先...)ボタンを選択します。

  • データの変換 : Power Queryエディター起動 → 「2. 加工」へ
  • 読み込み : Excel通常画面へ戻り、新規シートにテーブル配置 → 「4. 更新」へ
  • 読み込み先... : データのインポートダイアログが開く → 「3. 配置」へ
吉峰
吉峰

データを加工しない場合でも、 「読み込み内容確認」の意味でデータの変換を選択する癖を付けておくと良いでしょう。

設定内容の修正方法

「1. 取得」の設定内容を修正するときは、 Power Queryエディターを使います。

適用したステップ上の方のステップ が「データの取得」に該当するステップです。 数式バーや詳細エディターでM言語コードを書き換えることで、 設定内容を修正できます。

吉峰
吉峰

参照するファイルの パスを変更 したりできます。

 

2. データの加工

Power Queryエディターを使って、 「行・列の削除」「フィルタ」「結合」「データ型の変更」などの データの加工・変換が行えます。

「2. 加工」の手順は、 初回の設定時でも、設定内容の修正時でも Power Queryエディターを使用します。

Power Queryの細かい使い方は後述します。

 

3. データの配置

「3. 配置」では、Power Queryのクエリによって得られたデータの 出力方法場所 (シート・セル)を指定します。 設定はデータのインポートダイアログで行います。

出力方法の種類

  • テーブル
  • ピボットテーブル(ピボットテーブルレポート)
  • ピボットグラフ
  • 出力なし(接続の作成のみ

データはPower Pivotで使える

ダイアログ中のこのデータをデータモデルに追加するにチェックを入れると、
Power QueryからのデータがPower Pivotで使用できるようになります。

吉峰
吉峰

「3. 配置」の設定は、クエリ自体を書き換えません。

 

4. データの更新

「4. 更新」では、クエリの処理を実行し、 読み込むデータの中身を再取得・更新します。 最初の「1. 取得」~「3. 配置」の設定直後は、 自動でデータが更新されますが、 それ以降では手動で実行する必要があります。

吉峰
吉峰

一定間隔での自動更新を設定することも可能です。

以下のいずれかの方法で更新できます。

  • すべてのクエリを更新 : データタブのすべて更新を選択
  • 特定のクエリを更新 : クエリと接続欄で、クエリ横の「更新ボタン」を選択
  • 特定のクエリを更新 : 配置したテーブルを右クリック > 更新を選択

Power Queryエディターの使い方

Power Queryエディターの使い方を説明します。

吉峰
吉峰

Power Queryエディターでは、 クエリの中身を編集し、 データの「1. 取得」「2. 加工」の内容を設定できます。

クエリとPower Queryエディターの仕組み

クエリ は「処理ステップ」の集まりのことです。
クエリの中身は M言語 と呼ばれる専用の言語のコードで記述されます。

Power Queryエディターでは、
マウス操作コードの直接編集 でクエリの編集が可能です。
マウス操作 でクエリの編集を行うと、
裏側でM言語のコードが自動生成・削除されます。

ここでは、 エディターの起動・終了方法、 エディター画面の見方、 マウスでのデータ加工方法、 コード(M言語)でのデータ加工方法 について取り扱います。

 

エディターの起動・終了方法

Power Queryエディターを 起動 するには、 次のいずれかを行います。

  • (クエリ作成開始時)データタブのデータの取得テキストまたはCSVからなどからナビゲーターダイアログを進め、データの変換を選択。
  • データタブのデータの取得 > Power Queryエディターの起動を選択。
  • 「クエリと接続」欄のクエリを右クリック > 編集を選択。
  • Power Queryで配置したテーブルのセルを選択 > クエリタブの編集を選択。

Power Queryエディターを 終了 する方法は、 次の通りです。

  • 変更内容を保存する場合 :
    ファイル / ホームタブから下記を選択
    • 閉じて読み込む
      クエリを保存し、新規シートにテーブル出力(出力設定が済んでいる場合は、既存の場所のデータを更新)

    • 閉じて次に読み込む...:
      クエリを保存し、出力設定へ

  • 変更内容を保存しない場合 :
    エディターの右上の×ボタンをクリック > 破棄を選択
 

画面の見方

Power Queryエディターの画面の見方を説明します。 エディターは、以下の 4つのエリア があります。

  • 左の「クエリ」エリア :
    • 作成済みのクエリが一覧表示される。
    • 編集するクエリが選べる。
  • 右の「適用したステップ」エリア :
    • 選択中のクエリ内の処理ステップが一覧表示される。
    • 編集するステップが選べる。
  • 中央のテーブルエリア :
    • 選択中の処理ステップによる結果が表示される。
    • マウス操作で「列の並び替え」「行のフィルタ」などのデータ加工ができる
  • 上部のメニューエリア :
    • マウス操作で「行・列の追加」「データ型の変更」「テーブルの結合」などのデータ加工ができる
    • エディター、クエリの操作もできる(エディターを閉じる、詳細エディターの起動、クエリの新規作成など)
Power Queryエディターの画面の見方
 

マウスでのデータ加工方法

Power Queryエディターの 中央のテーブル上部のメニュー を使うことで、 マウス操作によるデータ加工が可能です。

マウスでデータ加工の操作を行うと、 右の「適用したステップ」エリア に処理のステップが記録されていきます (中身はM言語のコード)。

吉峰
吉峰

ステップはわかりやすい名前に変更可能です。

Undoはできない

マウス操作でデータ加工を行ったとき、
Ctrl + z(Undo)は使えません。
取り消す場合は、
右の「適用したステップ」エリアに追加された ステップの削除・並び替えで対応 します。

 

コード(M言語)でのデータ加工方法

M言語コードを直接編集してクエリを書き換える場合は、 Power Queryエディターの 数式バー詳細エディター を使用します。

  • 各ステップごと編集する場合 :
    数式バー を使用する(上部のメニューエリアの直下)
  • 全ステップを編集する場合 :
    詳細エディター を使用する(ホームタブの詳細エディターを選択)

「クエリと接続」欄でできること

Excelの通常画面で、 データタブのクエリと接続ボタンを選択すると 右側にクエリと接続欄が表示されます。 クエリと接続欄では下記が行えます。

  • クエリの編集 :
    クエリを右クリック > 編集 > Power Queryエディター起動
  • 出力設定の変更 :
    クエリを右クリック > 読み込み先... > 「データのインポート」ダイアログ表示
  • クエリの実行(データ更新) :
    クエリ右側の「更新ボタン」をクリック
  • クエリの自動更新の設定 :(専用ダイアログの表示)
    クエリを右クリック > プロパティ > ダイアログの使用タブの定期的に更新するにチェック

不具合・エラー対処法

 

読み込むデータの保存ができない、ロックされるとき

「読み込む側」と「読み込まれる側」の両方のブックを開いた状態で、 Power Queryで読み込むと、読み込まれる側のブックが保存できないことがあります。

吉峰
吉峰

「Container.Loader」によってファイルがロックされることがあるようです。

【症状】

  • 保存しようとすると...
    「'XXX.xlsx'への変更は、共有違反のため保存されませんでした。別のファイルに保存し直してください。」
    と表示され保存できない。
  • 名前の変更 / 移動しようとすると...
    「Microsoft.Mashup.Container.Loader.exeによってファイルは開かれているため、操作を完了できません。」
    と表示され、ファイル名の変更やファイルの移動ができない

【対策】

「読み込む側」でPower Queryエディターを開き、クエリの最後に 行の反転変換タブより)ステップを2つ加える

Power Queryはデータ活用の根幹

上記で説明した通り、 Power Queryの基本手順は、 データの「 取得 」「 加工 」「 配置 」「 更新 」の4つです。

Power Queryは、テーブル機能と組み合わせることで、
外部ファイルの利用がしやすくなり、
転記の自動化、簡易データベース運用などに応用できます。
Power Query × テーブルによってデータ活用が進むと、
業務効率化が大きく進むはずです