
行列を自動で入れ替える関数があるのはご存知ですか?
ややマニアックですが今回は自動で行列を入れ替えるTRANSPOSE関数について紹介します。
使いどころ
通常行列の入れ替えは、対象の範囲を選択してコピーし、任意の場所へ貼り付けする際に形式を選択して行うことが一般的です。
詳細は以下の記事をご参照ください。
修正作業に便利!表の行列を入れ替えて貼り付けする方法 | Excelを制する者は人生を制す ~No Excel No Life~
ただ、この方法の欠点は都度実行しなければならない、ということ。
つまり、定期的に行列を入れ替える作業がある場合は、けっこうめんどいのです。
たとえば、システムから出力する元データをクライアント指定のフォーマットに入れなければならないけど、項目が行列が逆など。
そこで、TRANSPOSE関数の出番です。
一度設定さえしてしまえば、あとはTRANSPOSE関数の引数部分の値を更新すればリアルタイムで変更点を反映してくれるので便利ですよ(*^^*)
TRANSPOSE関数の構成
TRANSPOSE(配列)
配列
配列部分で行列を入れ替えたい配列かセル範囲を選択します。
この引数の指定は必須です。
使用例
今回は上図の表(B2:E6)の行列を反転させたいと思います。
行列を入れ替えた表はB9セル以下に設定するとします。
ここから実際にTRANSPOSE関数を設定していきます。
B9セルにTRANSPOSE関数を挿入し、引数は入れ替え前の表を行列ともに絶対参照で入力します。(つまり、"=TRANSPOSE($B$2:$E$6)"と入力)
ここで普通に[Enter]を打つとエラー(#VALUE!)となります。
エラーのままでも良いので、いったんB9セルの数式をコピーし、行列を反転した後のセル範囲すべてにペーストします。
反転前が5行×4列なので、反転後はB9セル含めて4行×5列分のセル範囲に同じ数式をコピペとなります。
そのあと、反転後のセル範囲をすべて選択している状態で[F2]で入力モードにし、そのあと[Shift]+[Ctrl]を押したまま[Enter]で確定させましょう。
そうすると、上図のように行列が入れ替えた状態で反映されます。
最後に、反転後のセル範囲の書式をお好みで整えて完了です。
ちなみに、反転前のセル範囲の値を変更するとリアルタイムで自動的に反転後のセル範囲も変更されます。
まとめ
実は私もTRANSPOSE関数は「外資系金融のExcel作成術」という本を読んではじめて存在を知りました。
【レビュー】「外資系金融のExcel作成術」は表を美しくつくりたい&表でデータ分析をしたい人の入門書 | Excelを制する者は人生を制す ~No Excel No Life~
行列を定期的に入れ替える作業がある方は特に覚えておいて損はない関数です。
もっと、詳しく知りたい方は上記の書籍も確認してみてくださいね!
ご参考になれば幸いです(*^^*)