しごと自動化レシピ

WORK RECIPE Power Query

Power Queryで横持ちの月別予算を縦長の明細に変換する

1月・2月などが列になっている予算表を、部門・月・予算の3列へ変換します。月を増やしたときも同じ集計形式に寄せやすい構成を作り、総額と行数で変換前後を確認します。

変換処理を実機確認

確認日時: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を参照できます。

できあがるもの

営業/2026-01/100、営業/2026-02/120、開発/2026-01/80、開発/2026-02/90の4行を想定します。3月追加後は6行・合計620です。

始める前に

  • Windows版Excel for Microsoft 365のPower Query。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 業務原本と分離した検証用ブックを用意し、出力は新しいワークシートに読み込む。
  • ExcelテーブルBudgetを作成。部門列以外はすべて月別予算列とする。
入力例

Budgetは部門・2026-01・2026-02の3列で、営業/100/120、開発/80/90の2行。入力表に備考・合計列は入れず、月列に数値を置きます。

手順

  1. BudgetからPower Queryを開きます。部門列を選択し、変換→列のピボット解除→その他の列のピボット解除を選びます。選択した部門以外が月別明細へ変わります。
  2. 属性列を対象月、値列を予算へ変更します。部門・対象月はテキスト、予算は数値にし、2026-01の月表現を勝手に日付へ変えないようにします。
  3. 必要なら詳細エディターで Table.UnpivotOtherColumns(Source,{"部門"},"対象月","予算") に相当するステップになっているか確認します。Sourceは実際の直前ステップ名に置き換えて読みます。
  4. 新しいワークシートへ読み込み、部門2件×月2件で4行か、合計390かを確認します。並び順に依存せず、部門と対象月の組み合わせで値を照合します。
  5. 2026-03列を作業コピーに追加して営業130・開発100とし更新します。新列が取り込まれるかを確認し、もしクエリ内に固定列選択がある場合はステップを見直します。

期待結果と照合する

営業/2026-01/100、営業/2026-02/120、開発/2026-01/80、開発/2026-02/90の4行を想定します。3月追加後は6行・合計620です。

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

うまくいかないとき

  • その他の列を対象にするため、備考や合計列を追加すると月として混ざります。入力表の列仕様を固定してください。
  • nullのセルは変換で行が出ないことがあります。未入力とゼロ予算を同一視せず、期待行数の定義を決めます。

止める・元に戻す

ピボット解除のステップを削除するか、出力クエリ全体を削除します。横持ちの元Budgetは変更しません。

公式資料・対応範囲

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

同じツールで試す

Power Queryの記事一覧へ →