TRANSPOSE関数で行列を転置する方法は?
結論
TRANSPOSE関数で範囲の行と列を入れ替え(転置)できます。2021以降はスピルで自動展開されます。
詳しい解説
TRANSPOSE関数は範囲の行と列を入れ替えます(転置)。`=TRANSPOSE(A1:C3)`は縦3行×横3列を横3列×縦3行に変換します。Excel 2016/2019ではCSE配列数式(Ctrl+Shift+Enter)として入力する必要がありますが、2021以降ではスピル機能により自動展開されます。縦データを横に、横データを縦に変換する、データの向きを変更してグラフ作成、データベース形式への変換などに使用します。元の範囲が縦m行×横n列なら、結果は横n列×縦m行になります。
執筆・検証:田中 けんた|Excel歴15年・MOS資格保持
バージョン対応
| Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|
| CSE配列数式として入力 | CSE配列数式として入力 | スピルで自動展開 | スピルで自動展開 | スピルで自動展開 |
実務での使用例
縦データを横に変換(2021以降)
縦に並んだ商品名(A1:A5)を横1行に展開。スピル機能で自動的に横に展開される
=TRANSPOSE(A1:A5)表の行列を入れ替え
3行×4列の表(A1:D3)を4行×3列に転置。列見出しと行見出しを入れ替えてデータの見方を変更
=TRANSPOSE(A1:D3)