TRANSPOSE関数

Excel 2007+

概要

TRANSPOSE関数は、Excelのセル範囲の行と列を入れ替える配列関数です。縦方向のデータを横方向に、横方向のデータを縦方向に変換します。コピー&ペーストによる配置転換とは異なり、元のデータを動的に参照し続けるためデータ変更時に自動更新されます。

構文

TRANSPOSE(配列)

パラメータ

パラメータ タイプ 必須 説明
配列 範囲/配列 はい 行列変換を行う元のセル範囲または配列。変換後、元の行が新しい列になります

TRANSPOSE関数の使用

TRANSPOSE関数は、データの向きを変える必要がある場面で使用します。表形式データの行と列を入れ替える際や、縦長リストを横長リストに変換する際に便利です。配列数式として入力するため、出力範囲を選択してから関数を確定する必要があります。

TRANSPOSEの一般的な例

基本的な縦→横変換

=TRANSPOSE(A1:A4)

A1〜A4の縦方向データを横方向(4列)に展開します。事前に4つの横セルを選択し、Ctrl+Shift+Enterで確定。

表全体の転置

=TRANSPOSE(A1:B4)

2行×4列の範囲を4行×2列に変換。8つのセルを選択して配列数式入力。

Microsoft 365動的配列

=TRANSPOSE(A1:B4)

最新版ではEnterキーだけで動的配列として自動展開されます。

よくある質問

いいえ、配列数式専用です。出力範囲を選択後、Ctrl+Shift+Enter(旧版)またはEnter(Microsoft 365)で確定してください。

コピー版は静的データ、TRANSPOSEは元のデータを参照し続ける動的リンクです。元データ変更時に自動反映されます。

出力範囲のサイズが入力範囲と一致しないか、配列数式として確定していない可能性があります。

一般的なエラーと解決策

#VALUE! エラー

Cause: 出力範囲の行数・列数が入力配列と一致しない

Solution: 入力範囲m×nに対し、出力範囲をn×mに正確に選択してください

#SPILL! エラー(Microsoft 365)

Cause: 出力先が他のデータで占有されている

Solution: 出力範囲をクリアしてから関数を入力してください

中かっこが出ない

Cause: 配列数式として確定していない

Solution: Ctrl+Shift+Enterを押して配列確定してください

注記

  • Microsoft 365以降は動的配列数式に対応し、Enterだけで使用可能
  • 従来版では必ず出力範囲を選択してから配列確定が必要
  • 数式のみ転置。セルの書式や罫線は転置されない
  • 大量データ処理時は計算負荷に注意

互換性

利用可能: Excel 2007, Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021, Microsoft 365

利用不可:

コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2007+