Excelで1列に並んでいるデータを、関数を使って斜め方向に並べなおす方法についてです。
- 対角行列とINDEX関数を用いることで、1列並んでいる値を斜めに並べることができます。
手順
いきなりですが結果です。
画像ではB3:B7に並んでいる5つの値を、D3セルに式を入力することにより斜めに並べなおしています。
D3セルの式の内容は次のようなものです。
=IFERROR(INDEX(B3:B7,TEXT(SEQUENCE(5)*MUNIT(5),"#")),"")
「SEQUENCE(5)*MUNIT(5)」の部分で、対角成分が1,2,3,4,5で他はすべて0になる対角行列を生成しています。この方法の詳細については次の記事で紹介しています。
あとはINDEX関数と組み合わせてB3:B7の値を取り出しているだけですが、INDEX関数は第2引数が0のときでも値を取り出してしまうためそれを避けるため0を空文字列に置き換えるなど、若干面倒な処理になっています。
なんといっても空白セル部分に上書きすると#SPILL!エラーになってしまうため、値として貼り付け直さないと表として使い物になりませんが、参考まで。