見出し画像

PowerQuery使ってますか?

タイトルロゴはVBAなのに、今回はVBAではなく、PowerQueryのお話。

データタブだけでもそこそこ解決できてしまう

Excelのデータタブ。初心者の頃は並べ替えかフィルタくらいしか使わないやつ。
最近はSharepointやAccess,Oracleのテーブルを直接読み込めることが解って、なんとなくデータの取得に便利かもと思っているくらいでした。

PowerQueryエディタ。DBぽい謎機能がありそう

このPowerQuery。テーブルをフィルタして、取り込むくらいの使い方しかしていなかったわけですが、
データベース系のインターフェースということもあり、一通りのデータを整形する機能が備わっているようです。
・データ型の変更
・昇順、降順ソート
・フィルタ
・重複削除

実はこのPowerQuery、M言語という記述形式でifなどの条件分岐もできる。
Power Query M 数式言語のリファレンス - PowerQuery M | Microsoft Learn

とはいえ、このリファレンスから入ると、心が折れるので私は使ってみながら必要な機能だけを調べてみるというスタンスで取り組んでいます。

早速実験。
Copilotにダミーデータを作ってもらいます。
プロンプトはこんな感じ。

データベースの演習用に裁縫道具の品目リストを作ってください。
・カテゴリ
・品名
・在庫
で20個程度のリストを出力してください。

できたダミーデータがこれ。そのままExcelに貼ってテーブルにします。

カテゴリ,品名,在庫
針,手縫い針,34
糸,綿糸,56
ボタン,木製ボタン,23
ファスナー,金属ファスナー,12
はさみ,刺繍はさみ,18
定規,曲線定規,27
チャコペン,白色チャコペン,45
裁ちばさみ,布用裁ちばさみ,9
裁縫箱,竹製裁縫箱,6
裁縫セット,初心者用裁縫セット,15
針,とげ針,39
糸,絹糸,48
ボタン,プラスチックボタン,31
ファスナー,ナイロンファスナー,17
はさみ,裁縫はさみ,22
定規,直線定規,32
チャコペン,赤色チャコペン,41
裁ちばさみ,革用裁ちばさみ,11
裁縫箱,木製裁縫箱,8
裁縫セット,上級者用裁縫セット,13

雑なインターフェースで申し訳ないのですが、

簡易的な検索システムとして使えそう

PowerQueryでは複数のテーブルを参照できるので、検索用テーブルを参照し、指定した文字列を含む、含まない、数値範囲の指定
という複合条件でフィルタした値を出力することができました。
これだけのデータだったら、PowerQueryなぞ覚える必要はないわけですが

  • Excelの行数の限界を超えたソースから必要なデータだけを取得できる

  • マクロが使えないBookでも複合条件でフィルタができる

  • 毎回PowerQueryエディタを開かなくても検索条件を指定して、データの更新だけで必要なデータを取得できる

  • 必要な列だけを出力できるので検索結果がすっきり

  • 税抜きデータのリストから内税表記の価格テーブルを出力みたいな演算も可能

というだけでも十分使い道がありそうな機能です。
スライサーで選択式のフィルタにしたけど、アイテム数が多すぎて使いにくい場合もこれで解決できそう。

とりあえず、目先でやってみたいのは、Sharepoint上にある全社員の連絡先から
部門名、氏名でフィルタすると、電話番号、メアド付きのリストを出力してくれるみたいな簡易検索システムでも試してみようかな。

反響が多かったら具体的な作成手順を公開しますので、興味があるかたはスキを押してもらえると幸いです。

この記事が気に入ったらサポートをしてみませんか?