Excel 表の行・列を入れ替える(TRANSPOSE関数)

2023年6月14日

English version.

TRANSPOSE関数はセル範囲の行・列を入れ替える関数です。

この記事では関数の仕様と使用例、及び類似機能との比較を紹介します。

仕様

=TRANSPOSE(配列)
引数省略時の値説明
配列省略不可行・列を入れ替える範囲を指定。
引数の詳細

使用例

サンプルとして、この表の行列を入れ替えます。

サンプル表

スピルに対応したExcelバージョン

Excel2019以降やOffice365ではスピルで利用します。

それには、まずTRANSPOSE関数の引数に表のセル範囲を指定します。

元の表に行追加の可能性がある場合は多めにセル範囲を指定します。

TRANSPOSE関数の指定例(スピル)

数式を確定すれば必要な分だけ自動拡大されて完了です。

数式を確定すれば必要な分だけ自動拡大

スピル未対応のExcelバージョン

スピルに対応していない場合は配列数式が必要です。

それには、まずTRANSPOSE関数の引数に表のセル範囲を指定します。

元の表に行追加の可能性がある場合は多めにセル範囲を指定します。

TRANSPOSE関数の指定例(配列数式)

TRANSPOSE関数をセルコピーします。

全て#VALUE!エラーになりますが、この時点ではこのままで正解です。

TRANSPOSE関数をセルコピー

TRANSPOSE関数のセルを最も左上のセルから初めて全て選択し

(セル範囲を絶対参照にしていれば、どのセルから選択を初めても構いません)

数式バーで入力モードにします。

セル範囲を選択し、最も左上の数式バーで入力モードに設定

その状態で[Ctrl]+[Shift]を押しながら[Enter]を押下します。

{}で囲まれた配列数式になり、行列の入れ替わった結果が表示され、

セル範囲外になる場合は、#N/Aエラーになります。

配列数式になりTRANSPOSE関数が正常に実行された例

同様の機能との比較

行列を入れ替えて貼り付け

セル範囲を選択した上でコピーして「形式を選択して貼り付け」を選択します。

そして「行/列の入れ替え」をチェックし、

「OK」ボタンを押下すると行列が入れ替わった状態でペーストされます。

セル範囲を選択した上でコピーし「形式を選択して貼り付け」を選択

TRUNSPOSE関数の場合、リンク貼り付けと同様の状態(セル参照)になるため

元の表を更新すると関数の方も表示が変わりますが、

こちらの方法は値貼り付けとなるため元の表の更新は反映されません。

OFFSET・ROW・COLUMN関数

OFFSET関数ROW関数、COLUMN関数の組み合わせでも実現可能です。

=OFFSET(参照元表の開始セル【絶対参照,COLUMN()-OFFSET関数の開始セルの列数,ROW()-OFFSET関数の開始セルの行数)

数式はややこしくなりますが、配列数式を使用しない分、使い勝手の良い方法です。

ただスピルが使えるバージョンでは、そちらの方が良いでしょう。

OFFSET・ROW・COLUMN関数で代替する例

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

活用例と関連記事

関数の仕様と使い方の記事一覧

スピルでクロス集計(データ更新が自動反映)を行う数式

最頻値(現れる頻度が最も高い数値)を取得(MODE.SNGL関数、MODE.MULT関数)