2023年5月25日【ID:0】
【Excel】複数行のデータを瞬時に1列にする方法
「複数行・複数列の表を1列の表にする方法」と、「1列の表を複数行・複数列の表にする方法」について解説しています。
※この記事の内容は、現時点(投稿日時点)では365でないと対応しておりません。
![](https://it-yobi.com/wp-content/uploads/2023/05/trick-no81-1.png)
複数行・複数列の表を1列の表にする方法
複数行・複数列の表を1列の表にするにはTOCOL関数を使います。
=TOCOL(配列)
// 配列を1列にして返す
以下の数式を入力するだけで、簡単に1列にすることができます。
=TOCOL(A3:C9)
![](https://it-yobi.com/wp-content/uploads/2023/05/trick-no81-2.png)
この場合、列方向を優先した順番で抽出されています。
これを行方向を優先した順番にしたい場合は、TRANSPOSE関数と組み合わせると実現できます。
=TRANSPOSE(配列)
// 配列の行と列を交換した配列を返す
実際に以下のように組み合わせ活用できます。
=TOCOL(TRANSPOSE(A3:C9))
![](https://it-yobi.com/wp-content/uploads/2023/05/trick-no81-3.png)
他に、1列ではなく1行にしたい場合は、TOROW関数が使えます。
=TOROW(配列)
// 配列を1行にして返す
以下のように活用できます。
=TOROW(A3:C9)
![](https://it-yobi.com/wp-content/uploads/2023/05/trick-no81-4.png)
こちらもセットで覚えておくと良いです。
1列の表を複数行・複数列の表にする方法
1列の表を複数行・複数列の表にするにはWRAPROWS関数を使います。
=WRAPROWS(1列もしくは1行の範囲, 列数, [端数に表示する文字列])
// 指定した範囲を指定した列数の配列で返す
// 指定した列数に満たさない行に関しては、[端数に表示する文字列]を表示する
使用した例が以下になります。
=WRAPROWS(B3:B22,3,"")
![](https://it-yobi.com/wp-content/uploads/2023/05/trick-no81-5.png)
表示された範囲の右下の1マスに関して空白が表示されています。
この空白は引数[端数に表示する文字列]に設定した文字列が表示されます。
引数[端数に表示する文字列]を省略した場合はエラーが表示されます。
![](https://it-yobi.com/wp-content/uploads/2023/05/trick-no81-6.png)
WRAPROWS関数は列数を指定して改行する関数ですが、逆に行数を指定するWRAPCOLS関数もあります。
=WRAPCOLS(1列もしくは1行の範囲, 列数, [端数に表示する文字列])
// 指定した範囲を指定した行数の配列で返す
// 指定した列数に満たさない行に関しては、[端数に表示する文字列]を表示する
以下のように活用できます。
=WRAPCOLS(B3:B22,3,"")
![](https://it-yobi.com/wp-content/uploads/2023/05/trick-no81-7.png)
こちらもセットで覚えておくと良いです。