excel

【Excel】エクセルの表を縦横入れ替える方法(行列を入れ替える)

エクセルの表を縦横入れ替える方法【コピーと形式を選択して貼り付け】 - 貼り付け先セルの指定
当サイトでは記事内に広告を含みます

エクセルで作成した表を見やすく整える際に、行と列を入れ替えたい場面があります。

たとえば、横方向に月が並んだ売上表を縦方向へ変更したい場合や、縦長の名簿を横長の一覧へ変換したい場合です。

表を1セルずつコピーし直す方法では時間がかかり、数式や書式の設定を誤る可能性もあります。

エクセルには、貼り付け操作だけで行列を入れ替える機能と、元データと連動したまま変換できるTRANSPOSE関数があります。

コピーした表を別の場所へ固定して縦横入れ替えるなら、形式を選択して貼り付けの行列を入れ替える機能が便利です。

元表を更新したときも変換後の表へ反映したいなら、TRANSPOSE関数を使います。

どちらの方法でも、貼り付け先に十分な空白セルを確保することが大切です。

この記事では、エクセルの表を縦横に入れ替える基本操作、数式を使う方法、書式や注意点まで順番に解説します。

表の構成を変える作業を効率化したい方は、用途に合う方法を選んで活用しましょう。

 

エクセルの表を縦横入れ替える方法【コピーと形式を選択して貼り付け】

それではまず、コピーした表を別の場所へ縦横入れ替えて配置する基本操作について解説していきます。

  B列 C列 D列
1行 商品名 1月 2月
2行 りんご 120 150
3行 みかん 90 110

この表を縦横に入れ替えると、商品名が列見出しになり、月が行見出しになる構成です。

 

コピーする表範囲の選択

まずは、入れ替えたい元の表全体を選択します。

サンプルでは、見出しを含めてB1からD3までをドラッグして選択しましょう。

1行目にはヘッダーがある前提で選択すると、変換後も項目名を見失わずに済みます。

表の一部だけを選択すると、その部分だけが転置されるため、見出しも含めるか事前に確認することが重要です。

範囲を選んだら、Ctrlキーを押しながらCキーを押すか、右クリックからコピーを選択します。

選択範囲の周囲に動く点線が表示されれば、コピーの準備は完了です。

【操作のポイント】結合セルが含まれる表は正常に入れ替えられない場合があるため、コピー前に結合を解除しておきます。

 

貼り付け先セルの指定

続いては、変換後の表を置く左上のセルを選択します。

たとえば元表がB1からD3にある場合は、F1など表と重ならない空白セルをクリックします。

貼り付け先は表全体ではなく、左上になる1セルだけを指定すれば問題ありません。

転置後の表は元表の行数と列数が入れ替わるので、右側と下側の空白を広めに取るのが安全です。

元の表を残したい場合は、同じ範囲へ貼り付けないよう注意しましょう。

切り取りではなくコピーを使えば、比較用として元データを維持できます。

エクセルの表を縦横入れ替える方法【コピーと形式を選択して貼り付け】 - 貼り付け先セルの指定

【操作のポイント】既存データがあるセルへ貼り付けると内容が上書きされるため、空白範囲か新しいシートを使用します。

 

行列を入れ替える貼り付け操作

続いては、形式を選択して貼り付けから行列を入れ替える操作を確認していきます。

貼り付け先セルを選んだ状態で右クリックし、貼り付けのオプションにある行列を入れ替えるアイコンをクリックします。

アイコンが見つからない場合は、右クリックメニューの形式を選択して貼り付けを開き、行列を入れ替えるにチェックを入れてOKを押しましょう。

すると、元表の1行目は変換後の1列目になり、元表の1列目は変換後の1行目になります。

この操作で作成された表は、元データとは通常連動しない固定値の表です。

元表をあとから修正する可能性があるときは、後述するTRANSPOSE関数も検討してください。

【操作のポイント】ショートカットを使う場合は、コピー後にCtrlキーとAltキーとVキーを押し、行列を入れ替える項目を選択します。

 

貼り付けオプションによる書式と数式の扱い【用途別の選択】

続いては、貼り付け方法によって変わる書式、数式、値の扱いを確認していきます。

貼り付け方法 値 書式 数式
通常の転置 コピー コピー コピー
値の貼り付け コピー コピーしない 結果のみ
リンク貼り付け 参照 限定的 参照式

同じ行列の入れ替えでも、どの貼り付けオプションを使うかで完成した表の性質は変わります。

 

値だけを縦横入れ替える方法

値だけを利用したい場合は、コピー後に形式を選択して貼り付けを開きます。

貼り付けの種類で値を選び、行列を入れ替えるにもチェックを入れて実行します。

この方法では、元表に入っていた色、罫線、表示形式、数式そのものは引き継がれません。

集計済みの数値だけを別資料へ渡したいときには、値の転置が向いています。

一方で、日付がシリアル値のように表示される場合は、貼り付け後に日付形式を設定し直しましょう。

数値の桁区切りやパーセント表示も、完成表を確認して必要に応じて整えます。

貼り付けオプションによる書式と数式の扱い【用途別の選択】 - 値だけを縦横入れ替える方法

【操作のポイント】値として貼り付ければ、元表の数式を削除または変更しても、転置後の値は変化しません。

 

数式を含めて入れ替える場合

貼り付けオプションによる書式と数式の扱い【用途別の選択】 - 数式を含めて入れ替える場合

数式を含む表を通常の行列入れ替えで貼り付けると、エクセルはセル位置に応じて参照先を調整します。

たとえばC2にB2とD2を合計する数式が入っている場合、転置後には位置関係に合わせて数式も変換されます。

相対参照だけで作られた数式なら便利ですが、複雑な集計表では意図しない参照になることもあります。

数式を転置した後は、数式バーを確認し、参照範囲が正しいか必ず検証しましょう。

常に固定したい参照には、あらかじめドル記号を使った絶対参照を設定しておくと安全です。

たとえば$B$1は、コピーや転置を行ってもB1セルを固定したまま参照します。

相対参照の例として、C2に=B2*D2と入力されている数式は、貼り付け位置に応じて参照セルが移動します。

絶対参照の例として、C2に=B2*$F$1と入力すると、F1だけは移動せず固定されます。

【操作のポイント】重要な集計式を含む表では、別シートへ試しに転置して計算結果を照合してから本番表へ反映します。

 

書式を維持する貼り付けの工夫

通常の転置貼り付けでは、セルの塗りつぶし、罫線、フォント、表示形式なども基本的にコピーされます。

しかし、列幅と行の高さはそのままでは期待どおりに反映されないことがあります。

縦横を入れ替えると元の列幅は新しい行の高さに自動変換されないため、貼り付け後に幅と高さを調整する必要があります。

見出しの背景色や罫線を残したい場合は通常の転置を行い、不要な書式だけ後から整える方法が効率的です。

セル結合があるデザイン表では、転置後に結合状態が扱いにくくなるため、表形式へ戻してから操作するほうが安定します。

テーブル機能を使った一覧は、必要に応じて通常範囲へ変換してから行列を入れ替えると編集しやすくなります。

【操作のポイント】書式の見た目を整える作業は、転置後に列幅の自動調整を実行してから行うと無駄がありません。

 

TRANSPOSE関数による行列変換【元データとの連動】

続いては、元の表を更新したときに変換後の表も自動更新したい場合のTRANSPOSE関数を確認していきます。

  B列 C列 D列
1行 商品名 売上 目標
2行 りんご 120 150
3行 みかん 90 100

このB1からD3の範囲をTRANSPOSE関数で参照すると、変換先には3行3列の反転した表が自動で表示されます。

 

TRANSPOSE関数の入力方法

TRANSPOSE関数は、指定したセル範囲の行と列を入れ替えて表示する関数です。

Microsoft 365やExcel 2021以降では、変換後の表を置きたい左上セルに数式を1つ入力するだけで使えます。

たとえばF1セルへ次の数式を入力します。

=TRANSPOSE(B1:D3)

Enterキーを押すと、F1を起点として必要な範囲へ結果が自動展開されます。

TRANSPOSE関数の参照範囲には、1行目のヘッダーを含めることで、見出しも一緒に縦横変換できます。

入力後に表示された範囲はスピル範囲と呼ばれ、個別のセルだけを直接編集することはできません。

【操作のポイント】関数の結果が広がる予定範囲には、あらかじめ文字や数値を入力しないようにします。

 

スピル機能を使った操作画面

続いては、F1セルにTRANSPOSE関数を入力して結果を展開する画面イメージを確認していきます。

売上集計.xlsx – Excel− □ ×
ファイルホーム挿入数式データ
貼り付け
B
罫線
中央揃え
Σ オートSUM
F1
fx
=TRANSPOSE(B1:D3)
A B C D E F G H
1 商品名 売上 目標 商品名 りんご みかん
2 りんご 120 150 売上 120 90
3 みかん 90 100 目標 150 100
F1に数式を入力 ➤ 自動展開

赤枠で囲まれたF1からH3が、TRANSPOSE関数の結果として一体で展開される範囲です。

元のB1からD3を変更すると、この結果も再計算されて変わります。

変換表を定期的に更新したい場合は、コピー貼り付けよりも関数による連動が有効です。

【操作のポイント】スピル範囲にデータがあるとスピルエラーになるため、エラー表示が出たら展開先のセルを空白にします。

 

旧バージョンでの配列数式入力

Excel 2019以前など、動的配列に対応していない環境では操作手順が異なります。

まず、元表が3行3列なら、変換先として3行3列の範囲をあらかじめ選択します。

次に数式バーへ=TRANSPOSE(B1:D3)と入力し、EnterキーだけではなくCtrlキーとShiftキーとEnterキーを同時に押します。

この操作により、配列数式として範囲全体へTRANSPOSE関数を確定できます。

古いエクセルでは、数式を入力する前に変換後の行数と列数を逆にして範囲選択することが必要です。

配列数式の一部だけを削除または修正することはできないため、変更時には結果の範囲全体を選択します。

元表がB1からD5の3列5行なら、転置後は5列3行です。

旧バージョンでは、変換先として5列3行を選択してからTRANSPOSE関数を確定します。

【操作のポイント】社内で複数のExcelバージョンを使う場合は、動的配列に対応しているかを先に確認します。

 

数式とオートフィルを使う縦横変換【個別参照の応用】

続いては、表の一部分だけを参照したい場合や、変換方法を細かく制御したい場合の数式による方法を確認していきます。

元表の位置 変換後の位置 参照例
B2 F2 =B2
C2 F3 =C2
B3 G2 =B3

個別参照では手間が増えますが、不要な列を除外したい場合や、変換後に計算列を加えたい場合に役立ちます。

 

INDEX関数を使う基本式

INDEX関数とROW関数、COLUMN関数を組み合わせると、表の向きを数式で柔軟に入れ替えられます。

変換先のF1セルへ次の数式を入力する例を考えます。

=INDEX($B$1:$D$3,COLUMN(A1),ROW(A1))

この数式では、COLUMN(A1)が列番号として働き、ROW(A1)が行番号として働きます。

元表B1からD3に対して、縦横を反転した順番でセルを取り出す仕組みです。

INDEX関数を使う方法は、参照範囲を変えたり、変換の途中で条件を追加したりしやすい点が特徴です。

ただし、単純に表全体を反転するだけなら、TRANSPOSE関数のほうが式を短くできます。

【操作のポイント】INDEX関数の参照範囲は絶対参照にしておくと、オートフィル時に範囲がずれません。

 

先頭セルからオートフィルする手順

続いては、数式を先頭セルへ入れてからオートフィルで広げる手順を確認していきます。

まずF1セルにINDEX関数の数式を入力して、Enterキーを押します。

F1セルの右下に表示される小さな四角形であるフィルハンドルを右方向へドラッグします。

次に、右へ広げた数式範囲を選択し、フィルハンドルを下方向へドラッグします。

数式のROW関数とCOLUMN関数は、右または下へコピーされた位置に応じて参照番号を変化させます。

先頭セルだけを正しく作成できれば、その後はオートフィルによって転置表を効率よく完成させられます。

F1に=INDEX($B$1:$D$3,COLUMN(A1),ROW(A1))を入力します。

右方向に3列、下方向に3行までオートフィルすると、B1からD3の内容が反転して表示されます。

【操作のポイント】フィルハンドルを使う前に、完成予定の表サイズを確認すると余分な数式のコピーを防げます。

 

空白セルとエラーの表示調整

元表に空白セルが含まれる場合、転置後にも空白として表示されます。

一方で、参照範囲より大きく数式をコピーすると、INDEX関数では参照エラーが表示されることがあります。

このような場合はIFERROR関数を組み合わせ、エラー時に空白を返すよう設定できます。

=IFERROR(INDEX($B$1:$D$3,COLUMN(A1),ROW(A1)),””)

この式では、参照できない位置に達した場合にエラー文字ではなく空白を表示します。

帳票用の表ではエラー表示を残さず、空白に置き換えることで見栄えを整えられます。

ただし、想定外のエラーまで隠れることがあるため、作成直後には参照範囲が正しいか確認しましょう。

【操作のポイント】IFERRORは見た目を整えるために使い、元の数式が正しく動いているかは別途確認します。

 

縦横入れ替え時の注意点とトラブル対策【表崩れの防止】

続いては、行列を入れ替えるときに起こりやすいエラーや表崩れを防ぐポイントを確認していきます。

症状 主な原因 確認箇所
貼り付けできない 結合セル セルの結合
スピルエラー 展開先に値がある 出力範囲
見た目が崩れる 幅や高さの違い 行列のサイズ

操作自体は簡単でも、元表の構造によっては想定どおりに変換できないことがあります。

 

結合セルがある表への対応

セルが結合された表をコピーして転置しようとすると、貼り付けられない、またはレイアウトが崩れることがあります。

結合セルは複数セルを1つの大きなセルとして扱うため、通常の格子状の表とは構造が異なるためです。

まずホームタブの配置グループからセルを結合して中央揃えを解除し、各セルを独立した状態へ戻します。

その後で行列を入れ替え、必要であれば完成後の表であらためて配置を調整しましょう。

データ管理用の表では、セル結合を使わず、見出しの中央揃えや列幅で見た目を整えるほうが後工程に強くなります。

フィルター、並べ替え、数式のコピーも結合セルがない表のほうが安定します。

【操作のポイント】変換前にセル結合を解除したら、どの見出しがどの列に対応するかをメモしておくと復元しやすくなります。

 

スピルエラーの解決

TRANSPOSE関数を入力した際にスピルエラーが表示される場合、数式の結果を出力する範囲にデータが入っている可能性があります。

エラーが表示されたセルを選択すると、原因を示すアイコンが出るため、展開先の妨げになっているセルを確認します。

不要な値やスペースを削除するか、TRANSPOSE関数をより広い空白範囲へ移動しましょう。

また、Excelテーブルの内部ではスピル配列数式を扱いにくい場合があります。

スピルする数式は、通常のセル範囲に入力すると安定して展開できます。

変換先を別シートに用意すると、既存データとの衝突も避けやすくなります。

【操作のポイント】エラー解消のために元表を消す前に、まず変換先の空白不足を確認します。

 

行と列のサイズ調整

転置後の表では、元の列幅と行の高さがそのまま使えないため、文字が切れたり余白が大きくなったりすることがあります。

表全体を選択し、列見出しの境界線をダブルクリックすると、内容に合わせて列幅を自動調整できます。

行の高さについても、行番号の境界線をダブルクリックすれば調整可能です。

文章量が多いセルでは、折り返して全体を表示する設定を使うと横幅を抑えられます。

縦横を入れ替えた直後は、データの正しさだけでなく、印刷時の見やすさも確認することが大切です。

ページレイアウト表示で印刷範囲を確認すると、横長と縦長のどちらが適しているか判断しやすくなります。

【操作のポイント】報告書用の表では、転置後に印刷の向きを縦または横へ変更して、1ページに収まるか確認します。

 

まとめ エクセルの表を縦横入れ替える方法(行列を入れ替える)

エクセルの表を縦横に入れ替える方法は、完成後の表を固定したいか、元データと連動させたいかで選びます。

コピーしてから形式を選択して貼り付けの行列を入れ替える機能を使えば、短時間で表の向きを変えられます。

書式も含めて転置したい場合は通常の貼り付けを使い、数値だけを渡したい場合は値として貼り付けを選びましょう。

元表の修正を変換後の表にも反映させたいなら、=TRANSPOSE(B1:D3)のようにTRANSPOSE関数を入力する方法が便利です。

古いバージョンのエクセルでは、変換先の範囲を先に選択し、CtrlキーとShiftキーとEnterキーで配列数式として確定します。

固定された転置表には、コピーと形式を選択して貼り付け。

自動更新される転置表には、TRANSPOSE関数。

条件付きの変換や複雑な参照には、INDEX関数とオートフィル。

結合セル、スピル範囲のデータ、列幅や行の高さは、縦横入れ替えの前後で確認したいポイントです。

用途に合わせた方法を選び、見やすく管理しやすい表へ整えていきましょう。