No.003
設定されているリンクを保ちながら、行と列を入れ替えて表を貼り付けたい 《配列数式/TRANSPOSE》
2003/2007/2010/2013/2016/2019
行と列の入れ替えといえば、範囲をコピーして貼り付けるときに[行列を入れ替える]です。
そのときの結果は、元データが左90度上下反転した位置となるわけですが、コピー元に数式が入っていた場合、数式のセル参照も相対的に移動します。
となるともちろん、リンク貼り付けされている状態の表もコピーして行列を入れ替えをすると、セルの参照元が相対的に移動するため、内容がおかしくなってしまいます。
上図の上は、リンク貼り付けしたデータセルA2:C5をコピーして、行列入れ替えでセルA9に貼り付けしました。
参照がどのように動くかを確認すべく、数式を表示したものが下です。
それでは、リンク貼り付けの参照を保って行列を入れ替えるための方法をご案内します。
まさしくそのための関数があり、TRANSPOSE 関数(関数の分類: 検索/行列)を使用します。
簡単な数式でできるのですが、数式は「配列数式」を使用します。
先に配列数式の配列とは、セル範囲を1つのかたまりとして扱うことをいい、数式中の配列(範囲)をまとめて処理することができます。
重要なことは、配列数式を確定するとき、「Ctrl」+「Shift」+「Enter」を押します。
それではTRANSPOSE関数を使って、セルA2:C5のリンク状態を保ちながら、セルA9に行列を入れ替えてみましょう。
まず先に、行列を入れ替えた表の範囲を選択します。
この範囲は答えが求められる範囲、行列を入れ替えて貼り付けられたデータがきっちりおさまる範囲を選択します。
今回セルA9:D11を選択しておきます。
そこにTRANSPOSE 関数 を挿入します。
1つの引数[配列]には、コピー元の表の範囲を指定します。
=TRANSPOSE(A2:C5)
最後は、「Ctrl」+「Shift」+「Enter」を押して確定します。
数式を確認してみましょう。
配列数式として作成された式の前後には、その印として{ }中かっこが付きます。
また、範囲のすべてのセルに同じ数式が入っています。
配列数式を用いた場合、答えを求めた一部のセルを削除したり、式を編集したりすることはできませんのでご注意ください。
一番元のセルを変更すると、すべて更新されますよ。
ヘルプmemo
<TRANSPOSE 関数>(関数の分類: 検索/行列)
指定した配列の行と列を入れ替えて返します。
- 数式: dd>=TRANSPOSE(配列)
- 引数:
- ・[配列] ...行と列を入れ替える元のデータ範囲を指定
- ヒント:
- ・行列を入れ替えた範囲を選択しておいてから、式を挿入します。
- ・最後は「Ctrl」+「Shift」+「Enter」で確定します。