しごと自動化レシピ

WORK RECIPE Power Query

Power Queryで区切り付きの対応領域を1件1行に分ける

一つのセルにセミコロン区切りで入った対応領域を、案件IDを残しながら複数行へ展開します。元の案件件数と展開後の行数の違いを明示し、領域別の絞り込みに使う前処理です。

変換処理を実機確認

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

できあがるもの

展開後はK01/Excel、K01/CSV、K02/メール、K03/Excel、K03/集計の5行です。元案件は3件で、展開後5行を案件5件として数えないことを確認します。

始める前に

  • Windows版Excel for Microsoft 365のPower Query。確認環境と範囲は本記事の実行確認欄を参照してください。
  • 業務原本と分離した検証用ブックを使い、出力は新しいシートへ読み込む。
  • ExcelテーブルSkillsを作り、区切り記号を半角セミコロンに統一する。
入力例

Skillsは案件ID・対応領域。K01/Excel;CSV、K02/メール、K03/Excel;集計の3行。対応領域の名前自体にはセミコロンを含めない仕様にします。

手順

  1. SkillsからPower Queryへ読み込み、案件IDと対応領域をテキスト型へそろえます。空欄の対応領域をどのように扱うかを先に決め、未入力を削除して隠さないようにします。
  2. 対応領域列を選び、列の分割→区切り記号による分割を開きます。区切りはセミコロン、区切り記号の出現ごと、詳細設定で分割先を行にします。列への分割と混同しないでください。
  3. 分割後の対応領域をトリミングし、区切りの前後に入った不要な半角スペースを除きます。原文は元のExcelテーブルへ残しておき、変換後だけを抽出に使います。
  4. 案件IDと対応領域の組み合わせが期待どおりか確認します。同じ領域を2回書いた行をどう扱うかは別ルールであり、この分割だけでは重複を削除しません。
  5. 新しいワークシートへ読み込み、領域ExcelをフィルターするとK01とK03が出るか確認します。案件金額などを追加して展開した場合は金額も繰り返されるため、そのまま合計しない運用を決めます。

期待結果と照合する

展開後はK01/Excel、K01/CSV、K02/メール、K03/Excel、K03/集計の5行です。元案件は3件で、展開後5行を案件5件として数えないことを確認します。

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

うまくいかないとき

  • 区切り記号が領域名にも使われているデータは単純分割できません。入力仕様を先にそろえます。
  • 行展開後の金額や作業時間を合計すると二重計上になり得ます。元案件単位の集計は別クエリにします。

止める・元に戻す

分割ステップを削除すると元の1セル形式へ戻ります。元Skillsは変更せず、出力クエリだけを削除しても構いません。

公式資料・対応範囲

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

同じツールで試す

Power Queryの記事一覧へ →