Excelで表を作成した後に、列と行を入れ替えたい、データの順番を上下反転したいと感じる場面は少なくありません。
コピーと貼り付けだけでは見た目が変わらないこともありますが、目的に合った機能を選べば、元のデータを保ちながら整った表へ変換できます。
縦横の入れ替えには行列を入れ替える貼り付け機能またはTRANSPOSE関数を使います。
上下の反転には並べ替え、SORTBY関数、連番を使った方法が便利です。
1行目を見出しとして扱う表では、見出しを含めて操作するか、データ部分だけを操作するかを事前に決めることが重要です。
ここでは、縦横に反転する方法と、上下の順番を逆にする方法を、サンプル表と操作イメージを交えて解説します。
エクセルで縦横にデータを入れ替える貼り付け方法
それではまず、コピーした表を横方向と縦方向で入れ替える基本操作について解説していきます。
| 商品 | 4月 | 5月 | 6月 |
|---|---|---|---|
| りんご | 120 | 135 | 110 |
| みかん | 95 | 88 | 102 |
| ぶどう | 180 | 172 | 190 |
上のように商品名が縦に並び、月が横に並ぶ表を、月ごとの情報が縦に並ぶ形式へ変えたい場合を考えます。
形式を選択して貼り付ける操作
元の表をドラッグして選択し、CtrlキーとCキーを押してコピーします。
貼り付け先となる空白セルを選択し、右クリックして貼り付けのオプションを表示します。
貼り付けのアイコンのうち、表が回転しているように見える行列を入れ替えるを選ぶと、行と列がその場で交換されます。
通常の貼り付けでは元の形のまま複製されるため、専用の貼り付け項目を選ぶことがポイントです。

【操作のポイント】貼り付け先には、変換後の表が広がるだけの空白セルを確保してから実行します。
貼り付け先の範囲と重複の注意点
縦横を入れ替えた表は、列数と行数が逆になります。
たとえば4列4行の範囲を入れ替えると、変換後も4列4行ですが、3列10行の表なら10列3行へ変わります。
貼り付け先に既存データがあると、Excelは上書きの確認を表示するか、意図しないデータの重なりを起こすことがあります。
元表の右側または別シートの十分に広い空白範囲を貼り付け先にすると、安全に結果を確認できます。
貼り付け先の左上セルだけを選択すれば、Excelが必要な範囲へ自動的に展開します。
【操作のポイント】表の途中のセルではなく、変換後の表を置きたい左上のセルを選択します。
元データを残す場合と置き換える場合
コピーして行列を入れ替える方法は、元の表を残したまま別の表を作れる点が大きな利点です。
報告書用には横長の一覧、集計用には縦長の一覧というように、同じ数値を複数の形式で使い分けられます。
元データを最終的に置き換えたい場合でも、まず別の場所へ貼り付けて内容を確認してから、不要になった元表を削除する流れが安心です。
結合セルが含まれる表は行列の入れ替えでエラーや崩れが起きやすいため、事前に結合を解除しておきましょう。
【操作のポイント】元表をすぐ削除せず、数式や書式が正しく変換されたことを確認してから整理します。
エクセルで縦横にデータを入れ替えるTRANSPOSE関数
続いては、元データの変更内容を変換先にも反映したい場合に役立つTRANSPOSE関数を確認していきます。
| 商品 | 4月 | 5月 | 6月 |
|---|---|---|---|
| りんご | 120 | 135 | 110 |
| みかん | 95 | 88 | 102 |
| ぶどう | 180 | 172 | 190 |
貼り付けによる入れ替えは一度きりの変換ですが、関数を使うと元表との連動を維持できます。
TRANSPOSE関数の入力方法

変換先の表を始める左上セルを選択し、元表がA1からD4にある場合は次の数式を入力します。
=TRANSPOSE(A1:D4)
Microsoft 365やExcel 2021以降では、Enterキーを押すだけで結果が必要な範囲へ自動的に広がります。
数式を入力するセルは変換結果の左上だけであり、結果が表示される範囲へ個別に数式を入れる必要はありません。
関数名のTRANSPOSEは、行列を転置するという意味で、表の行と列を入れ替える処理に対応します。
【操作のポイント】数式を入力する前に、変換先に値が入っていないことを確認します。
スピル範囲と変更反映の仕組み
新しいExcelでは、1つの数式が複数セルに結果を表示するスピル機能が使われます。
TRANSPOSE関数の結果として表示された範囲は、数式が入っている左上セルを中心としたひとまとまりの範囲です。
元データのB2にある数値を変更すると、対応する変換後のセルも自動で更新されます。
この性質により、毎月追加や修正がある一覧表でも、転記忘れを減らしながら縦横を入れ替えた表を維持できます。
変換後のセルを直接編集すると、スピル範囲の一部を変更できないというメッセージが出ることがあります。
その場合は、元表を変更するか、左上セルのTRANSPOSE数式を変更します。
【操作のポイント】変換先ではなく、参照元の表を更新することが連動を保つコツです。
旧バージョンでの配列数式の扱い
Excel 2019など、動的配列に対応していないバージョンでは、TRANSPOSE関数を入力する前に結果の範囲を選択します。
元表が4列4行なら、変換先も4列4行を選択してから数式を入力します。
入力後はEnterキーだけではなく、CtrlキーとShiftキーとEnterキーを同時に押して確定します。
数式バーに波かっこが表示される場合がありますが、波かっこはキーボードで直接入力するものではありません。
旧バージョンでは範囲の大きさを誤ると結果が欠けるため、元データの行数と列数を確認してから操作しましょう。
【操作のポイント】古いExcelでは、変換後の行数と列数を逆にして範囲選択します。
エクセルで上下の順番を反転する並べ替え方法
続いては、表の最終行を先頭へ移動し、上から下へ並ぶ順序だけを逆にする方法を確認していきます。
| 受付番号 | 氏名 | 申請日 |
|---|---|---|
| 1 | 青木 | 4月1日 |
| 2 | 石井 | 4月2日 |
| 3 | 上田 | 4月3日 |
| 4 | 江口 | 4月4日 |
受付番号が小さい順に並ぶ表を、最新のデータから確認できるよう大きい順へ変える例です。
連番列を基準に降順へ並べ替える操作
表内の任意のセルを選択し、データタブにある並べ替えとフィルターの機能を使います。
受付番号の列を基準にし、順序を降順に指定すると、4、3、2、1という順で行全体が移動します。
このとき列全体ではなく表全体を選択して並べ替えることが大切です。
受付番号だけを並べ替えると、氏名や申請日との対応関係が崩れてしまうためです。

1行目に見出しがあるサンプル表では、並べ替え画面の先頭行を見出しとして使用する設定を有効にします。
【操作のポイント】選択範囲を拡張する確認画面が表示された場合は、選択範囲を拡張する方を選びます。
日付列を使って新しい順へ反転する方法
連番がない表でも、日付や時刻の列があれば、その列を基準に並べ替えられます。
申請日を降順にすれば新しい日付が上に、昇順にすれば古い日付が上に表示されます。
日付が文字列として入力されていると、見た目どおりに並ばないことがあります。
セルを選択したとき数式バーに日付として認識される値が表示されているかを確認し、必要なら日付形式へ修正してください。
表示形式だけを変えても文字列が日付へ変換されるとは限らないため、入力内容そのものの確認が必要です。
【操作のポイント】日付の並べ替えでは、年、月、日の順に正しく認識されているかを先に確認します。
同じ値がある表を反転するときの補助列
売上金額や担当者名など、同じ値が繰り返される列だけでは元の上下順を完全に逆にできません。
その場合は、表の右側に補助列を作り、上から1、2、3と連番を振ります。
補助列の連番を降順で並べ替えれば、同じ値が含まれていても元の行順を逆にできます。
作業後に補助列が不要なら削除できますが、再び並びを元へ戻す可能性があるなら残しておく方法も実用的です。
【操作のポイント】元の並びへ戻す可能性がある表では、補助列を削除する前に保存します。
エクセルで上下を反転するSORTBY関数
続いては、元の表を動かさず、別の場所に上下反転した結果を表示するSORTBY関数を確認していきます。
| 受付番号 | 氏名 | 申請日 |
|---|---|---|
| 1 | 青木 | 4月1日 |
| 2 | 石井 | 4月2日 |
| 3 | 上田 | 4月3日 |
| 4 | 江口 | 4月4日 |
SORTBY関数は、指定した範囲を別の列や行を基準に並べ替えて表示する関数です。
SORTBY関数で連番を降順にする数式
サンプル表がA1からC5にあり、1行目が見出しの場合、データ部分のA2からC5を対象にします。
=SORTBY(A2:C5,A2:A5,-1)
最初のA2:C5は並べ替えたいデータ範囲です。
次のA2:A5は並べ替えの基準となる受付番号の範囲で、最後のマイナス1は降順を意味します。
マイナス1を1へ変えると昇順になるため、反転した表を元の順序へ戻すことも簡単です。
【操作のポイント】見出し行を含めずに数式を入力し、必要なら見出しだけを別途コピーします。
Excel画面での数式入力イメージ
次のイメージは、元表を残したまま、E2セルから上下反転した一覧を作成する操作例です。
− □ ×
I
罫線
中央揃え
並べ替え
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 受付番号 | 氏名 | 申請日 | 受付番号 | 氏名 | 申請日 | |
| 2 | 1 | 青木 | 4月1日 | 4 | 江口 | 4月4日 | |
| 3 | 2 | 石井 | 4月2日 | 3 | 上田 | 4月3日 | |
| 4 | 3 | 上田 | 4月3日 | 2 | 石井 | 4月2日 | |
| 5 | 4 | 江口 | 4月4日 | 1 | 青木 | 4月1日 |
赤枠のE2からG2を先頭として、受付番号が大きい順のデータが表示されています。
結果の範囲は数式によって生成されているため、元表を更新すれば反転表も自動更新されます。
【操作のポイント】数式の結果が広がるE列からG列には、あらかじめ入力済みのデータを置かないようにします。
連番がないデータを式で反転する方法
元表に受付番号のような連番がないときは、ROW関数を使って各行の位置を基準にできます。
=SORTBY(A2:C5,ROW(A2:A5),-1)
ROW関数はセルの行番号を返すため、A2からA5なら2、3、4、5という数値になります。
この行番号をマイナス1で降順に並べることで、下の行から上の行へ逆順で表示できます。
見た目の順番そのものを反転したい場合には、並べ替え用の列がなくても使える便利な数式です。
【操作のポイント】ROW関数の範囲は、並べ替え対象のデータ行と同じ開始行、同じ終了行に合わせます。
エクセルで左右を反転するINDEX関数とCOLUMN関数
続いては、表の左端と右端を入れ替える左右反転について確認していきます。
| 商品 | 4月 | 5月 | 6月 |
|---|---|---|---|
| りんご | 120 | 135 | 110 |
| みかん | 95 | 88 | 102 |
| ぶどう | 180 | 172 | 190 |
左右反転は、列の並びを右から左へ逆順にする処理です。
貼り付けだけでは左右反転できない理由
行列を入れ替える貼り付け機能は、縦横を交換する転置であり、左右の順番を単純に逆にする機能ではありません。
たとえば商品、4月、5月、6月という列を、6月、5月、4月、商品という順にしたい場合は、列単位での並び替えまたは数式が必要です。
表の構造を理解せずにコピーすると、見出しとデータの対応が崩れる可能性があります。
縦横入れ替えと左右反転は別の操作として考えると、適切な方法を選びやすくなります。
【操作のポイント】行と列を交換したいのか、列の表示順だけを逆にしたいのかを先に区別します。
INDEX関数で右端から値を取り出す数式
元表がA1からD4にあり、見出しも含めて左右反転したい場合は、別の場所に次のような数式を入力できます。
=INDEX($A$1:$D$4,ROW(A1),COLUMNS($A$1:$D$1)-COLUMN(A1)+1)
INDEX関数は、指定範囲の何行目、何列目にある値を取り出す関数です。
ROW(A1)は、数式を下へコピーしたときに1、2、3と行番号を増やす役割を持ちます。
COLUMNS関数は元表の列数を数え、COLUMN(A1)を引いて1を加えることで、4、3、2、1と右端から数える列番号を作ります。
数式を右方向と下方向へオートフィルすると、右端の6月列から順番に値が表示されます。
【操作のポイント】元表の範囲は絶対参照にして、オートフィル中に参照範囲がずれないよう固定します。
数式を値へ変換して固定する手順
INDEX関数で作った左右反転表は、元表と連動しています。
元表を削除する予定がある場合や、反転後の表だけを独立して残したい場合は、数式を値に変換しましょう。
反転表の範囲をコピーし、右クリックの貼り付けオプションから値を選ぶと、数式ではなく表示結果だけが残ります。
値貼り付けを行った後は元データを変更しても反転表は変わりません。
連動を残したい場合は数式のまま、確定版として配布したい場合は値貼り付けという使い分けができます。
【操作のポイント】値貼り付けの前に、数式が参照している範囲と結果が正しいかを確認します。
エクセルでデータを入れ替える際の書式とエラー対策
続いては、入れ替え後に起こりやすい書式の崩れや数式エラーへの対処を確認していきます。
| 確認項目 | 確認内容 | 対処の目安 |
|---|---|---|
| 見出し | 1行目が含まれるか | 範囲選択を確認 |
| 数式 | 参照先が変わるか | 結果を検算 |
| 書式 | 罫線や表示形式 | 必要に応じて再設定 |
データの順番だけでなく、表としての読みやすさも確認することで、作業のやり直しを防げます。
数式の参照先が変わるケース
コピーして貼り付けた表に数式が含まれている場合、通常の相対参照では参照先が貼り付け位置に応じて変化します。
たとえばA2を参照する数式を右側へコピーすると、B2やC2を参照する形へ変わることがあります。
意図した参照先を固定したいときは、列番号や行番号の前にドル記号を付ける絶対参照を使います。
A1、A$1、$A1、$A$1では固定される方向が異なるため、どの方向にコピーするかを考えて設定します。
【操作のポイント】入れ替え後の表では、先頭セルだけでなく数式が入った複数セルを確認します。
書式と列幅を整える方法
行列を入れ替えた後は、元の列幅がそのまま適用されず、文字が切れたり余白が広すぎたりすることがあります。
列見出しの境界をダブルクリックすると、内容に合わせて列幅を自動調整できます。
日付、通貨、パーセントなどの表示形式も、変換後に意図どおりかを確認しましょう。
貼り付け時に書式を除外したい場合は、値だけの貼り付けを選ぶ方法もあります。
値、数式、書式、列幅は貼り付け方法によって引き継がれ方が異なります。
【操作のポイント】印刷や共有の前に、列幅、折り返し、罫線、表示形式を一通り見直します。
スピルエラーと結合セルの対処
TRANSPOSE関数やSORTBY関数で結果が表示されない場合、スピル範囲に既存データがある可能性があります。
数式を入力したセルにエラーが表示されたら、数式の右側や下側に値が入っていないかを確認します。
結合セルが含まれる範囲では、動的配列の結果を展開できないことがあります。
結合を解除し、表を通常のセル構成へ戻してから数式を入力すると改善しやすくなります。
データを表形式で整えてから入れ替えることが、エラーを減らす近道です。
【操作のポイント】エラー表示を消すためだけに数式を書き換えず、結果が広がる範囲の障害を先に取り除きます。
まとめ エクセルでデータを入れ替える方法(上下を反転・縦横)
エクセルでデータを入れ替えるときは、何を反転したいのかによって方法を選ぶことが大切です。
縦横を入れ替えるだけなら、コピー後に行列を入れ替える貼り付けを使うと素早く変換できます。
元データの修正を変換先へ反映したい場合は、TRANSPOSE関数が適しています。
上下を反転したい場合は、連番や日付を基準に降順へ並べ替える方法が基本です。
元表を残したまま逆順の一覧を作るなら、SORTBY関数とROW関数の組み合わせが便利でしょう。
左右反転では、INDEX関数とCOLUMN関数を使うと、右端の列から順に値を取り出せます。
貼り付けは確定した表を作る方法、関数は元表と連動する表を作る方法です。
操作前に元データをコピーし、見出し、数式、書式、列幅を確認すれば、安心して表を整えられます。
用途に合わせて縦横、上下、左右の反転を使い分け、見やすく活用しやすいExcel表へ仕上げましょう。