【PowerQuery】複数行のデータを1行で横展開する方法

Excelでデータを扱っていると、「項目名と値が縦に並んでいるデータを1行にまとめたい」というケースはよくあります。
今回は、Table.Pivot 関数を使って複数行のデータを1行で横展開する方法をご紹介します。

AI・Microsoft 365 活用を業務改善につなげたい企業向けに、研修・導入支援・活用サポートを行っています。
「どんなことを依頼できる?」「実際の活用事例は?」という方は、ぜひ無料資料をご覧ください。
\ 業務効率化・補助金情報をお届け/
\ 活用事例も掲載しています /
Table.Pivotとは
縦方向に並んだ項目を、横方向の列として展開する関数です。
基本構文は以下のとおりです。
設定方法
Power Query エディターで数式バー(fx)をクリックし、以下のコードを入力します。
上記コードの処理概要
変更された型
ピボットの対象となる元テーブルです。通常は、直前のステップ名を指定します。
List.Distinct(変更された型[項目名])
「項目名」列から重複を除いた値の一覧を取得します。このリストが、そのまま新しい列名の一覧になります。
特定の「項目名」のみを横展開したい場合は、自分でリストを作成し、指定することも可能です。
項目名・データ
列名として展開する元の列を指定します。この列の値が、横方向の見出しになります。
また、値セルに入る値のもととなるデータ列を選択します。
List.First
「項目名」が重複して存在する場合の処理方法です。ここでは「最初の1件だけを採用する」動きになります。
他にも以下のような処理方法があります。
List.Max:最大値を使用
List.Min:最小値
List.Count:件数
複数値をまとめて出力したい場合は、each Text.Combine(List.Transform(_, Text.From), “,”)等で対応してください。
まとめ
Table.Pivot 関数を使って複数行のデータを1行で横展開する方法をご紹介しました。
データ整理や前処理が必要な際に、ぜひ活用してみてください。
AI・Microsoft 365 活用を業務改善につなげたい企業向けに、研修・導入支援・活用サポートを行っています。
「どんなことを依頼できる?」「実際の活用事例は?」という方は、ぜひ無料資料をご覧ください。
\ 業務効率化・補助金情報をお届け/
\ 活用事例も掲載しています /
ご質問やご相談などがございましたら、ぜひお気軽にお問い合わせください。
\2営業日以内にご返信! /

