しごと自動化レシピ

WORK RECIPE Power Query

Power Queryで部門が省略された帳票の見出しを下方向に補完する

同じ部門の2行目以降を空欄にした帳票を、1行ごとに部門を持つ明細へ整えます。nullと空文字列の違いを確認し、小計や別ブロックをまたいで誤補完しないための前処理です。

変換処理を実機確認

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

できあがるもの

2行目には営業、4行目には開発が補完され、全4行が部門値を持つ想定です。件数4と合計380が変わらないことを変換後に確認します。

始める前に

  • Windows版Excel for Microsoft 365のPower Query。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 業務原本と分離した検証用ブックを使い、出力は新しいシートへ読み込む。
  • 結合セル・小計のないExcelテーブルLedgerを用意し、部門の省略だけを含める。
入力例

Ledgerは部門・科目・金額。営業/交通/100、空欄/消耗品/50、開発/備品/200、空欄/通信/30の4行です。部門を省略した空欄はExcelの本当の空セルとします。

手順

  1. LedgerからPower Queryを開きます。部門の空欄がプレビューでnullになっているか確認します。最初の行の部門が空欄なら補完元がないため先に入力を確認します。
  2. 部門列を選び、変換→フィル→下を実行します。上方向では次の部門で埋まるため、この帳票の意味と反対になります。処理前後を適用したステップから比較します。
  3. 部門列が空文字列の場合はフィルだけでは埋まらないため、元の帳票仕様を確認してから該当値をnullに置換します。すべての列へ一括フィルを適用せず、部門列だけに限定します。
  4. 科目と金額が元の行と対応しているか点検します。並び替えはフィルが終わる前に行わず、どの部門の続きかを元の行順で判断させます。
  5. 新しいシートへ読み込み、営業150・開発230、総額380になるか確認します。部門ごとの小計行が混ざる別帳票は先に除外設計が必要で、この手順をそのまま流用しません。

期待結果と照合する

2行目には営業、4行目には開発が補完され、全4行が部門値を持つ想定です。件数4と合計380が変わらないことを変換後に確認します。

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

うまくいかないとき

  • フィルは空欄の意味を理解しません。区切り行や新しい見出しまで前の部門で埋めることがあります。
  • 元シートに結合セルがある場合は単純な表として扱いにくくなります。帳票コピーで結合を解消して構造を確認します。

止める・元に戻す

下方向にフィルしたステップを削除します。元のLedgerは省略形式のまま残り、別の補完ルールでやり直せます。

公式資料・対応範囲

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

同じツールで試す

Power Queryの記事一覧へ →