(Excel)縦1列のデータを表に並べ替える

 Excelで縦1列に並んでいるデータを、関数を使って2列以上の表に並べなおす方法についてです。

  • INDEX関数とSEQUENCE関数を組み合わせて、縦1列のデータを2列以上の表に並べ替えることができます。

手順

f:id:accs2014:20200102172928p:plain:right:w500

 早速ですが結果です。
 B2:B13に12個のデータが並んでいます。
 これに対しD2セルに次のように入力して3行4列の表に並べ替えています。

=INDEX(B2:B13,SEQUENCE(3,4))

 INDEX関数の第2引数としてSEQUENCE関数を置いています。
 SEQUENCE(3,4)とすることで1から12までの連番が3行4列にわたって生成されるので、INDEX関数により抽出された値も3行4列にわたって展開されるというわけです。
 

f:id:accs2014:20200102172931p:plain:right:w500

 ところで上記の例では値を1行目→2行目→3行目の順番で並べていますが、これを1列目→2列目→3列目→4列目とする場合は次のような式にします。SEQUENCE関数の引数が(4,3)となっていることに注意してください。
 画像は実行結果です。

=TRANSPOSE(INDEX(B2:B13,SEQUENCE(4,3)))


 なお、逆の操作(表から縦1列に)は次の記事のようになります。

www.officeisyours.com


 また、2列のデータに対する、いわゆる縦持ち→横持ちの変換については次の記事をご覧ください。

www.officeisyours.com