【実は関数1つで複数データの並びを変えることができるようになりました】
エクセルで行列を入れ替える作業を伴う転記作業はなにより苦痛なものです
関数1つで複数の値の行列を入れ替えられるのはとてもありがたいです
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/d3dcac97a92e5ec8c17f53064a16b9c9-1.gif)
内容もとても簡単なものです
第二引数や第三引数を指定するパターンがあるので、そこだけは複雑ですがぜひ押さえておきましょう!
*注意点
既にTRANSPOSE関数という行列入れ替え、縦横入れ替えるという関数があります
今回は幅広い意味で記事内で「行列入れ替え、縦横入れ替え」については表現させて頂いております。明確な違いとしては、今回紹介するTOCOL関数とTOROW関数は1列もしくは1行に入れ替えます。ご理解のほど何卒よろしくお願いします
TOCOL/列に変換
第二引数無
TOCOL関数の中に行列を入れ替えたい範囲を指定します
=TOCOL(D5:F8)
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-88-644x215.png)
TOCOL関数により、指定した範囲が1列に変換されます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-91-644x413.png)
読込順番は1行目⇒2行目⇒となります
値が無いセルについては0が出力されます
指定範囲の最終行まで繰り返し処理をしているのもポイントです
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-89.png)
第二引数を1で指定
第二引数を1で指定すると空欄は無視して出力されます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-90.png)
更に第三引数をTRUEで指定
第三引数を指定すると、読み込みの方向が横方向から縦方向に変ります
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-92-644x457.png)
TOROW/列に変換
第二引数無
TOROW関数の中に行列を入れ替えたい範囲を指定します
=TOROW(D26:F29)
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-93-644x182.png)
TOROW関数により、指定した範囲が1行に変換されます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-94-644x157.png)
今回は第二引数を指定してないので、空欄は0で出力されます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-95-644x142.png)
第二引数を1で指定
第二引数を1で指定すると空欄は無視して出力されます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-98-644x335.png)
これはTOCOL関数と同様です
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-97.png)
更に第三引数をTRUEで指定
TOCOL関数と同様に、三引数をTRUEで指定すると、データを横方向ではなく縦方向に読み込みます
![](https://analytic-vba.com/wp/wp-content/uploads/2023/09/image-99-644x300.png)
<まとめ>
今回は行列を入れ替えるTOCOL関数、TOROW関数を解説しました
従来はVBAでないと最終行まで繰り返すような処理が行えなかったので、本当便利になったものです
また後日、詳細を解説しますが今回のような複数出力する関数は他の関数と組み合わせると、もっと威力を発揮します
ぜひ続編をお楽しみにしていてください
参考までに実際のデータも添付させて頂きます