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

【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営業日以内にご返信! /

\ よかったらシェアしてね!/
お問い合わせ