みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
「ノンプログラマーのためのスキルアップ研究会」は、ノンプログラマーがプログラミングをはじめとするITスキルを学び合うコミュニティです。
さて、Excelを日々お使いの皆さん。
「パワークエリ」とか「パワーピボット」とかという言葉はご存知ですか?
Excel業務が劇的に変わる!
今まで苦労してたのは何ナノ!?
と、いう感想を耳にするのだけど、あまり情報もないし、そもそも何もの?という方も多いのではないでしょうか。
ということで、今回の定例会のテーマは、「ノンプログラマーのためのパワークエリ・パワーピボット入門」です!
ちなみに当日の様子は以下、Togetterのツイートまとめもご覧くださいませ。
では、行ってみましょう!
パワークエリ(PowerQuery)とは!?
トップバッターはノンプロ研のExcel教祖といえばこの方、矢野さん (https://twitter.com/PinchiWaChanceD)です。
「パワクはいいぞ」というタイトルで
- パワークエリがいったいどういうものか
- 身につけるとどういうメリットがあるのか
- プログラミングとの使い分け
についてお伝えいただきました。
パワークエリとは何か?
まず、パワークエリ(PowerQuery)とは何か、ということなのですが、ひとことでいうと「データ整形に特化したExcelの機能」です。
すごく、遠い存在の機能のように思う方もいるかも知れませんが、まったくそんなことはなく、Microsoft 365またはExcel2016以降のExcelに搭載されている「標準機能」です。
つまり、特別にインストールしたり、プランの契約をする必要なく、普段のExcelを開けばすぐに使用することができます。
ちなみにExcel上では「データ」→「データの取得と置換」という地味な名前で鎮座しています。
パワークエリによる作業手順
プレゼンでは、これでもか…!?という神Excelで作られている売上報告書が登場。
大量の細かい列とそのセル結合で作られているシートです。
そんなシートから、うまくデータを取り出したい…そのために、コピペをひたすら繰り返す…みたいなことありますね。
パワークエリを使えば、以下のような手順で、必要なデータだけを取り出すことができます。
- 「クエリと接続」ボタンからPower Queryエディターを立ち上げてシートを読み込む
- Power Queryエディターの機能を使って、必要な列を削除したり、セルのデータをコピーしたり、列を追加したり、並び替えたりという整形操作を行う
- 結果として、テーブルとして作成する
パワークエリのすごいことは、このデータ収集・整形の手順を「ステップ」の集まりとして記録できるということです。
そして、その手順を再現できます。ですから、同じフォーマットの帳票がやってきた場合、すでに作成済みのクエリで同じ作業を、ポチっと自動で行えるわけです。
パワークエリが起こす逆転現象
矢野さんのプレゼンで印象深かったのは、これによりとある逆転現象が起きるということ。
扱いづらいExcelが蔓延しているとしても、変化を望まない人たちが多い人ほど、そのフォーマットを変えたくない。
つまり、一度、必要なExcelに対してパワークエリでクエリさえ作ってしまえば、扱いづらいフォーマットを変えないでいてくれる限り、作成したクエリが活躍し続けて効率化できるという逆転現象が起きるのです。
これは、世紀の発明と思いますよ!
初めての「PowerQuery」「PowerPivot」
続いてのご登壇は、小竹さん(@dampenedkid)。
「初めての「PowerQuery」「PowerPivot」」というタイトルで、パワークエリ、パワーピボットについて、実用的なデモンストレーションを多めに交えて紹介いただきました。
パワークエリ、パワーピボットの情報は少ない
序盤のお話で、パワークエリ、パワーピボットの情報が非常に少ないというお話でした。
確かに、書店でもAmazonで書籍はとても少なく、英語版は多少ある。日本語でも最近ようやく数冊出てきているかな…というところ。
そんな状況で、こうして実務での経験も踏まえて、紹介いただけるのはとても助かりますね。
パワークエリからクロス集計表を作るデモ
デモとして、以下のような手順で目的とするテーブルを作成します。
- フォルダ内の複数、同フォーマットのExcelデータを同じテーブルとして結合する(結果、12万行のテーブルを作成)
- ファイル名の列を区切り文字で分割を使用して「年月」部分を列として抽出
- さらに文字数で切り出して「年」だけの列を抽出
- 2つの列を結合して複合キーとして使用できる列を作る
- 「クエリのマージ」で特定のキー列を用いて他のテーブルと結合する(VLOOKUPみたいな作業)
これによって作成されたテーブルから、ピボットテーブルの機能を使って、例えば複合キー別の年月別のクロス集計表を作成することができるというわけです。
手作業はもちろん、VBAを使っても面倒な手順ですよね…それがいとも簡単に自動化できるわけです。
パワーピボットとは?
続いて、「パワーピボット」のデモを紹介いただきました。
複数のテーブルを結合してピボットテーブルを作りたい場合、パワークエリで物理的にテーブルを結合することももちろん可能です。
ただ、その場合データ量が当然増えてしまいます。
そこで「リレーション」という機能を使うと、物理的にデータ量を増やさずに、テーブル間を関連付けることができます。
そして、そのリレーションされた複数のテーブルを集計する機能が「パワーピボット」というわけです。
VBAとの使い分けを考える
Excelによるデータ収集、整形、集計を含んだ作業であれば、パワークエリ・パワーピボットが絶大なパワーを発揮します。
多くノンプログラマーはこれらの業務をVBAでこなしていると思われますが、データの収集、整形、集計の処理に関しては、その役割をパワークエリ・パワーピボットに任せたほうが良いケースも多くなるはずです。
それらの作業を簡単にステップ化でき、メンテナンスも楽だからです。
そして、その学習コストはお二人の感覚的には、20時間程度もあれば十分とのこと。
これは、多くの人が身につけるべきスキルといって間違いないでしょう。
まとめ
以上、ノンプロ研の定例会「ノンプログラマーのためのパワークエリ・パワーピボット入門」のレポートをお伝えしました。
情報がない中、このようにプレゼンをしてくださったお二方には感謝です。
Excelユーザーにとって、その働く価値を上げる強力な武器になるはずですので、ノンプロ研としても発信、啓蒙を積極的に行っていく所存です!
「ノンプログラマーのためのスキルアップ研究会」について
コミュニティ「ノンプログラマーのためのスキルアップ研究会」では、毎月の定例会や勉強会、Slackでのやり取りを通して、皆さんのプログラミング学習の質やモチベーションを高めるための活動をしています。 過去の活動については、以下のページをご覧ください。- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2017-2018)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2019)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2020)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2021)
- コミュニティ「ノンプログラマーのためのスキルアップ研究会」の活動レポートまとめ(2022)