いきなり答える備忘録

Google Workspace(旧G Suite)・Microsoft 365・LibreOfficeなどに関するメモ

(Excel)表を指定した列数に並べ直す

 Excelで、既存の表を指定した列数の表に並べ直す方法についてです。

  • WRAPROWS関数とTOCOLまたはTOROW関数を併用して、表の列数を変えて並べ直すことができます。

手順

 次の画像では、B2:C12の範囲にある2列の表を、関数を使って4列の表に並べ直しています。

 E2セル

=WRAPROWS(TOCOL(B2:C12),4,"")

 ポイントは次の2点です。

  • 列数を指定して並べるのはWRAPCOLSではなくWRAPROWS関数
  • WRAPROWS関数の引数にするには、いったんTOCOL(TOROW)関数で1列(1行)に並べておく必要がある

 なお、TOCOL関数とTOROW関数で結果に違いはありません。値の並ぶ順を変えたい場合は次の画像のように引数で調整する必要があります。



 次の画像では値が並ぶ順番を変更しています。

 E2セル

=WRAPROWS(TOCOL(B2:C12,,TRUE),4,"")

 TOCOL関数の第3引数(スキャン順)をTRUEとし、列順スキャンに変更しています。これにより元の表の1列目に並んでいた県名が上に並び、結果的にWRAPROW関数で4列に並べた後も上に並ぶようになっています。
 WRAPROWS関数には並べ替える順番を変える機能はないので、このようにTOCOL関数を使う段階で調整することとなります。