Excel で列を行に変換するにはどうすればいいですか?

Excel で列を行に変換するにはどうすればいいですか?

以下は私が持っているスプレッドシートのサンプルです (図 1)。これは資産追跡システムからエクスポートされたもので、所有しているハードウェアに関する情報のリストを提供します。

各資産「エリア」は、繰り返す前に同じ形式 (名前/資産/日付/モデル/シリアル) を使用するため、新しいスプレッドシートに入力するには、それらを行ではなく列に取り込む必要があります (図 2 を参照)。

私は Razer キーボード ソフトウェアを使用してマクロを作成中です (コピー、ワークブック間の移動、貼り付けを多く行う必要があります) が、Excel は実際にそれを自動的に実行するのでしょうか?

ここに画像の説明を入力してください ここに画像の説明を入力してください

答え1

元のシート上のすべてのフィールドが常に同じ順序になっている限り、以下を使用できます。

=offset(index(Sheet1!$B:$B,match($A2,Sheet1!$B:$B,0)),column(B$1)-1,0)

それを B2 に入力し、縦横両方に自動入力します。INDEX/MATCH を使用して部品番号を検索し、次に現在の列番号を使用して OFFSET で適切なフィールドを検索します。OFFSET ビットは、検索するフィールドの名前を使用しないため、常に同じ順序にする必要があります。

ETA: 言い忘れましたが、この数式では部品名がすでに列 A にあることを前提としています。

関連情報