公開日:
Excelで行と列を入れ替える方法|値貼り付けとTRANSPOSEの違い
月別の売上表を作ったあとで「横に並んでいる月を縦に並べてほしい」と依頼される。行と列を手作業で転記すると、数値のずれやコピー漏れが心配です。
Excelでは、貼り付け時に行と列を入れ替える方法と、TRANSPOSE関数で元表を参照する方法があります。どちらを選ぶかは、あとから元データが変わるかどうかで決めると分かりやすくなります。
まず結論:一度だけなら貼り付け、更新を反映するなら関数
| 比較 | 行と列を入れ替えて貼り付け | TRANSPOSE関数 |
|---|---|---|
| 元表の変更 | 貼り付け結果へ自動反映しない | 通常は参照先の変更が結果に反映 |
| 主な用途 | 提出用の表を一度作る | 別レイアウトで参照を続ける |
| 注意点 | コピー後の転記先を確認 | 結果の展開先に空きセルが必要 |
例えば下の「4月・5月・6月が横に並ぶ表」を、月が縦に並ぶ表へ変えたいとします。
方法1:コピーして「行と列を入れ替え」貼り付けする
Windows版Excelで、元データがA1:D3にある場合の操作です。
- 元の表A1:D3をコピーします。
- 転記先となる空白のセル(例:F1)を選びます。元表と重ならない場所にします。
- [ホーム]タブの[貼り付け]の▼から[行/列の入れ替え]を選びます。右クリックの貼り付けオプションから選べる環境もあります。
- 4行×3列に入れ替わったことを確かめ、見出しと金額を照合します。
これで元表の行と列が逆になります。元表が後から変わっても、貼り付け結果は通常、自動では更新されません。
「値だけ」を残したい場合
元表に数式がある場合、通常の行列入れ替え貼り付けでは数式参照が調整されることがあります。計算済みの数値だけを残したいなら、転置してできた表をコピーし、同じ場所へ[値]として貼り付け直す方法があります。これで数式を値に確定できます。
提出用資料では、元表の修正が提出後の内容へ意図せず影響しないかを確認してください。
方法2:TRANSPOSE関数で元表と連動させる
元表の更新を転置先へ反映させたい場合は、TRANSPOSE を使います。
=TRANSPOSE(A1:D3)
Microsoft 365など、動的配列に対応したExcelなら、転記先の左上セル(例:F1)に入力してEnterで確定します。結果が周囲の空きセルへ自動的に広がります。元表3行×4列に対して、結果は4行×3列です。
出力先にすでに値があると #SPILL! が出ることがあります。転置結果が広がる領域を空けてください。展開した各セルを直接書き換えるのではなく、元表か左上の数式を変更します。
古いExcelでは動的配列に対応しておらず、結果範囲を先に選び、Ctrl + Shift + Enter で配列数式として確定する手順が必要な場合があります。利用中のバージョンに合わせましょう。
Excelテーブルから直接転置できないことがある
[挿入]→[テーブル]で作成したExcelテーブルを、そのまま「行と列を入れ替え」貼り付けできない場合があります。Microsoftは、先にテーブルを通常の範囲に変換するか、TRANSPOSE関数を使う方法を案内しています。
ただし範囲へ変換すると、テーブル独自のフィルターや参照構造などに影響するため、元のテーブルを編集する前にコピーを作ることをおすすめします。
よくある質問
行と列の入れ替えを同じ位置に上書きできますか?
元表と転記先が重なると貼り付けできないことがあります。いったん別の空き領域へ転置し、内容を確認してから移動してください。
TRANSPOSEで元表に行が増えたら自動で範囲が広がりますか?
式が A1:D3 の固定範囲なら、元表の行を増やしただけでは新しい行が含まれない場合があります。参照範囲の調整が必要か確認してください。
文字や数値の書式も同じになりますか?
数式方式では元のセルの書式まで自動で複製されるわけではありません。貼り付け方式でも、必要な書式や列幅が意図どおりか確認しましょう。
まとめ
Excelの行と列を入れ替えるなら、一度だけの表作成は転置貼り付け、元表に追従したいならTRANSPOSEが基本です。最後に「元のどのセルが転置先のどこへ移ったか」を数件照合すると、提出後の転記ミスを防ぎやすくなります。
