カテゴリー別アーカイブ: Power Query

複数データの組み合わせ/クエリのマージ~中級編1回目~

今回から、中級編をはじめます

初級編では、データを取得してエクセルシートに読み込むだけでした

中級編では、取得したデータを編集・加工していきます

このデータ編集・加工手法を身に付ければ、様々な箇所から集めた大量のデータを関数やVBAを使わないでも、サクッと一括処理ができるようになります!

次回から2回は、関数やVBAを使用した場合には作成に手間がかかりそうな表を サクッと2つの表を組み合わせるだけで作成する方法を紹介します

今回は、次の回から主に使用する技術の概要だけ紹介しておきます

1.クエリのマージ

イメージとしては下の図のようなことを行います

関数で言えば、VLOOKUP関数も同じような事ができますが、このPower Queryのマージには、VLOOKUP関数で処理する時と比べて次のようなメリットがあります

・他の表から抽出する項目が多く、データ自体が大量な場合

 ⇒ワンクリックで処理できる

・VLOOKUP関数の場合は参照する値の位置が左にないと使用できなかった

 ⇒位置は関係なく処理できる

ちなみに、Power Queryにて実際にマージを行う画面は、以下の画面になります

2.計算処理

Power Query上では、2つの表を組み合わせた上での計算処理が、とても簡単に行えます

計算処理がもし±X÷を行う四則演算であれば、対象となる列を指定するだけで計算処理が行えます

SUMIFやSUMIFSなどの、関数であれば条件設定が伴う、少しややこしい計算も、下の図のような画面にて、直感的に計算処理が行えるようになっています

では次回から2回に分けて、1.クエリのマージ、2.計算処理を中心に解説を行って行きます!

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ


にほんブログ村

クエリのマージ/項目追加~中級編2回目~

中級編2回目は前回紹介したマージの技術を、実際にサンプルを使用して解説を行います

下の図にある商品台帳売上台帳が解説に使用するデータです

こちらの表2つを組み合わせる(マージする)ことにより、2つの表に分かれていた項目を組み合わせて活用できるようにします

下の図のように、売上台帳に商品台帳の「商品名」と「販売単価」を追加します

今回のポイント

A.キー列を設定します

2つの表を組み合わせるためのキー列を指定します

B.組みあせる項目、組み合わせ方を選択します

下記の画面で組み合わせる項目と組み合わせ方を指定します

上の図に”集計”とありますが、集計については次回に解説します

では早速、下記にサンプルファイルをダウンロードして演習をすすめていきましょう!

1.クエリ作成

商品台帳と売上台帳ともに、次の①~③の処理を行い、クエリを作成しておきます

①Power Query Editorを開く

データタブから”テーブルまたは範囲から”を指定して、Power Query Editorを開きます

範囲を指定する際、自動的に題名の部分(下の図であれば商品台帳)がテーブルの見出しとして範囲に入ってしまうケースがあります

こちらについては、題名部分を除いて範囲を指定し直してください

②Power Query Editor上の処理

Power Query Editorの画面右にて、クエリに名前をつけましょう!

マージ処理をする時にクエリー名が分かり易くつけてあると、処理がとても進めやすいです

③読込処理

ホームタブの右上の「閉じて読み込む」ボタンの右に▼マークがあるので、こちらをクリックしてください

すると、次の画面のように「閉じて次に読込む」ボタンが出てきますので、こちらをクリックします

そうすればデータのインポート画面が開くので、読込先を指定できるようになります

下の図のようにデータのインポート画面が開いたら、読込先は”接続の作成のみ”を指定してください

ここまで行えば、クエリが画面右に出来ています!

上の①~③の処理を通じて2つのクエリを作成したら、2.のマージ作業に移ります

2.マージ作業

2つのクエリをマージする場合、事前に2つの方法が選択できます

ⅰ)既存のクエリにマージする方法

ⅱ)新規にマージ用のクエリを作成する方法

今回はⅱ)で行います

➀売上台帳クエリを参照

新規にクエリを作成するといっても、全く一からクエリを作成するわけではありません

売上台帳クエリを基にして新規のクエリを作成します

まずは、売上台帳クエリ上にカーソルを置いて右クリックし、更に”参照”をクリックします

「参照」をクリックしたら、Power Query Editorが開きます!

➁クエリのマージをクリック

新しいクエリのクエリ名は、次の画面のように変更しておきましょう!

③クエリのマージ

次に画面上にある、「クエリのマージ」ボタンをクリックします

④マージするテーブルを指定

マージをクリックした後に、新規に次のGIFにあるように「マージ」方法を指定する画面が立ち上がります

この画面では マージするテーブルとキー列を次のように指定します

テーブル⇒商品台帳、キー列⇒商品コード

⑤マージする項目、方法を指定

④が終了すると下記の画像のように、商品台帳の内容が一番右の列に追加されます

次に、商品台帳の右横にあるマーク(2つの矢印の組み合わせたマーク)をクリックし、実際に組み合わせる項目と組み合わせ方法を指定します

上のGIFのように、マークをクリックした段階では全てにチェックが入っています

ここでは商品名と販売単価はチェックを入れたままにしましょう!

「元の列名をプレフィックスとして使用します」についてはチェックを外しましょう

チェックを入れたままだと下の図のように、余計な名前(商品台帳)が商品名と販売単価の左横に表示されるようになってしまいます

⑥読込処理

今回は”閉じて読み込む”を指定し、接続の作成のみでなく、実際にシートに読み込みます

これでマージ処理は完成です!

<まとめ>

はじめてのマージ処理はいかがだっだでしょうか?

2つの表を組み合わせるにあたり、VLOOKUP関数を2つの列 (商品名、販売単価 で作成する)よりずっと簡単だったのではないでしょうか?

もし、”しまった、他の項目も追加が必要だった”ということになっても、関数を追加したりしなくても、簡単に追加が行えます

具体的な方法については次回、詳細に解説します

次回は単に項目の組み合わせだけでなく、計算処理も行います!

にほんブログ村 資格ブログ ビジネススキルへ

にほんブログ村 IT技術ブログ VBAへ

にほんブログ村
</a

クエリのマージ/計算処理~中級編3回目~

こんにちは、Excellent仕事術ガッツ鶴岡です

前回は2つのクエリーをマージして、項目が追加されたクエリーを作成しました

今回は、追加した項目を更に深堀活用し、本来であれば関数やVBAの使用が必要な処理をサクッと行う方法を習得しましょう!

解説は前回と同じサンプルファイルを使用して行います

今回使用するデータ

今回の解説では、商品台帳と売上台帳の2つの表から、下の表を作成します

前回、売上台帳に商品台帳の「商品名」と「販売単価」項目を追加しましたが、今回は、更に「販売個数の合計」と「売上金額」も算出した表にします

<今回のポイント>

A.条件付き集計

今回の集計処理では、同じ商品コードに紐付く「複数の値」を集計します

エクセル関数でいえば、SUMIFS関数と同じ処理です

しかも、SUMIFS関数よりももっとシンプルな方法で集計します

前回、クエリの項目を追加する時に使用した画面と同じ画面にて、単純にマージ方法として「集計」を選ぶだけです!

B.一括計算

1.で商品コード毎に販売個数を集計したら、販売単価を乗じます

乗じる処理は、乗じる列を選択して計算方法を指定するだけです

2つのポイントを確認したところで、早速、詳細な解説に入りましょう!

1.条件付き集計

前回と同じ様に、クエリーを参照して新たなクエリーを作成するところから処理を開始します

➀参照するクエリーの指定

今回は商品台帳を参照元にします

商品台帳クエリー上で右クリックし、下の画像の様に「参照」が選択できるようになったら、参照のテキストをクリックしましょう!

➁クエリのマージ

Power Query Editorが開いたら、ホームタブの上にある「クエリのマージ」をクリックしましょう!

下の画像のようなマージ画面が開いたら、前回と同じく商品コードをキーにして売上台帳クエリをマージしましょう

③条件付き集計処理

事前に新たに作成したクエリの名前は変えておきましょう

クエリの名前を変更したら、マージした売上台帳の項目を、下の画像の黄色の箇所をクリックしましょう!

次に開いたマージ方法を詳細に設定する画面では、前回と違い「展開」ではなく「集計」をチェックしましょう

その際に”元の列名を・・・”はチェックを外しておきましょう

そして、本来であれば上の画像の一番下「Σ販売個数の合計」をチェックして指定してください、というべきところです

試しに、「Σ販売個数の合計」の一つ上、「Σ商品コードの合計」をチェックして指定してみてください

すると次の画像のように表示されます

もちろん、商品コードを合計しても意味はありません

もし、指定を間違えてしまった時の対処は、Power Queryであればどうするのか?ということを解説するため、敢えて本来とは違うものを指定してもらいました

間違いを回復するには、下の画像の「適用したステップ欄」の黄色の箇所をクリックしてください

すると前回行ったチェック指定がやり直せるようになります

Power Queryでは、上の画像のように「やり直し」を行う場合には「適用したステップ欄」を使用します

詳細は後日、解説を行います

それでは「やり直し」を行い、下の画像のように本来の”販売個数の合計”が表示されたところで2.一括計算の解説に移ります

2.一括計算

計算したいのはⅰ)販売単価とⅱ)販売個数の合計を乗じた売上金額です

➀計算対象の列、ⅰ)ⅱ)を選択する

Ctrlキーを押しながら、販売単価の列と販売個数の合計の列を選択しましょう

➁画面上のタブから「列の追加」を選択

画面上のタブから列の追加をクリックすると、右側に計算機のようなマークがついた「標準」が見えます

次に「標準」マーク下の▼をクリックしましょう!

③計算方法の指定

マークをクリックした後に表示された「各種計算方法」から乗算を選択してクリックしましょう!

すると上のGIFのように、一番右に新たな列が追加されます

この新たな列には、計算結果が出力されています

列の名称は”乗算”から”売上金額”に変更しておきましょう

④読込処理

列の追加タブからホームタブにもどり、エクセルシートへの読込処理を、下の画像の「閉じて読み込む」ボタンを通じて行いましょう

販売個数と売上金額が出力されているのを確認したら処理は終了です

<まとめ>

 今回は商品台帳と売上台帳をマージして、商品コード毎に「a:販売個数」を集計処理しました

 そして、集計した「a:販売個数」と「b:販売単価」とをPower Query Editor上で更に乗じて「c:売上金額」まで計算した表を作成しました!

 エクセル関数のVLOOKUP関数とSUMIF関数を使用しても同じことが行えますが、もっと楽に表を作成できているのではないでしょうか?

関数と違って、カーソルで対象を指定しながら直観的に行えるのもとてもうれしいです

 それに、もし、表の作成の仕方を間違えたとしても、間違いを起こした場所からやり直せます

さて、計算の元になる表の値が変わった場合にはどうすればいいのでしょうか?

関数で表を作成していれば、自動計算されています

 Power Queryの場合には、関数を使用した場合と違って、1つ余分な処理を行う必要があります

 この場合は下の画像の中にある「すべて更新」をクリックします

そうすれば、表の中で再計算が行われます

今回の解説は以上です

次回は、今回と同じように複数のクエリを組み合わせて扱う方法を解説します

但し、今回のように商品台帳と売上台帳といった、違う内容のクエリを組み合わせるのではありません

同じ項目から構成される複数のクエリを追加して、組み合わせる方法の解説になります

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

クエリの追加作成~中級編4回目~

こんにちは、Excellent仕事術ガッツ鶴岡です

前回は項目が違う2つのクエリをマージ(組み合わせ)ました。今回は、今回はあるクエリに、項目が同じだけど別のクエリを追加する方法を紹介します

加えて、実践的なPower Queryの活用方法として、ピポットテーブルとの連携方法も紹介します

ピボットテーブルは便利なのですが、取得元のデータに追加があった場合には少し面倒ですよね

例えば、売上の集計データを毎月報告するケースなどです

1月のデータに、2月のデータを足し、取得範囲を修正する・・・という処理が毎月続きます

今回紹介するクエリの追加機能とピボットテーブルを連携させれば、そんな悩みは一発で解決します!

解説する内容の概要ですが、下の図のようにサンプルファイルにある1月の売上データに、今回の解説の中心である「追加クエリ」機能を通じ、2月の売上を追加してピボットテーブルを新たに作成します

そして今回の次(中級編5日目)の回では、更に”追加クエリ”機能を通じて、ピボットテーブル側では特にデータ範囲の追加は行わないまま、3月の売上データを追加します

<今回のポイント>

 今回の解説の中心となる”追加クエリ”機能自体は特段難しいところはありません 

 ただし、追加クエリを行うパターンが以下の①②の2つに分かれる点は意識しておいてください

①と②の違いは、2つのクエリから新たなクエリーを生み出すか、そうでないかの違いになります

では、サンプルファイルをダウンロードしたら、具体的な解説に入りましょう

1.各シートからクエリーを作成

サンプルファイルの各シートが”各月”のデータになっています

画面上のデータタブから”テーブルまは範囲から”をクリックして、各シートのデータからクエリを作成しましょう

クエリ作成時は以下の2つを指定してください

➀読込先 ⇒接続専用

➁クエリ名 ⇒シート名

2.クエリの追加_1回目

1.が終了したらシートの右側が、以下の画面のような状態になっているはずです

もし、”クエリと接続”が出ていない場合には、画面上のデータタブから”クエリと接続”をクリックしましょう

画面の状態が確認できたら、以下➀⁻③の処理を通じてクエリ_2020年1月にクエリ_2020年2月を追加します

前述の<今回のポイント>の①のパターン(⇒新しいクエリを作成)で追加処理を行います

➀クエリ_2020年1月上で右クリック⇒クエリ追加

クエリ上で右クリックをすると”追加”が選択できます

➁追加するテーブルを選択 ⇒2 020年2月を選択

➀の処理を通じて追加画面が立ち上がったら、追加するテーブルを選択してOKボタンを押します

③読込先をピボットテーブルを指定する

➁の後に、Power Queryエディターが立ち上がります

画面の右のプロパティでクエリーの名前を”売上データ”に変更したら、今度は画面右上で”閉じて次に読み込む”を選択します

次に”データのインポート”画面が立ち上がりますので、”ピボットテーブルレポート”を選択してください

ピボットテーブルの読込先を既存のシートにするか、新規のシートにするかを選択できますが、ここでは新規のシートを選択します

2つの選択処理を行い、OKボタンを押すと、1月と2月のデータが含まれたピボットテーブルが作成されます

3.ピボットテーブルの設定

2020年1月と2月の両方の月のデータが含まれていることが分かるように設定しましょう!

行ボックスに出荷日、値ボックスに金額をドラックします

行ボックスに”出荷日”とあわせて”月”も出現したら、出荷日は行ボックスから外しましょう(エクセルのバージョンによって多少、違いがある可能性があります)

そうしたら、以下のようなピボットテーブルになっているはずです

<まとめ>

 今回はあるクエリに別のクエリを追加する処理を行いました。この時には2つ方法があり、新たなクエリを作成する方法と、そうでない方法があるのですが、今回は前者で行いました。

 また、クエリをPower Queryエディターから読み込む際に、読込先にピボットテーブルを選択しました

 このようにPower Queryとピボットテーブルを連携させることで、ピボットテーブルの元データを自由に操作できるようになります

 次回はPower Queryを通じて、ピボットテーブルに新たなデータを加えます

 ピボットテーブルについては「ピボットテーブルの役割を変える」と題し、別途シリーズで記事を書いています

ぜひ、そちらもご参考にしてください

        ⇒ピボットテーブル記事

 

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

Power Queryって何??9~Webページからデータ取得~

 今回は、Power Queryを使用してWebスクレイピングを行う方法について解説します。この方法を習得すれば、Webページの内容をエクセルシートに転記する手間が省けるようになります!

以前、Power Queryはスマホと同じだという記事を書きました

スマホではネットで好きなレストランを検索、つまり、レストランの情報を取得し、そしてスマホからそのまま予約の電話をすることができます

 Power Queryも様々な箇所からデータを取得して、そのまま取得したデータを活用できます

実は、Power QueryではWebページの内容も取得できてしまうんです!

Webページに接続して、直接データを取得出来たら、次のようなWebページにある情報をエクセルシートに転記するような作業を削減できます!

・他社のIR情報の取得

・株価の取得

・その他のニュース記事

今回はある会社のIRページからPower Queryを使い、月次の数字を エクセルシート上に直接読み込んでみましょう!

Power Queryでは取得したいWebページのURLを入力しさえすれば、Webページのデータが取得できてしまいます

皆さんも馴染みのあるHPで試してみてください

今回の解説には、次ページを使用します

Webデータ/サンプル

解説に使うページを確認したところで、詳細な解説をはじめます

では、まず最初にエクセル画面の以下の箇所をクリックします

取得画面

すると、HPのURLを入力できるようになります

URL指定

上の画面でOKボタンを押すと、ナビゲーター画面が立ち上がります

ナビゲーター画面

ナビゲーター画面に「10月月次データ」というテキストが表示されるので、そのテキストをクリックするとHP上の表が画面上に再現されます

HPから表を読み込めそうなことが確認できたので、このまま処理をすすめます

画面下で読みこみ先ボタンをクリックします

データのインポート画面が開くので、2か所指定します

・どのように表示するか⇒テーブル

・データを返す先⇒新規ワークシート

OKボタンを押し、実際に読み込まれたデータはこんな状態でした

見出しが2行だったのが1行になってしまっています

Power Queryでは必ずしも完璧に読み込めるということではなさそうです

ですが、一から手でHPから転記するよりは断然早いですよね!

Power Queryを覚える価値はありそうです!

今回はPower Queryを使用してHPのデータをエクセルシートに読込ましたが、前回はPDFファイルからも読み込んでいます

ぜひそちらも参照してみてください

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

Power Queryって何8???~PDFファイルをエクセルに変換~

こんにちは、Excellent仕事術ガッツ鶴岡です

この記事は、Power Queryというエクセルのスゴイ新機能をまだ知らない人向けに書いている記事です

「エクセルで大量のデータを扱っているけど、何とか作業を効率化したい」

「エクセルをぜひ得意分野にしたい」

という方はぜひページの最後までお付き合いください

ところで、読者の皆さんは、スマホを初めて操作した時にどんな印象をもちましたでしょうか?

「ネットでレストランを見つけてそのまま予約電話ができる!!」

「直観的で操作が分かり易い」

筆者はPower Queryを登場した時には同じぐらい、いや、それ以上の衝撃を受けました

今回は筆者が衝撃を受けたPower Queryの機能の一つ、PDFファイル内のデータをエクセルファイルにダウンロードする方法を、簡単に紹介していきたいと思います

ちなみに今回、紹介する内容は、今までPower Queryを使ったことが無い人でも取り組める内容になっています

本題に入る前に、サンプルで使用するPDFの中味について紹介させてください

サンプルのPDFファイルは2ページに分かれており、以下のように2ページ内に3つの表があります

・1ページ目⇒2つの表データ

・2ページ目⇒1つの表データ

今回の解説では、PDFファイルのデータをまるごとエクセルシートにダウンロード(読込)するのではなく、ファイル内の3つの表をそれぞれ3つのエクセルシートにダウンロードします!

それでは、本格的な操作について解説を始めます

解説に使用するPDFファイルはぜひ、事前にダウンロードしておいてください

目次

1.PDFファイルを指定

2.読込む対象データを指定

3.ダウンロード

4.「PDFから」のボタンが無い場合

<まとめ>

1.PDFファイルを指定

データタブの「データ取得」から「ファイルから」⇒「PDFから」を指定します

次にファイル自体を指定します

取得するファイルを指定すると、2.で解説する「ナビゲーター画面」が開きます

(注)もし、「PDFから」のボタンが無い場合

        ➡4.「PDFから」のボタンが無い場合

2.読込む対象データを指定

PDFのデータをPower Queryで取得する場合には、2つの方法を選択できます

・PDFのページ全部を取得する

・ページ内のテーブルデータ(表データ)を取得する

上の2つの方法の選択は、取得するファイルを指定した後に開く、この「ナビゲーター画面」で行います

ナビゲーター画面では、ページ単位やテーブルデータ単位にて、取得するものを取捨選択することもできます

ナビゲーター画面では、左側にリストで表示される各Table(テーブルデータ)、もしくは各ページの内容を、下のGIFのように確認することができます

実際に取得する内容を決めたら、ナビゲーター画面の左上「複数のアイテムの選択」にチェックを入れた上で、取得対象にもチェックを入れます

今回の解説では、下の画像のように3つのTable(表データ)にチェックを入れます

3.ダウンロード

取得対象データをナビゲーター画面で3つ指定しましたので、今度はダウンロード先を指定します

ナビゲーター画面下の「読み込みボタン」の横にある▼ボタンをクリックし、クリック後に表示された「読み込み先」のテキストをクリックします

「読み込み先」のテキストをクリックした後は実際の読込先、つまりダウンロード先を指定する画面が開きます

この解説では、読込先を指定する画面にて「テーブル」「新規ワークシート」の2つを指定します

この読込先の指定については、詳細な内容を解説した記事がありますので、そちらを参照してください

読込先として既存シートに読込を行ったり、ピボットテーブルで出力することも可能です

ここまで行えば、PDF内にあった3つの表データが下のGIFのように、3つのエクセルシートに分かれてダウンロードされています

ちなみに画面右に「クエリ」というものが3つできていますが、これはスマホ内のブックマークのようなものだと思ってください

4.「PDFから」のボタンが無い場合

バージョンによっては「PDFから」のボタンが出てきません

続きを読む Power Queryって何8???~PDFファイルをエクセルに変換~

クエリの追加・結合~中級編5回目~

こんにちは、Excellent仕事術ガッツ鶴岡です

前回は1月と2月のデータを追加して新たなクエリを作成しました

そして、新たに作成したクエリからピボットテーブルを作成しました

今回は前回作成したクエリに、更に3月のデータを追加します

この時、ピボットテーブルのデータ範囲変更や、新たに追加された範囲を反映するための更新処理を、Power Queryとの連携により省けるようにします!

もし、これまでPower Queryについては全く知識が無い、という読者の方がいらっしゃいましたら、ぜひ、このページを事前にご確認ください

エクセルシート上の表を⇒テーブル⇒クエリ⇒シート上に読込、の順に変換することさえ分かれば、この後の内容も十分理解していけるはずです!

今回のポイント

前回は以下の図で➀の方法でクエリの追加(1月+2月)を行いました

今回は①の方法で作成したクエリを編集して、②の方法で3月のデータを追加します

仮に➀の方法で追加処理を行うと、既存のピボットテーブルの範囲外に新たに新たなクエリ(1月+2月+3月)ができてしまい、ピボットテーブルの範囲指定や更新処理を行う必要がでてきてしまいます

では、本格的な解説をはじめます

1.売上データクエリ(1月+2月)上で編集をクリック

Power Queryエディターを開きます

2.Power Editorエディター上で”クエリーの追加”をクリック

Power Queryエディター上で”クエリの追加”をクリックします

3.追加画面で追加するデータを指定する

追加するデータをクリックしたらOKボタンを押します

追加が終了したら”閉じて読み込む”をクリックしましょう!

すでにピボットテーブルに3月のデータが自動的に追加されています

<まとめ>

 Power Queryとピボットテーブルを今回の解説のように、事前に連携させておけば、ピボットテーブルの範囲指定の追加や変更はとてもスムースになります。

 毎月、定期的に売上などのレポートを作成している人にはとても便利な技術なのではないでしょうか?

 ピボットテーブルについては、毎回の報告を楽にするために「ピボットテーブルの役割を変える」と題して別途、記事を書いています

興味があるという方がいたらそちらの記事もぜひご覧になってください

 中級編1~5回では複数のクエリを扱う方法を解説しました。次回からはまた違うテーマを解説していきます

 

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

ピボット解除/縦横並びの変換処理~中級編6回目

こんにちは、Excellent仕事術ガッツ鶴岡です

前回までは複数のクエリ(データ)を組み合わせる技術を解説しました

今回からは、Power Query Editor上でデータを変換する技術を解説していきます

ところで、題名にあるPivotはどう意 味かご存知でしょうか?

ちなみに辞書には軸とか、旋回と書いてありました

この回を終了した時には、”Pivot”の意味が納得できるようになっていると思います

<今回のポイント>

A.集計の目的とデータの並べ方の関係

下の2つのデータを見比べてください

①は縦に繰り返し並んでいます。一方、②は、①の2つの目の列が横に“旋回”して並んでいます

どちらが集計しやすいと思いますでしょうか?

全体の合計値を出す場合、①は1列を範囲にしてSUM関数を入力すれば算出できます

一方、②は見出し以外の全ての行列を範囲に含めてSUM関数を入力するしかありません

①と②のデータで「アルファベット」と「ひらがな」別、つまり2つの切り口を組み合わせて合計値を集計する場合も考えてみましょう

①はフィルターをかけて、ひらがなの列だけみれば合計値を集計できます

②の場合には、目で列を追いかけながら集計するしかありません

ですので、「データはあらゆる切り口でデータ集計が行えるようにする」、ということであれば、縦方向に繰り返し並べていくべきなのです

B.Power Query上での操作

Power Queryでは、Power Query Editor上で、横に旋回しているデータを縦の並びに切り替え、集計を行い易い形にてデータを出力し直すことができます

その際、旋回させる軸を決めるのと同時に、以下のサンプルデータの合計の行列(Total)を削除します

この合計の値を消して、その後はどのようにに合計値を算出していくかについては後述します

では、実際のサンプルデータを基にして解説をはじめます

1.Power Query Editorを立ち上げる

データタブの「テーブルまたは範囲から」をクリックし、Power Query Editorを立ち上げます

この際、8行目のTotalの範囲が入るように気を付けましょう!

こちらは前述のように、Power Query Editor上で削除を行います

2.合計行列を消去する

Power Query Editorが開いたら次の①②の処理を行い、「 B.Power Query上での操作」で前述したようにTotalの行列を削除します

①フィルターからTotal行を消去する

-フィルターをクリックします

-チェックを外して一覧からTotalを消します

➁Total列を消去する

Total列を指定し、削除をクリックします

3.Pivot解除

ではPivot解除機能により、に旋回しているデータをの並びに切り替えます

①軸を指定します

今回は、に展開している日付を並びにします

ですので、一番左にあるカテゴリー列を左クリックして指定します

その後、右クリックすると可能な処理の一覧がでてきます

➁その他の列のピボット解除

①の一覧から「その他の列のピボット解除」をクリックします

これで、横に展開していたデータが縦並びになりました

4.読込先をピボットテーブルに指定する

Power Query Editorで縦並びにしたデータを「ピボットテーブル」としてエクセルシート上に読込みます

①閉じて次に読みこむを指定

ホームタブにて「閉じて読み込む」の右横▼マークから「閉じて次に読み込む」を指定します

➁ピボットテーブルの読込先を指定

ー「既存のワークシート」内の「元のデータの下」A11セルを指定しましょう!

-ピボットテーブルのフィールドを以下のように指定しましょう!

Power Query Editor上でTotalの行列は削除しましたが、ピボットテーブルでTotal(合計)が集計できるようになりました

逆に、もしPower Query Editor上でTotal行列を削除しなかったら、ピボットテーブル上で合計値が本来の値より2倍になってしまいます

<まとめ>

 このPivot解除を知っておけば、他の方から入手したデータが、横並びになっていなかったとしても、縦の並びに簡単に変えることができます

 データを縦の並びに変えておけば、様々な切り口でデータ集計がおこなえるようになりますので、ぜひ有効活用していきましょう!

 次回はセルの中のデータを複数列に分解する方法と今回解説したピボット解除を組み合わせた変換処理を行います

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

Power Queryって何???~Accessとエクセルの連携~

以前、Power Queryとは何か?について、スマホを例にして解説をしました

ガラケーではネットにある電話番号のデータを、キーボードに打ち込んで電話をしていました

一方、スマホではネットで検索した電話番号をそのままダイヤルすることができます

Power Queryも同じです!

エクセルファイル内の各シート、もしくは、他のファイル、フォルダ内のエクセルデータをそのまま活用できます!

今回はエクセルデータでなく、Access内のデータを活用してみましょう!

Accessというデータベースソフトと表計算ソフトのエクセルを直接、連携できれば今よりもデータを有効活用できることは間違いなしです!

1.取得先のAccessファイルを指定

今回は以下のAccessファイルからデータを取り込みます

①データ取得種類の指定

データタブから、データの取得⇒Microsoft Accessデータベースから

の順に指定

➁取込むファイルの指定

2.Access内の取得データを指定

取得するファイルを指定したらナビゲーター画面が立ち上がります

ナビゲーター画面

①取込みデータの指定

今回は複数のテーブル、もしくは選択クエリを取り込む方法で行います

上の画像のように、ナビゲーター画面の左上にある”複数のアイテムの選択”にチェックを入れ、取得するデータの横にチェックを入れます

➁読込先の指定

ナビゲーター画面の右下で”読込み先”をクリックします

読込み先のクリック後にデータのインポート画面が立ち上がります

今回は読込先にテーブルを指定します

すると、新たなシートにAccess内・2つのデータが読み込まれます

ちなみに、右画面にクエリが2つできましたが、これはスマホ内のブックマークと同じようなものです

更新すればAccess内の最新のデータが表示されます

<まとめ>

エクセルはとても便利なのですが、表計算ソフトなので大量のデータを各自で共有しながら作業するのにはあまり向いていません

一方、Accessは大量のデータ管理には向いていますが、不慣れな人が多いうえ、あまり細かい作業は行えません

このPower Queryをうまく使えば、エクセルとAccessのそれぞれの長所をうまくいいとこどりすることができます

ちなみに、Accessのエクスポート機能を使えばエクセルファイルをAccessから出力できますが、Power Queryであれば、前述の通りAccess内の最新データがエクセル内からいつでも取得することができます!

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村

Power Queryって何?~列の結合/複合キー活用~

Power Queryについて、名前は知っていて興味はあるけど実際にどう使うの?

という人は多いと思います

私は良くPower Queryをスマホに例えて説明するようにしています

例えば、好みに合うレストランを探してスマホで予約するケースでは、①検索サイトで好みのレストランを探す、②好みのレストランが見つかったら電話番号をクリック、③レストランの電話番号が、スマホの電話アプリ内に自動で読み込まれるのでそのままクリックする、という感じになりますよね

Power Queryでも①シート内、他のファイル、フォルダからデータを取得、②データを変換、③シートやピボットテーブルに取得データを読み込み、という流れになります

そして、詳細は本編に譲りますが、Power Queryの”Query”はスマホ内に設定するBOOKMARKと同じだと説明しています

スマホ内のBOOKMARKは、クリックさえすれば、いつでもお気に入りのデータにアクセスできます

Power Queryがスマホ内に設定するBOOKMARKとの違いは、アクセスしたデータを事前に決めたルールで変換できることです

今回は、このQueryの変換例を紹介します

ところで、エクセル内のデータを自分の都合のいいように集計するコツって何でしょう?

関数を知っている、ピボットテーブルを使いこなせる・・・

上記はいずれも、正しいです

但し、もっと重要なことがあります

データを集計するためのキーをうまく作り出すことです

私が良くセミナーで受講者の方に出す問題があります

ちなみにこの事例は、私が以前、日常業務で行っていたものです

以下から実際の問題です

上記の表にて、条件1と条件2、両方が”B”の時に、表内に◯を加えるにはどうしたらいいでしょう?というものです

しかも、条件がたえず変わる事も考慮して解決せよ、というものです

もしかしたら、AとCの時に〇を出せ、という風に修正されることもあるし、更にCとCの時にも〇を加えろ、ということもありえます

答えは、新たなキーを生み出すことにあります!

条件1と条件2を組み合わせて複合キーを作成するのです

そして、複合キーに対応した値を加えた表を作成します(この表をマスター表とします)

こうすれば、D列にVLOOKUP関数を加えれば、複合キーを参照して関数が自動的に、右横の表から値を引っ張ってきてくれます

もし、条件が修正になったり、条件が加わっても、右横の表を変えれば自動的に対応できます

以上がキーをうまく使いこなすことの効果の説明です

では、今回説明した問題の解決方法をPower Queryでも行ってみましょう!

Power Queryには”列のマージ”という機能があるので、上記で説明したような複合キーも簡単に作成できます

①表をテーブルに変換してPower Query Editorを立ち上げ

エクセルシート上のデータをテーブルにして取得し、変換できるようにします

ちなみに、このPower Query Editorというデータ変換用の画面が、別途、立ち上がるのが、Power Queryの分かりにくさかもしれませんね

➁Power Query Editor画面上の”列の追加”をクリック

③画面内の両列をクリックした上で”列のマージ”をクリック

Ctrlキーを押しながら、複合キーを作成する列を指定するのがポイントです

④③を行うと自由に複合キーを作成できるようになります!

両列をつなぐ文字に”-”を指定して、新たに作成する列名を複合キーと指定します

⑤読込先を”接続の作成のみ”に指定して読込

接続の作成のみとは、シートに表示しないでQueryを作成するという意味です

⑥新たなQueryが画面右に出来ました!

⑦マスター表も接続のみのQueryを作成

⑧作成した2つのQueryをマージします

Queryのマージとは関数で言えば、VLOOKUP関数と同じです

①~⑧で読み込まれた表が以下です!

<まとめ>

 Power Queryを前述の問題に適用しましたが、Power Queryだと最初から複合キーを作成する前提で機能が作られている分、利便性が高いです。

 そして、VLOOKUP関数で同じことを行う場合には、実際には、VLOOKUP関数単独だとマスター表にないものはエラー表示になりますので、”IFERROR関数”も組み合わせる必要があります。エラー対策が必要ない点も、Power Queryが利便性が高いです。

長文になりましたが、Power Queryに可能性を感じた方は、ぜひ、Power Query講座をのぞいてみてください!

にほんブログ村 資格ブログ ビジネススキルへ
にほんブログ村 IT技術ブログ VBAへ

にほんブログ村