Excelでアンケートデータを分析する際など、ピボットテーブル機能を用いて分析するために、複数の列にあるデータを行方向のデータに変換したい時があります。マトリクス表をリストに変換する操作、つまり列のピボット解除です。
前提として、最近のExcelに標準で含まれているPower Queryには、「列のピボット解除」という機能があります。繰り返しの業務や大量のデータなどはPower Queryがお勧めです。
ただし、一時的であったり、関数等でしたい場面もあります。
もし、Microsoft365のExcelなどでVSTACK関数、HSTACK関数が使える場合、数式だけで「列のピボット解除」のようにマトリクス表をリストに変換できます。
以下はアウトプットイメージと数式の例です。
アウトプットイメージ
次のようにA1:E10の表を、G:I列に変換する。
具体的には、C:E列に複数回答の選択肢が列ごとにあるアンケートデータで、「A:B列 + C列」、「A:B列 + D列」、「A:B列 + E列」でできる表を縦方向に変換する。
実施方法
数式は、上記の事例の場合、次のとおりです。
=VSTACK(HSTACK(A1:C10),HSTACK(A1:B10,D1:D10),HSTACK(A1:B10,E1:E10))
HSTACK関数を利用して横方向に連結した表を作成し、VSTACK関数で縦方向に連結しています。
以上、関数を使用してマトリクス表をリストに変換する処理の備忘録でした。