複数の列を持つ行を、それぞれ 1 列ずつの複数の行に変換します。

複数の列を持つ行を、それぞれ 1 列ずつの複数の行に変換します。

次のような非常に長いデータ リストがあります。

User1    Item1    Item2    Item3

User2    Item1    Item2    #NUM! (This is a failed formula)

User3    Item1    #NUM!    #NUM!

そして、次のように各行を 1 ~ 3 つの異なる行に変換します。

User1    Item1
User1    Item2
User1    Item3
User2    Item1
User2    Item2
User3    Item1

これを Excel でネイティブに実行する方法はありますか? VBA ソリューションでも問題ありません。

答え1

Excel 2010 または 2013 の場合は、Power Query アドインを使用します。Excel 2016 からは、Power Query は [取得と変換] セクションの [データ] リボンに組み込まれています。

Power Query は Excel テーブルから開始できます。変換リボンに「他の列のピボットを解除」コマンドがあり、これを使用して目的の操作を実行できます。

https://support.office.com/en-us/article/Unpivot-columns-Power-Query-0f7bad4b-9ea1-49c1-9d95-f588221c7098?ui=en-US

関連情報