なんでもエクセル(Nandemo Excel)

何でもエクセルでやってしまう そこのあなた。ようこそ

Power Query:グループごとに横に並んだデータを縦に並べる

前回の逆。横並びのデータを縦に組み替える。

とはいえ、これクエリだと超簡単。何故なら「ピボット解除」があるから。

まずはテーブルを読み込む。

作った表にテーブル書式を設定(テーブル名「テーブル1」)。


「テーブル1」を選択した状態で [データ]→データの取得と変換の[テーブルまたは範囲から]

これでエディタ画面が開くので、


「商品コード1」~「商品コード5」列を選択 見出しを右クリックして[列のピボット解除]

そうするとこうなる。

「属性」と「値」列が勝手にできあがる。

この内、属性列は不要なので放置。値列はここで名前を適当なもの(今回は「商品コード」)に変えておきたい。見出しを直接編集してももちろんいいけど、この場合は数式バーを少しいじるだけでいい。


数式バーの「商品コード」を「値」に書き換える。

これで見出しが「値」から「商品コード」に変更される。

後は属性列を削除するだけ。


「属性」列を選択して右クリック[削除]

するとこうなる。

これでやることは終わったので「閉じて読み込む」をすれば終了。

前回と違って、こっちはほぼマウス操作のみでできる。

これだけだと味気ないので数式で(365)でもやってみる。

=LET(
    r,DROP(TAKE(A:F,COUNTA(A:A)),1),
    fn,LAMBDA(x,y,IF(y="",x,VSTACK(x,HSTACK(INDEX(A:A,ROW(y)),y)))),
    REDUCE({"番号","商品コード"},DROP(r,,1),fn)
)

こんな感じ。