Excel Tips

行と列を入れ替えて参照する方法【Excel】

先日こんなツイートをしました。

行と列を入れ替えてコピペする方法は、以下のブログ記事で紹介しました。

しかし、この方法はすでに値が入力されている場合のみ有効で、元の値が修正されたとき、貼り付け先の値は反映されません。

今回、行と列を入れ替えて「コピー」ではなく、行と列を入れ替えて「参照」する方法を紹介します。

「コピペ」と「参照」の違い

コピペ」と「参照」は違います。

コピペした場合、元のセルの値が変わっても、貼り付け先のセルには反映されません

参照の場合、元のセルの値が変わると、貼り付け先のセルに反映されます

これ、G1セルに「=A1」、G2に「=B1」・・・と入力しても参照になりますが、全て手入力する必要があります。

これは面倒です。

TRANSPOSE関数

TRANSPOSE関数は、行と列を入れ替える関数です。

もちろん、表全体の行と列を入れ替え参照ときも使えます。

関数 TRANSPOSE
説明 縦方向のセル範囲を横方向に、横方向のセル範囲を縦方向に変換します。
書式 =TRANSPOSE(配列)
リンク Microsoft Office公式サポート

Ctrl+Shift+Enterで確定(Excel2019以前)

Excel2019以前ではスピル機能が使えないため、数式を「{}」で囲む必要があります。

配列を扱う数式の場合、数式全体を「{}」で囲まないといけません。

最後にEnterではなく、Ctrl+Shift+Enterで確定しましょう。

Microsoft365Excel2021などの最新版では、普通にEnterでOKです。

INDEXとROW関数を組み合わせる

TRANSPOSE関数の存在を知らなかった私は、INDEX関数ROW関数(もしくはCOLUMN関数)を組み合わせて、行と列を入れ替えて参照していました。

細かい説明は省略しますが、要は1列下にずれる度に、参照元を1行右にずらすためにINDEX関数ROW関数を組み合わせたのです。

縦横逆の場合は、INDEX関数COLUMN関数を組み合わせます。

関数 INDEX
説明 行と列番号のインデックスによって選択された、テーブルまたは配列内の要素の値を返します。1番目の引数が配列定数のときは、配列形式を使います。
書式

=INDEX(配列, 行番号, [列番号])

=INDEX(参照, 行番号, [列番号], [領域番号])

リンク Microsoft Office公式サポート
関数 ROW
説明 引数として指定された配列の行番号を返します。
書式 =ROW([範囲])
リンク Microsoft Office公式サポート
関数 COLUMN
説明 縦方向のセル範囲を横方向に、横方向のセル範囲を縦方向に変換します。
書式 =TRANSPOSE(配列)
リンク Microsoft Office公式サポート

まとめ

いかがでしたでしょうか。

行と列を入れ替えて参照する方法を紹介しました。

  • TRANSPOSE関数
  • INDEX関数とROW関数(or COLUMN関数)を組み合わせる

ぜひ、使ってみてください。

おすすめのExcel本はこちら。

おすすめのExcel勉強法はこちら。