しごと自動化レシピ

WORK RECIPE Power Query

Power Queryで担当別・状態別の件数をクロス集計する

問い合わせ明細を担当と状態で件数化してから状態を列へ展開します。重複する組み合わせを先に集計することで、ピボット時の集約の意味を明確にし、件数総計も照合するレシピです。

変換処理を実機確認

確認日時:2026-10-17T07:32:27.0715492Z

確認環境:{"excel_version": "16.0", "excel_build": 20430, "os": "Windows (64-bit) NT 10.00", "engine": "Microsoft.Mashup.OleDb.1 / native Excel Power Query"}

確認した範囲

  • 記事と同等の変換処理をMコードにして実際のExcel Power Queryエンジンで実行
  • 記録の入力例と結果の行・列・値を照合
  • 元のダミーファイルのバイト列が不変

未確認・対象外

  • 記事のGUIクリック経路
  • MコードとGUIが生成するステップの完全一致
  • 他Excel版・他OS
  • 実業務データ

実機での処理結果の確認と、記事の全画面操作の確認は別です。実行確認の記録(JSON)で確認結果と原稿のSHA-256を参照できます。

できあがるもの

青は未対応1・完了2、赤は未対応1・完了0となる想定です。全セルの件数合計が4、担当別は青3・赤1で一致することを確認します。

始める前に

  • Windows版Excel for Microsoft 365のPower Query。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 業務原本と分離した検証用ブックを用意し、出力は新しいワークシートに読み込む。
  • ExcelテーブルTicketsに、1問い合わせ1行の架空明細を用意する。
入力例

TicketsはID・担当・状態で、T01/青/未対応、T02/青/完了、T03/青/完了、T04/赤/未対応の4行。IDは一意とし、状態表記は2種類に統一します。

手順

  1. TicketsからPower Queryへ読み込みます。担当と状態をテキスト型に設定し、空欄や余分な空白がないことを確認します。問い合わせIDの重複は集計前に点検します。
  2. ホームのグループ化で詳細設定を選び、担当・状態の2列をキーにし、新しい列名を件数、操作を行数のカウントにします。これで担当×状態が一意になります。
  3. 状態列を選び変換→列のピボットを開き、値の列を件数にします。集約は合計を使います。IDなど余計な列が残っていないことを確認し、担当だけが行の単位になるようにします。
  4. 未対応・完了のnullは、その組み合わせが0件というこの表の意味に限って0へ置換します。元の問い合わせの状態不明を0件にして隠さないよう、集計前の空欄は別途確認します。
  5. 新しいシートへ読み込み、担当別合計と全体合計が元の4行に一致するか照合します。状態を追加すると出力列も変わり得るため、参照する帳票の列も合わせて確認します。

期待結果と照合する

青は未対応1・完了2、赤は未対応1・完了0となる想定です。全セルの件数合計が4、担当別は青3・赤1で一致することを確認します。

まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。

うまくいかないとき

  • ID重複を含む元明細は問い合わせ件数ではなく行数になります。元表の1行の意味を先に定義します。
  • 新状態の追加で列が増えることがあります。列位置だけを参照する後続の計算は点検してください。

止める・元に戻す

クロス集計クエリと出力を削除します。Ticketsの明細は保存したままで、違う集計軸へ作り直せます。

公式資料・対応範囲

参照日:2026-10-17。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。

同じツールで試す

Power Queryの記事一覧へ →