Power Queryでクエリを追加する方法|表を縦に結合する手順と注意点

ビジネススキル

Power Queryの「クエリの追加」は、複数の表の行を縦につなぎ、1つの表にまとめる機能です。月別・支店別の売上など、同じ項目を持つデータの集約に使います。共通キーで商品名などの列を付ける「マージ」とは、データのつながり方が異なります。

この記事では、追加前後のデータを図で確認してから、2つ・3つ以上のクエリを追加する操作、列名が違う場合の注意、更新後の検算まで説明します。追加は列の位置ではなく列名でそろえることが、失敗を防ぐポイントです。

  • 追加とマージの違い、追加後の完成形
  • 2つ・3つ以上のクエリを追加する手順
  • 列名不一致・重複・更新漏れを確認する方法

クエリの追加とは?まず完成形を確認する

下図では、4月の2行と5月の1行が、同じ列の下へ積み重なる点を見てください。説明用の架空データです。追加だけでは商品の集計や重複の削除は行われず、元の明細行が残ります。

4月売上2行と5月売上1行をクエリの追加で縦に結合し、3行・合計4500円になる例
図1:追加は行を縦に積む。2行+1行=3行になる。

結果は2行+1行=3行、金額合計は4,500円です。元の表にない「月」列が自動で作られるわけではありません。どの月・支店のデータかを区別したい場合は、追加前の各クエリに識別用の列を用意します。

追加・マージ・フォルダー結合の使い分け

目的使う方法データの動き
月別の売上明細をまとめるクエリの追加各表の行を縦に積む
売上に商品名を付けるクエリのマージキーで照合し、展開して列を付ける
同じ形式のファイルをまとめて読むフォルダーから取得・結合ファイル一覧と変換手順を使って統合する

商品コードなどを照合して横に列を付けたい場合は、クエリのマージの使い方と追加との違いを確認してください。追加するクエリを固定して選ぶ方法では、後から保存した別ファイルまで自動で対象に増えるわけではありません。

追加前の注意:列名が違うとnullができる

同じ意味の金額でも、一方の列名が「金額」、他方が「売上金額」なら別の列です。下図では、追加後に金額が1列へ集まらず、存在しない列の値がnullになる点を確認してください。

金額と売上金額の列名が異なる表を追加すると、別々の列ができて対応しない値がnullになる例
図2:異なる列名は別の列になり、対応しない値はnullになる。

追加する前に、列名と意味をそろえます。列の順番が違っていても、同じ名前の列へ配置されます。一方、単位が「円」と「千円」で違う場合や、数値が文字列になっている場合は、列名をそろえるだけでは不十分です。単位・データ型も確認してください。

nullは値がないことを示し、0と同じ意味ではありません。エラーが出ずに追加できた場合でも、正しいデータになったとは限らないため、列名と出力内容を確認します。

「クエリの追加」の使い方

ここまでで紹介してきました、「クエリの追加」はどのように使用すればいいのでしょうか?

実際の使用するイメージやPower Queryエディターでの使用方法について説明していきます。

クエリの追加の機能イメージ

実際に「クエリの追加」を使用するイメージですが、下図のようなファイルA~Cに保存されているデータをファイルDに集約し、集約したファイルDを使ってデータの集計・分析を行いたいとします。

このような場合、ファイルA~Cまでのデータを、

 ・手動でコピー&ペースト。

 ・VBAでのマクロを作成してファイルDへデータを転記する。

どちらかの作業を行うことが必要になります。

一方で「クエリの追加」も上記複数のファイルデータを一つのデータにまとめることができる機能です。

ただし、手動で行うことでのデータ転記漏れやVBAのように複雑なコードを駆使してマクロを作成することなく、クリック操作で同じことが行えます。

では、仕事の場面や日頃のExcel作業を行っている際、どういった状況で活用できるか、下記以降、例題でのシチュエーションを例に「クエリの追加」について使用方法を説明します。

例えば、仕事の場面で各月のフォルダに月次ないしは対象月の日別でデータが保存されている。といったこと場合があるかと思います。

例えば、仕事の場面で各月のフォルダに月次ないしは対象月の日別でデータが保存されている。といったこと場合があるかと思います。

下図のように各月のフォルダ内にExcelファイル(図では、「○月契約データ」)が保存されており、データの記帳や管理では使いやすいかもしれませんが、月ごとの傾向分析や実績の良し悪しを図るための要因分析をしようとすると、各月のファイルを1つに集約して、集計やグラフを作ったりといった作業が必要となります。

1~2か月程度であればまだ、手動転記でも漏れなく転記可能かもしれませんが、1年、2年間の月次傾向を把握しようとすると、その期間分のデータを一つにまとめることが必要です。

こうした複数フォルダ・ファイルからデータを漏れなく集約した場合に「クエリの追加」を利用すると便利であり、マクロのように作るのに時間をかけずにクリック操作で行うことができます。

2つのクエリを追加する

ここで、○月契約データのファイルを開き、データを確認してみましょう。

データの列名もA列~M列まであり、全てを抜けもれなく他の月のデータも含め、手動で転記しようとするとかえってミスが発生してしまうリスクにもなりかねないです。

一方マクロでデータを集約することも可能ですが、VBAコードを作ることや検証作業も含めると必要とするデータを作るまでには時間がかかってしまいます。

このように、データ数も多くあり、時間をあまりかけずにデータを集約したい場合、「クエリの追加」が、集約作業の選択肢になります。

実際に先ほどの○月契約データを下図のように4月~9月までのデータを読み込み、データを集約してみたいと思います。

[ ト プ OJ け ィ 
を ク エ リ の マ ー ジ 
匚 目 「 - = , 1 新 し い ソ ー ス 
デ ー タ 型 : テ キ ス ト 
詳 細 工 デ イ タ - 
1 行 目 を へ ッ ダ - と し て 使 用 
ア ク エ リ の 追 加 ・ 
最 近 の ソ - ス ・ 
プ レ ビ 1 ー 
列 の ク ル - 
閉 じ て 読 
列 の 列 の 
行 の 行 の 
管 理 
、 ′ 値 の 置 換 
た タ の 人 力 
. フ ァ イ ル の 結 合 
分 プ 化 
み 込 む 
の 更 新 ・ 
選 択 ・ 削 除 ・ 
保 持 ・ 削 除 ・ 
の 管 理 ・ ス 設 定 
閉 し る 
列 の 管 理 
行 の 削 減 
並 べ 替 ス 
変 換 
バ ラ メ - タ - デ - タ ソ - ス 新 し い ク エ リ 
ク エ リ 
く 
ク エ リ の 設 定 
, 物 bl Tr nsf0r 01 鰤 n p ” ( 異 格 さ れ た ヘ ッ ダ ー 数 . { {" 名 前 第 type text}, 仁 ふ り が な 第 type text}, 仁 ア ド レ 
X 
を ふ り が な 
ト ] ア ド レ ス 
三 性 別 
三 123 年 齢 
. 名 前 
5 月 契 駒 デ ー タ 
プ ロ バ テ ィ 
1 青 野 友 書 
女 性 
mp 工 0m 
名 前 
5 月 契 約 デ ー タ 
男 性 
何 の デ タ な の か 判 断 し や す い よ っ 
明 契 約 デ ー タ 
7 月 契 約 デ - タ 
男 性 
に ク エ リ 名 を 記 載 し ま し ょ っ 。 
す べ て の プ ロ バ デ ィ 
3 月 契 約 デ ー タ 
女 性 
9 月 契 約 デ ー タ 
広 西 岩 難 大 猪 玉 杉 
第 藝 澱 留 波 熊 般 木 原 
真 祐 物 優 友 準 慶 耕 季 
男 性 
国 0. ( 001 
適 用 し た ス テ ッ プ 
基 久 書 士 太 司 衣 一 
男 性 
nishiwaki yuuki@example.com 
い わ ぶ ち か つ ひ さ 
男 性 
ー W き bu ( hi - k uh き を 01P 工 0m 
ナ ヒ グ ー シ ョ ン 
ま つ お か ゆ う 
女 性 
れ 10 い は Ok 日 V は u30 01P 工 0m 
冐 格 さ れ た ヘ ッ タ ー 数 
な ん は と も か 
女 性 
n き 襾 b き ton約kき@き題 11P に て 0n1 
X 変 史 さ れ た 型 
お お く ま し ゅ ん し 
男 性 
00k00 物 、hu可ー@0燗1平屋工0お1 
い の ま た け い た 
男 性 
inomata keは0@e第am国e岻001 
た ま き こ う じ 
男 性 
tamaki ko切i@き題mpにて001 
す ぎ は ら と し え 
女 性 
、 は 即 h 0 ー 0 、 h 0 を X001 が e 工 0m

なお、データの読み込みや更新方法については、下記の記事をご参照ください。

【初心者でもできる】業務自動化への第一歩! Power Queryでのデータ取得と更新方法
Excelの機能である「PowerQuery」を使ってデータ加工を行うためには、まずは加工したいデータを取り込む必要があります。ですが、一言にデータといっても同じようにExcelやCSVファイルでのデータもあれば、 ・PDFファイル ・we...

また、「クエリの追加」を使用する場合、複数のクエリを1つにまとめる作業を行いますので、追加元となるクエリは何のデータかを判断しやすいようにクエリの名前を付けておきましょう。

必要なデータの取り込みが終わったら、クエリの追加を使ってデータを集約してみましょう。

まずは既存のクエリに別のクエリのデータを追加する方法を説明します。

クエリの追加を使用するには、下図①~③の工程を踏んで行います。

①:Power Queryエディターで「ホーム」を選択。

②:結合の項目にある、「クエリの追加」を選択。

③:「クエリの追加」または「クエリを新規クエリとして追加」を選択。(今回は「クエリの追加」を選択します。)

「クエリの追加」を選択し、クリックすると、下図のような「追加」のウィンドウが表示されます。

この画面で実際にどのクエリを追加するかを選択することが可能です。

実際にクエリを追加するには下記①~③の工程を行います。

①:2つのテーブル、ないしは3つ以上のテーブルどちらかを選択。(今回は「2つのテーブル」を選択します。)

②:「追加するテーブル」のプルダウンをクリックし、追加するクエリを選択する。(今回は「5月契約データ」を選択します。)

※(現在)と記載のあるクエリは追加先のクエリを示しています。

③:OKをクリックします。

実際にクエリの追加が行われると、「適用したステップ」に「追加されたクエリ」が表示されます。

クエリ名やデータ表示では一見してわかりづらいですが、追加されたクエリのM言語(下図赤枠部分)でも、「5月契約データ」がTable.Combine関数で追加されていることが分かります。

3つ以上のクエリを追加する

次に、3つ以上のクエリを集約する場合の方法を説明します。

今回は既存のクエリに追加せず、新規のクエリを作成してみたいと思います。

下図①~②までは先ほどの「クエリの追加」の選択方法は変わりませんが、③で「クエリを新規クエリとして追加」を選択します。

「クエリを新規クエリとして追加」を選択し、追加のウィンドウが表示されます。

先ほどは「2つのテーブル」を選択しましたが、3つ以上のクエリを一度に追加する場合、下図①~⑤の工程を行います。

①:「3つ以上のテーブル」を選択

②:追加したいクエリを選択。(Ctrlキーを押しながらクエリをクリックすることで、複数クエリを選択できます。)

③:クエリを選択した状態で、「追加」をクリック。

④:追加するテーブル欄に利用可能なテーブル欄で選択したクエリが反映されているかを確認。

⑤:OKをクリック。

「クエリを新規クエリとして追加」でクエリの追加を行った場合、「追加1」として新たにクエリが作成されます。

この追加1のクエリでは、指定した複数のクエリの行が集約されます。M言語では、テーブルのリストを縦に追加するTable.Combine関数が使われます。文字列をつなぐText.Combineとは別の関数です。

このように、Power Queryでデータ取り込み、エディター上で「クエリの追加」を使用することで比較的簡単に集約したデータを作成することができます。

ここで作成したデータは閉じて読み込む、もしくは次に読み込むにて、テーブル表示させることで集約したデータをワークシートに表示することもできますし、PowerPivotでデータ集計することも容易に行うことができます。

※閉じて次に読み込むやクエリの更新については下記記事をご覧ください。

【初心者でもできる】業務自動化への第一歩! Power Queryでのデータ取得と更新方法
Excelの機能である「PowerQuery」を使ってデータ加工を行うためには、まずは加工したいデータを取り込む必要があります。ですが、一言にデータといっても同じようにExcelやCSVファイルでのデータもあれば、 ・PDFファイル ・we...

追加後は行数・合計・nullを検算する

「追加できた」で終わらず、元データ → 追加対象 → 出力結果の順に確認します。冒頭のサンプルであれば、次の3点を照合できます。

  1. 行数:4月2行と5月1行を追加した結果は3行。合計行・空白行などを削除する処理がある場合は、その分を考慮します。
  2. 合計金額:1,000+2,000+1,500=4,500円。クエリの「グループ化」で金額を合計するか、読み込み後のExcelテーブルで合計を確認します。
  3. nullと重複:必要な列にnullがないかフィルターで確認します。追加は重複を自動削除しないため、同じクエリを2回指定していないかも確認します。
症状最初に見る場所対処
金額の列が2つある元クエリの列名同じ意味の列名を統一して再追加
明細や合計が増えすぎる追加対象の一覧・元表の合計行同じクエリの二重指定や不要行を除く
新しい月が入らないクエリの参照元・追加対象新しいクエリを対象に追加。元表内の追記なら範囲と更新を確認
数値を合計できない列のデータ型・変換エラー単位と表記を確認し、適切な数値型へ変換

更新するのは出力表ではなく元データ

日々の明細は、読み込み先の出力表ではなく元データへ追加します。元のExcelテーブルや参照ファイルを更新した後、Excelの[データ]→[すべて更新]を実行し、行数と合計を再確認してください。追加・読み込みは、元ファイルへ結果を書き戻す処理ではありません。

元クエリを残したい場合は[クエリを新規として追加]を使うと、入力と出力を分けて管理できます。[クエリの追加]は現在のクエリに追加ステップを作ります。どちらも元ファイルの明細を直接書き換える操作ではありません。

取得や読み込み先の選択を先に確認したい方は、Power Queryでのデータ取得・読み込みと更新方法へ進んでください。基本的な機能全体は、Power Queryでできること・使い方・デメリットで整理しています。

「クエリの追加」のメリット・デメリット

ここまで「クエリの追加」に関する概要や活用イメージや例を基にした使い方を説明してきましたが、「クエリの追加」以外にもVBAでのデータ転記ツールを作ることや手作業で転記を行うことでもきます。

では、「クエリの追加」を使うメリットは何なのか?またデメリットにはどのようなことがあるのか。これまでPower Queryでこのクエリの追加を使ってきた視点でメリット・デメリットをまとめてみました。

クエリの追加のメリット

比較的簡単かつ漏れなくデータを集約できる。

これまでの記載でも触れてきましたが、データを集約するにあたってほとんどがクリック操作で簡潔してしまう作業です。

そのため、マクロツールを作成するにあたって、複雑なVBAコードを時間をかけて作成すること。また手作業で転記を行い、転記漏れが発生してしまうということが起こりづらいです。

工数削減やデータの品質担保を行う上では非常に便利な機能と言えます。

データ更新が簡単に行える。

Power Queryエディターでデータを集約しているため、データの取り込み元となるファイルが都度更新されても、クエリの追加でデータを集約したファイルを「全て更新」または対象となるクエリを更新することで作成したクエリのデータを常に最新の状態に更新することができます。

こちらもマクロツールや手動で行うよりも簡易かつ自動で行えるため、工数をかけずに更新することができます。

異なる項目列のデータを縦につなげる(追加する)ことができる

「クエリの追加」の使い方で例として取り上げたファイルでは、全てが同一項目列のクエリを複数追加する作業を行っておりましたが、実は異なる項目列があるクエリを追加することも可能です。

異なる項目列があるファイルをマクロツールで集約しようとすると、コードの作り方にもよりますが、大半がエラーが発生してしまい、データを集約することができなくなってしまいます。

ですが、クエリの追加の場合、異なる項目列があるクエリを追加しても基本的にはエラーが起こらずにデータが作成されます。この場合、項目列が存在しないクエリのレコードではその項目にあたるデータは全てNull(ワークシート上、空白扱い)となります。

使い方次第では単純にデータを集約するだけでなく、データ集計・分析の観点で新たなデータを作ることにも利用することが可能です。

一方で上記でも触れたようにエラー表示がないため、間違ったデータを取り込んでしまってもクエリの追加は動作してしまうため、注意が必要です。

クエリの追加のデメリット

ファイルサイズが大きくなりやすい。

「クエリの追加」は使い方や更新が簡単である一方で、多数のファイルを取り込んで集約を行うため、ファイルサイズが大きくなりやすい傾向にあります。

データのインポート時に「接続の作成のみ」の選択を行うことでデータサイズを押さえることは可能です。ただし、ワークシート上に集約したデータを反映することができなくなるため、あくまでも集計やグラフ作成を行う場合に利用可能であり、基本的にはそれ相応のファイルサイズになる可能性は高くなるかと思います。

「メモリ不足」により、ツールの更新ができなくなる可能性がある。

このデメリットは取り込んだファイル数やファイルサイズやPCのスペックによるものではありますが、クエリの追加で追加するクエリ数が多いまたはファイルサイズが大きい場合、Excelのメモリ不足によりクエリ更新ができなくなってしまう場合があります。

私の経験則となってしまいますが、PCのメモリが8GBの場合、20ファイル以上、または100MB以上のExcelファイルを取込。全て更新しようとするとメモリ不足となりやすいと感じます。

ただし、これはPCの利用環境にもよるものではありますので、一概に上記の内容で必ずメモリ不足になるという訳ではないので、あくまでも一例となります。

Power Queryや「クエリの追加」を効率的に学ぶためには

これまでの記載のように、Power Queryの「クエリの追加」を使いこなせるようになることで、簡単に多数あるExcelファイルのデータをまとめ、データの集計・分析に活用することが可能です。

ですが、

 ・Power Queryやクエリの追加について、学習している時間がない。

 ・書籍を読んでも、なかなか身に着けることができない。

といった方もいらっしゃるのではないでしょうか?

私自身も時間がない中でどうやって学習すればよいか悩みました。

そんな中、学習を行う上で、非常に役立ったのが、

Udemy

というサイトでの学習コンテンツでした。

≪Udemyへはこちらから≫

Udemyホームページ

Udemyでの動画を活用することで、

 効率的にPowerQueryやその先の集計(Power PivotやDAX)を学習できた。

 学んだスキルを定着させ、日々の仕事に活かすことができている。

大きく2つのメリットが自身にとってありました。

Udemyについては、過去にまとめた記事がありますのでそちらもご参照ください。

Udemyの評判は?実際に利用して気づいた活用法を徹底解説!
この記事では私が実際に活用している「Udemy」についてまとめています。 ・Udemyの評判、実際に使った感想は? ・質の高い動画を購入するためには? ・おすすめのコースは? といった疑問の解消や新しいスキル取得を目指す方は是非、ご覧ください!
【必見】Udemyとは?概要と特徴、Excel VBAを効率的に学べるおすすめコース5選の紹介!
オンライン学習プラットフォーム「Udemy」の概要・特徴と、Udemyで公開されているExcel VBAコースのうち、おすすめ5選を紹介しています!

特にUdemyを利用して、

 ・ハンズオン形式で手を動かしながら学ぶことができる。

 ・動画のため、再生速度を調節しながら時短できる(1.5倍速~2倍速で視聴していました。)

 ・ポイントを絞って、繰り返し視聴で学習できる。

といった良かった点がありました。

Udemyではよくセールをしているため、1動画1,200円~1,800円程度で購入できます。

(本1冊分で効率よく学習することができます。)

特に、私がUdemyでPowerQueryについて学習していてオススメの動画が下記3つでした。

①Microsoft Excel – Power Pivot, Power Query, DAX 入門講座

 ≪こんな方にオススメ!≫

  Power Queryでの加工からPower PivotやDAXを使った集計・分析までをざっくりと学んでみたい方向け。

②【続】Microsoft – Excel Power Pivot 入門講座 ~Power Query Editor編~

 ≪こんな方にオススメ!≫

  Power Queryエディターでのデータ加工/整形方法を集中的に学びたい方向け。

③Excel& Power BI両方で使えるPower Query 完全ガイド 初級者から上級者まで対応

 ≪こんな方にオススメ!≫

  Power Queryの概要は理解しており、さらに発展的に学びたい方向け。

PowerQueryを学習してみたい、仕事に活かしてみたいと思った方は是非、利用・活用してみてください!

書籍はこちらがオススメ!

まとめ:列名をそろえて追加し、行数と合計で確認する

今回はPower Queryの機能の1つである「クエリの追加」について紹介しました。

「クエリの追加」が使いこなせるようになることで、これまでマクロを作る時間や手作業で行っていた工数を大幅に削減できるだけでなく、転記漏れといったミス防止にもつながり、「工数削減」、「ミス防止」の両面で活用できる機能であるといえます。

また、前回の記事で記載した「クエリのマージ」の機能も合わせることでデータ活用や集計・分析といったスキル向上にも役立つ機能となります。

今回の記事をご参考にぜひ仕事やExcel作業でご活用いただけると嬉しいです。

ビジネススキルの人気オンラインコース

コメント

タイトルとURLをコピーしました