Excelで作成した表を見やすく整える際に、行に並んだ項目を列へ移したい、縦長の一覧を横長の表へ変えたいという場面があります。
行と列の入れ替えは、コピーして貼り付ける方法のほか、TRANSPOSE関数を使って元データと連動させる方法でも行えます。
一度だけ表の向きを変えたい場合は形式を選択して貼り付け、元表の変更も反映したい場合は関数を使うと考えると、操作方法を選びやすくなります。
行と列を入れ替える主な方法
・コピーして形式を選択して貼り付けを使う方法
・右クリックメニューの行列を入れ替える機能を使う方法
・TRANSPOSE関数で縦横を連動させる方法
この記事では、Excelで行と列を入れ替える基本操作、関数の書き方、貼り付けできないときの確認ポイントを順番に解説します。
1行目に見出しがある売上表を例にしながら、作業後の表がどう変わるかも確認していきましょう。
エクセルで行と列を入れ替える方法【形式を選択して貼り付け】
それではまず、コピーした表を縦横に入れ替えて貼り付ける方法について解説していきます。
| 商品 | 1月 | 2月 | 3月 |
|---|---|---|---|
| りんご | 120 | 135 | 128 |
| みかん | 98 | 110 | 105 |
コピーする範囲の選択
最初に、入れ替えたい表全体をドラッグして選択します。
この例ではA1からD3までを選択し、1行目の見出しである商品、1月、2月、3月も含めます。
見出しを含めずにコピーすると、貼り付け後に何の数値なのか判別しにくくなるため、通常は表の外枠ごと選択するのが安全です。
選択後はCtrlキーとCキーを同時に押すか、ホームタブのコピーをクリックします。

コピー中のセル範囲には点線の枠が表示されます。
この状態で元の表へ直接貼り付けると既存データを上書きするおそれがあるため、余白のあるセルか別シートを貼り付け先に選びましょう。
貼り付け先には、元の表よりも縦横の必要セル数が逆転した分だけ空白が必要です。
3行4列の表は、入れ替えると4行3列の表になります。
行列を入れ替えて貼り付ける操作
続いて、表を貼り付けたい左上のセルを1つ選択し、右クリックします。
表示されたメニューから形式を選択して貼り付けを開き、貼り付けオプションの行列を入れ替えるを選択します。

Excelのバージョンによっては、右クリックメニュー内の貼り付けアイコンのうち、縦横に矢印が付いたボタンを選ぶだけでも実行できます。
貼り付ける際に値、数式、書式などをそのまま引き継ぎながら、行と列だけを交換できる点がこの機能の特徴です。
元の表がA1からD3なら、貼り付け先ではA列に商品名、B列からD列に各商品の数値が並ぶ向きへ変換されます。
この方法で作成された表は元データと連動しないため、後から元表を変更しても貼り付け後の表は自動更新されません。
貼り付け後の表と書式の確認
貼り付けが完了すると、元の行見出しは列見出しとなり、元の列見出しは行見出しとして配置されます。
| 商品 | りんご | みかん |
|---|---|---|
| 1月 | 120 | 98 |
| 2月 | 135 | 110 |
| 3月 | 128 | 105 |
罫線や塗りつぶしも一緒に貼り付けられるため、見た目を維持したままレイアウトだけを変更したい場合に便利です。
ただし、列幅は貼り付け先に合わせて自動で最適化されないことがあります。
文字列が途中で切れる場合は、列番号の境目をダブルクリックして列幅を自動調整しましょう。
【操作のポイント】貼り付け先の左上セルだけを指定すれば、必要な範囲へ自動的に展開されます。
エクセルで縦横に貼り付けるショートカット操作
続いては、リボンや右クリックメニューを使って素早く縦横に貼り付ける手順を確認していきます。
| 担当者 | 4月 | 5月 |
|---|---|---|
| 田中 | 42 | 39 |
| 佐藤 | 35 | 48 |
ホームタブからの貼り付け
コピー範囲を選んでCtrlキーとCキーを押した後、貼り付け先のセルを選択します。
ホームタブの貼り付けの下向き矢印をクリックすると、複数の貼り付け方法が表示されます。
この中から行列を入れ替えるのアイコンをクリックすれば、通常の貼り付けと同じように縦横を交換できます。

リボン上のアイコンは小さいため、マウスポインターを重ねて表示される説明で名称を確認すると選び間違いを防げます。
数式を含む表では、参照先も縦横に対応する形で変化することがあるため、貼り付け後には数式バーで参照セルを確認すると安心です。
形式を選択して貼り付けのキーボード操作
キーボード中心で操作したい場合は、コピー後に貼り付け先を選び、CtrlキーとAltキーとVキーを同時に押します。
形式を選択して貼り付けのダイアログボックスが開いたら、行列を入れ替えるチェックボックスをオンにしてOKを選択します。

このダイアログでは、すべて、数式、値、書式など、何を貼り付けるかも細かく選べます。
数値だけを縦横に変えたい場合は値を選び、行列を入れ替えるにもチェックを入れると、元表の書式や条件付き書式を持ち込まずに済みます。
外部システムからコピーしたデータを整形する場合にも役立つ操作です。
値だけを入れ替える貼り付け
計算結果だけを別のレイアウトへ配置したいときは、形式を選択して貼り付けで値を指定します。
元のセルにSUM関数やVLOOKUP関数などが入っていても、貼り付け先には計算済みの数値だけが配置されます。
提出用の一覧表を作るときは、数式が残らない値貼り付けが向いているでしょう。
一方、後から元データの更新を反映したいなら、値貼り付けではなくTRANSPOSE関数を使う必要があります。
【操作のポイント】コピー後にEscキーを押すとコピー状態が解除されるため、貼り付けが終わってから押しましょう。
TRANSPOSE関数による行と列の入れ替え
続いては、元の表を変更したときに入れ替え先も自動更新できるTRANSPOSE関数を確認していきます。
| A | B | C |
|---|---|---|
| 商品 | 1月 | 2月 |
| りんご | 120 | 135 |
| みかん | 98 | 110 |
TRANSPOSE関数の基本式
TRANSPOSE関数は、指定したセル範囲の行と列を交換して表示する関数です。
=TRANSPOSE(A1:C3)
上の数式では、A1からC3までの3行3列の範囲を、行と列を入れ替えた状態で返します。
Excel 365やExcel 2021以降では、入れ替え先の左上セルに数式を入力してEnterキーを押すだけで、必要な範囲へ結果が自動展開されます。
数式の入力先には元データと重ならない空白範囲を選ぶことが大切です。
たとえばE1セルへ数式を入力すると、E1からG3へ結果がスピル表示されます。
スピル表示とオートフィルの考え方
新しいExcelでは、TRANSPOSE関数の結果はスピルという仕組みで複数セルに広がります。
最初のセルだけに数式を入れればよく、数式をコピーしてオートフィルする必要はありません。
古いバージョンのExcelでは、あらかじめ入れ替え後の範囲を選択し、数式を入力してCtrlキーとShiftキーとEnterキーで確定する配列数式の操作が必要な場合があります。
Microsoft 365では通常のEnterキーで確定できるため、まず使用しているExcelのバージョンを確認しましょう。
元データが3行4列の場合、TRANSPOSE関数の出力は4行3列です。
出力先の範囲に文字や数値があると、スピルエラーになることがあります。
数式バーで確認する画面
数式を入力した後は、結果の左上セルを選択して数式バーを確認します。
元表のB2セルを変更すると、TRANSPOSE関数の出力先にある対応セルも自動で変わります。
この連動性が、単なる貼り付けではなく関数を使う大きな利点です。
【操作のポイント】数式結果の途中セルだけを編集することはできないため、修正は元データ側で行います。
行と列を入れ替えた数式と参照の注意点
続いては、数式入りの表を入れ替える際に確認したい参照方法と計算結果を解説していきます。
| 商品 | 単価 | 数量 | 売上 |
|---|---|---|---|
| りんご | 120 | 10 | =B2*C2 |
相対参照が変わる仕組み
通常のコピーで数式を移動すると、参照セルは移動先に応じて変化します。
行列を入れ替えて貼り付ける場合も、数式が含まれていると参照関係が期待通りか確認することが重要です。
たとえばD2セルの=B2*C2を含む表を転置した場合、貼り付け先の数式は元の位置関係を反映する形に調整されます。
見た目だけで判断せず、数式バーで実際の参照先を確認する習慣を付けましょう。
外部シートや別ブックを参照する数式では、転置後も参照元が正しいかを個別に点検する必要があります。
絶対参照を含む数式
税率のように常に同じセルを参照したい場合は、$記号を付けた絶対参照を使います。
=B2*$F$1
この式ではB2は相対参照で、コピー先に応じて変化しますが、$F$1は固定されたままです。
行列を入れ替えた表でも固定値の参照先を保ちたいなら、事前に絶対参照を設定すると計算ミスを防げます。
F4キーを押すと、選択中のセル参照を相対参照、絶対参照、複合参照へ切り替えられます。
合計行と合計列の再確認
縦横を入れ替えると、右端にあった合計列が最下段の合計行へ移ることがあります。
そのため、SUM関数の範囲がデータ全体を正しく囲んでいるかを確認しましょう。
横方向の合計例
=SUM(B2:D2)
縦方向の合計例
=SUM(B2:B4)
入れ替え後のレイアウトに合わせて、集計の方向も変わる点がポイントです。
オートSUMで再計算式を作り直すと、範囲指定の見落としを減らせます。
【操作のポイント】数式を含む重要な表は、転置後にいくつかの計算結果を手計算でも照合すると確実です。
エクセルで行と列を入れ替えできない場合の確認
続いては、貼り付けやTRANSPOSE関数で行と列を入れ替えできないときの原因を確認していきます。
| 確認項目 | 主な状態 | 対処 |
|---|---|---|
| 結合セル | 貼り付けが失敗する | 結合を解除する |
| スピル範囲 | 結果を展開できない | 空白を確保する |
結合セルが含まれている場合
コピー元または貼り付け先に結合セルがあると、行列を入れ替えて貼り付けられないことがあります。
特に複数行や複数列にまたがる結合セルは、転置後のセル構造と一致しないためエラーの原因になりがちです。
操作前にホームタブの結合して中央揃えを解除すると、貼り付けが成功する場合があります。
結合を解除すると左上セル以外の文字が消えることがあるため、必要な文字列は事前に控えておきましょう。
貼り付け先のデータと保護設定
貼り付け先に値や数式が入力されていると、転置結果が既存データを上書きする可能性があります。
Excelが警告を表示した場合は、空白の場所を選び直すのが安全です。
また、シートが保護されていると貼り付け操作そのものが制限されることがあります。
校閲タブからシート保護の状態を確認し、編集権限がある場合にのみ保護を解除してください。
共有ファイルでは勝手に保護を解除せず、管理者のルールを確認することも大切です。
TRANSPOSE関数のスピルエラー
TRANSPOSE関数を入力しても結果が表示されず、スピルと表示される場合は、展開先に障害物があります。
数式セルを選択すると、どのセルが展開を妨げているか点線で示されることがあります。
空白に見えるセルでも、スペース文字、数式、結合セルが入っている場合があるため注意しましょう。
出力予定範囲を選択してDeleteキーで内容をクリアしてから再入力すると解決しやすくなります。
【操作のポイント】元データと出力範囲が重なると、循環参照やスピルエラーの原因になるため離して配置します。
まとめ エクセルで行と列を入れ替える方法
Excelで行と列を入れ替える方法は、表を一度だけ変換したいか、元データと連動させたいかによって使い分けるのが基本です。
コピー後に形式を選択して貼り付けの行列を入れ替えるを選べば、表の向きをすばやく変更できます。
完成済みの表を見やすく並べ替える用途には、転置貼り付けが適しています。
一方で、元の数値を更新したときに転置後の表も更新したいなら、=TRANSPOSE(範囲)の関数を使いましょう。
数式を転置する際は相対参照、絶対参照、合計範囲が想定通りかを確認することが重要です。
貼り付けできない場合は、結合セル、シート保護、貼り付け先の既存データ、スピル範囲を順に確認すると原因を見つけやすくなります。
用途別の選び方
・一度だけ縦横を変える場合は行列を入れ替えて貼り付け
・値だけを別表へ出す場合は値貼り付けと行列を入れ替える
・元表と連動させる場合はTRANSPOSE関数
目的に合った方法を選び、見出しや計算式も含めて正しく転置していきましょう。