エクセルで作った表の縦と横を入れ替えたいのに、やり方がわからなくて一から作り直した経験はありませんか。
この記事では【Excel】エクセルで列と行を入れ替える方法(順番・左右・データの変換・コピー)について解説していきます。
ポイントは
・コピー&「行列を入れ替えて貼り付け」で一発変換する方法
・TRANSPOSE関数を使って動的に行列を入れ替える方法
・列の順番・左右を入れ替える方法
です。
それでは詳しく見ていきましょう。
エクセルで列と行を入れ替える方法1【貼り付けオプションで一発変換】
列と行を入れ替える最も手軽な方法は、コピー後の貼り付けオプションを使う方法です。
表全体をコピーして「形式を選択して貼り付け」から「行列を入れ替える」にチェックを入れるだけで、縦横が入れ替わった表を一瞬で作成できます。
関数の知識が不要で、直感的に操作できるため最初に覚えておきたい方法です。
サンプルデータと操作の前準備
まず、今回使用するサンプルデータを確認しましょう。

この表は行方向に「単価・個数・売上」、列方向に「商品名」が並んでいます。
これを列方向に「単価・個数・売上」、行方向に「商品名」が並ぶ形に入れ替えることを目標にします。
入れ替え後の表は別のセル範囲に貼り付けるため、元のデータは保持されます。

「形式を選択して貼り付け」で行列を入れ替える手順
まず、入れ替えたい表全体(A1からF4など)をドラッグで選択します。
Ctrl+Cでコピーし、貼り付け先の空きセルをクリックします。
次に「ホーム」タブの「貼り付け」ボタン下の「▼」をクリックし、表示されたメニューから「形式を選択して貼り付け」を選択します。

ダイアログが開いたら、右下にある「行列を入れ替える」のチェックボックスにチェックを入れて「OK」をクリックします。

これだけで行と列が入れ替わった表が貼り付けられます。
もとの表で行方向に並んでいた「桜餅・柏餅・マシュマロ・ハラス・カツオ」が、入れ替え後は列方向(縦)に並び変わります。

右クリックメニューから素早く入れ替える方法
リボンを使わずに右クリックメニューからも同じ操作が行えます。
表をコピーして貼り付け先セルで右クリックすると、「貼り付けのオプション」のアイコン一覧が表示されます。
アイコンの中に「行列を入れ替える」を示すアイコン(矢印が交差した形)があるため、それをクリックするだけで完了します。
アイコンにマウスカーソルを合わせると、入れ替え後のプレビューが表示されるため、適用前に仕上がりを確認できます。
リボンを経由するよりもステップが少なく、スピーディーに操作できる方法です。
エクセルで列と行を入れ替える方法2【TRANSPOSE関数で動的に入れ替え】
貼り付けオプションによる方法は元データとリンクしていないため、元データを変更しても入れ替え後の表には反映されません。
元データと連動させながら行列を入れ替えたい場合はTRANSPOSE関数を使います。元データを更新すると自動的に入れ替え後の表にも反映されるため、管理の手間が減ります。
データが頻繁に更新される表に特に有効な方法です。
TRANSPOSE関数の基本的な使い方
TRANSPOSE関数の書式は以下のとおりです。
「配列」には入れ替えたい表のセル範囲を指定します。
たとえば、A1からF4の表を入れ替える場合は「=TRANSPOSE(A1:F4)」と入力します。
Excel 2021以降やMicrosoft 365では、入れ替え後の表の左上セルに数式を入力してEnterキーを押すだけで、スピル機能により結果が自動的に周辺セルに広がります。
元の表が4行×6列であれば、入れ替え後は6行×4列の範囲に結果が展開されます。

古いExcelバージョンでのTRANSPOSE関数の入力方法
Excel 2019以前のバージョンではスピル機能がないため、配列数式として入力する必要があります。
まず、入れ替え後の表を表示させたい範囲をあらかじめドラッグで選択します。
元の表が4行×6列であれば、入れ替え後は6行×4列になるため、その分のセル範囲を選択します。
選択した状態でTRANSPOSE関数を入力し、最後にEnterキーではなくCtrl+Shift+Enterを押します。
数式バーに「{=TRANSPOSE(A1:F4)}」のように波括弧が付いた形で表示されれば、配列数式として正しく入力された状態です。
波括弧は手動で入力するのではなく、必ずCtrl+Shift+Enterで確定することで自動的に付与されます。
TRANSPOSE関数使用時の注意点
TRANSPOSE関数で作成した入れ替え表は、元データとリンクしているため元データの変更が即座に反映されます。
一方で、TRANSPOSE関数の結果セルに直接値を入力・編集することはできません。
値として独立した表が必要な場合は、TRANSPOSE関数の結果範囲をコピーして「値として貼り付け」を行い、数式を値に変換してから編集しましょう。
また、元データに空白セルが含まれる場合、TRANSPOSE関数の結果にも空白が反映されます。
元データの整理を先に済ませてからTRANSPOSE関数を使うと、きれいな入れ替え表が完成します。
エクセルで列の順番・左右を入れ替える方法
表全体の行列を入れ替えるのではなく、特定の列の順番を左右に入れ替えたい場面もあります。
列の順番を入れ替えるには、移動したい列を選択してShiftキーを押しながらドラッグする方法が最も手軽です。
切り取り&挿入を使った方法とあわせて覚えておくと、表の編集作業がスムーズになります。
Shiftキーを使ったドラッグで列を移動する方法
入れ替えたい列の列番号(A・B・Cなどのアルファベット部分)をクリックして列全体を選択します。
選択した列の枠線にカーソルを合わせると、カーソルが十字矢印の形に変わります。
この状態でShiftキーを押しながらドラッグすると、列を目的の位置に移動できます。
移動先には緑色の太い線が表示されるため、その位置を確認しながらドラッグを離すと列が移動します。
たとえば、サンプルデータの「ハラス」列を「柏餅」列の左側に移動させたい場合、ハラス列を選択してShiftキーを押しながら柏餅列の左端までドラッグします。

切り取り&挿入で列の順番を入れ替える方法
ドラッグ操作が難しい場合は、切り取りと挿入を組み合わせた方法が確実です。
まず移動させたい列を選択してCtrl+Xで切り取ります。
次に移動先とする列の列番号を右クリックして「切り取ったセルの挿入」を選択します。
これで切り取った列が指定した列の左側に挿入され、順番が入れ替わります。
「貼り付け」ではなく「切り取ったセルの挿入」を使うことで既存のデータが上書きされず、安全に列を移動できます。
複数列をまとめて順番変更する方法
複数の列をまとめて移動させたい場合も、基本操作は1列の場合と同じです。
移動させたい列が隣接している場合は、最初の列番号をクリックしてからShiftキーを押しながら最後の列番号をクリックし、複数列をまとめて選択します。
離れた列をまとめて選択する場合はCtrlキーを押しながら各列番号をクリックします。
ただし、離れた列をShiftドラッグで移動することはできないため、その場合は1列ずつ移動するか、一時的に隣接させてからまとめて移動する方法が現実的です。
列の順番が大幅に変わる場合は、入れ替えの手順を事前にメモしてから順番に操作すると混乱を防げます。
まとめ エクセルで列と行を入れ替える方法(データの変換・コピー・順番・左右)
エクセルで列と行を入れ替える方法をまとめます。
・最も手軽な方法は表をコピーして「形式を選択して貼り付け」→「行列を入れ替える」を使う方法
・右クリックの貼り付けオプションにある「行列を入れ替える」アイコンでも同じ操作が可能
・元データと連動させたい場合はTRANSPOSE関数を使い、Excel 2021以降はスピル機能で1セルに入力するだけでよい
・Excel 2019以前ではTRANSPOSE関数をCtrl+Shift+Enterで配列数式として入力する
・列の順番を左右に入れ替えるにはShiftキーを押しながらドラッグするか、切り取り&「切り取ったセルの挿入」を使う
これらの方法を組み合わせれば、どんな表の入れ替えにも対応できます。
まずは「形式を選択して貼り付け」の行列入れ替えを覚えておくと、多くの場面ですぐに役立ちます。
データの更新が多い表にはTRANSPOSE関数を、列の並び順を細かく調整したい場合はShiftドラッグを使い分けましょう。
エクセルの行列入れ替え機能を活用して、効率よくデータを整理していきましょう。


コメント