「この表、縦と横の項目が逆だったらもっと見やすいのに…」
Excelでデータ集計をしていると、そんな場面に遭遇したことはありませんか? 手作業でデータを一つずつコピー&ペーストして作り直すのは、時間がかかり、ミスの原因にもなります。
そんな悩みを一瞬で解決してくれるのがTRANSPOSE(トランスポーズ:配置転換する、の意)関数です。この関数を使えば、マウス操作だけで表の行と列をスマートに入れ替えることができます。
目次
今回のゴール:店舗別の月次実績表の「行」と「列」を入れ替える
以下の「販売実績」表があります。現在は行に「店舗」、列に「月」が配置されていますが、これを行と列が逆になった新しい表として作成することが目標です。
サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。
Excel-g732-1.xlsx (ダウンロード)
まずは、以下のサンプルデータをExcelシートにコピーして、操作の準備をしてください。
| A | B | C | D | |
| 1 | 販売実績 | 千円 | ||
| 2 | 店舗 | 4月 | 5月 | 6月 |
| 3 | 徳島店 | 6707 | 5062 | 6110 |
| 4 | 高松店 | 6523 | 4459 | 6500 |
| 5 | 松山店 | 6166 | 6891 | 6023 |
| 6 | 高知店 | 6917 | 5423 | 7687 |
解決策:TRANSPOSE関数の使い方
この操作は、お使いのExcelのバージョンによって入力方法が異なります。
【Microsoft 365版 Excel】(推奨)
- 結果を表示したい先頭のセル(例では
F2)を選択します。 - 以下の数式を入力して、普通に
Enterキーを押します。Excel=TRANSPOSE(A2:D6) - これだけで、結果が自動的に右と下のセルに展開(スピル)され、行列が入れ替わった表が完成します。
【Excel 2019以前のバージョン】
- 重要: 元の表が5行×4列なので、入れ替えた後は4行×5列になることを確認します。結果を表示したい範囲(例では
F2からJ5まで)をあらかじめマウスで選択します。 - その状態で、数式バーに以下の数式を入力します。Excel
=TRANSPOSE(A2:D6) - 最後に、
Ctrl+Shift+Enterキーを同時に押して数式を確定します。数式が{ }で囲まれ、選択した範囲全体に行列が入れ替わったデータが表示されれば成功です。
数式の解説
TRANSPOSE関数の構文は、Excel関数の中でも特にシンプルです。
TRANSPOSE(配列)
- 配列 (array):
A2:D6- 行と列を入れ替えたい、元の表全体のセル範囲を指定します。ただそれだけです。
TRANSPOSE関数は、指定された範囲の最初の行を、出力先の最初の列に変換し、2番目の行を2番目の列に…という処理を自動で行います。
まとめ
TRANSPOSE関数は、データの見せ方を変えたい時や、他の関数(グラフ作成など)が特定の表形式を要求する場合に非常に役立ちます。
特にMicrosoft 365のスピル機能と組み合わせることで、その威力は絶大です。たった一つの数式で、動的に行列を入れ替えた表を作成できます。手作業でのコピー&ペーストはもうやめて、TRANSPOSE関数で日々の作業をスマートに効率化しましょう。

コメント