ある会の出欠一覧表を作りたくなって、久しぶりにいろいろな方法を検討してみた。
その結果、パワークエリが一番手軽で追加アプリ不要と考えチャレンジしてみたが、意外に手間取った。
後になってみると、簡単な誤解があっただけで、ごく簡単に作成できて、その効果を実感したが、ごたついた部分をご紹介。

行事X,Y,Zの出席者 => 行事出席者一覧表

 

1.元データの整形必要だった。
  会ごとに氏名が姓と名の間に半角ブランク・全角ブランク・ブランクなしなど不統一でKeyに使えない。
  =>ブランクすべて削除
  さらに、会合毎に氏名が誤字・似た文字で重複など異なることがあることが判明。シートの修正が必要に。
  氏名などは、最初の登録でマスタ作成し選択する方式にしないとこうなる代表例。Key項目の不揃いはDXの敵だ。
  ユニークな氏名リストを、氏名を全部並べエクセルのピボット機能でユニークなリスト取得し氏名マスタを作成。

以後はパワークエリで行う。データタブクリックし、データの取得 で開始。

2.パワークエリ起動し、データシート読みこみ
  会合シートを一つづつ読み込んだが面倒 => 複数シート指定一括読み込み機能があった 便利だ

3.ヘッダー行の指定
  =>取り込んだ表のヘッダー行を指定する これはシートごとに行う
 ※ なぜか不明なるも、全てが1行目をヘッダー行にしていたのに、ある1シートのみヘッダー行の指定不要で既にヘッダー行になっていた?

4.マージ
  氏名マスタのシートに、マージ機能で氏名をキー項目として一致させ会合毎の出欠の列を順次追加していく。これは作成するごとに増えて解りやすい。

5.できたクエリーをシートに書き出す
  ところが、「書き出せない!!!
  色々調べたら、書き出すためには、書き出し先の指定が必要だと。クエリー作成段階ではプログラムができただけ。
  クエリー結果をシートに書き出すには、右メニューのクエリを右クリックして「読み込み先」の指定が必要。
  なぜ「書き出し先」でないのかは謎。既に読み込んだデータの読み込み元のことかと誤解し悩んだ。
  出力先をシートにして、「閉じ」て書き出しで無事行事出欠一覧表ができた。

6.ところが、一部のシートだけ出席欄が空白だ なぜだ??と焦る
  =>その会合のみ、出席欄に並び順が設定されていて?(理由不明)出席は最下段側で、上側には空白のみだった。
    氏名マスタに、読み仮名欄を追加し読み仮名で並び替えることにする。読み仮名の威力を実感することに。
  =>並び順の指定は、書き出したシートの データ => 並び順 、優先順 にした。これでトップに近い行でも出席が出現
    並び順は汎用クエリと異なり、パワークエリ内では特定1列(項目)のみ指定でき、複数列(項目)の指定はできない。

これで一件落着。

このような使い方は、年賀状の整理にも使えそうだ。