Excel を転置し、転置されたヘッダー値に基づいて新しい列を作成します。

Excel を転置し、転置されたヘッダー値に基づいて新しい列を作成します。

Excel ファイルがあります:

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

そして、ファイルを転置し、ヘッダー値に基づいて値を持つ新しい列を作成しようとしています。したがって、1 つの列 (数値) にすべての数値と、m0,m1,m2,m3ヘッダーを持つ新しい列に追加される値を含めますMonth

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

オンラインで何かを見つけるのはかなり難しいようです。そのためにはマクロが必要ですか? 理想的には、Excel でクラシック関数を使用してそれを実行したいと思います。

答え1

数式を使用して、2D テーブルを 1 つの行または 1 つの列にいつでもマップできます。

データが列になっているとしますを通して、 でE1入力:

=INDEX($A$1:$D$1,ROUNDUP(ROW()/(COUNTA(A:A)-1),0))

下方向にコピーします。F1入力:

=INDEX($A$2:$D$9999,MOD(ROW()-1,COUNTA(A:A)-1)+1,ROUNDUP(ROW()/(COUNTA(A:A)-1),0))

下方向にコピーします:

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

このマッピングでは、テーブルを下方向に、次に横方向にトラバースすることに注意してください。テーブルを横方向にトラバースしてから下方向にトラバースすることも同様に簡単です。

関連情報