
エクセルで「データの行列を入れ替える」方法をご紹介します。この記事では、基本の「行列を入れ替えて貼り付けする」方法から、元データと連動させられる「TRANSPOSE関数」、柔軟に対応できる「OFFSET関数」まで詳しく解説しているので、ぜひ参考にしてみてください。
「形式を選択して貼り付け」で入れ替える

【手順】
- 元データを範囲選択して
Ctrl+Cでコピーします。 - 貼り付けたいセルで右クリックメニューを開き、「形式を選択して貼り付け」を選択します。
- 右下の「行/列の入れ替え」にチェックを入れて「OK」を押します。
💡 ポイント: 形式を選択して貼り付けの「値」にもチェックを入れると、罫線などの書式を無視してデータだけ貼り付けできます。
「TRANSPOSE関数」で入れ替える

【手順】
- 入れ替え先となる範囲(入れ替え元の範囲と同じ数のセル)をあらかじめ選択します。
- 範囲を選択した状態で、
=TRANSPOSE(元の範囲)を入力します。 Ctrl+Shift+Enterを押して確定します。※最新のExcel(Microsoft 365など)なら、EnterだけでOKです。
💡 ポイント:
- 元データを更新すると、入れ替え先も自動で更新されます。
- 消すときは、範囲全体を選択して
Deleteを押します。 - 別シートの場合、
=TRANSPOSE(Sheet2!A1:D1)のように記述します。
「OFFSET関数」で入れ替える

【手順】
- 入れ替え先に、以下のような数式を入力します。
- 例:
=OFFSET($A$1, 0, ROW(A1))- セル参照には元範囲の「1つ左」のセルを絶対参照で指定します。(例:
$A$1)
- セル参照には元範囲の「1つ左」のセルを絶対参照で指定します。(例:
- 数式をオートフィルでコピーします。
💡 ポイント:
- 特定のセルだけ削除したり、増えたデータを簡単に拾えます。
- A1セルから始まるデータの場合、数式の最後を
-1にして調整します。- 例:
=OFFSET($A$1, 0, ROW(A1)-1)
- 例:
【数式の解説】
$A$1(セル参照):数え始める開始位置です。0(オフセット行):「下に何マス動くか」です。これを0に固定することで、ずっと1行目のデータを横に探しに行きます。ROW(A1)(オフセット列):「右に何マス動くか」です。下にコピーするとROW(A2)に変わり、参照先が右へ1つズレます。
OFFSET関数の引数:(セル参照, オフセット行, オフセット列, [高さ], [幅])
【縦並びを「横」に並べ替えたい時】
- 入れ替え先に、以下のような数式を入力します。
- 例:
=OFFSET($A$1, COLUMN(A1), 0)- セル参照には元範囲の「1つ上」のセルを絶対参照で指定します。(例:
$A$1)
- セル参照には元範囲の「1つ上」のセルを絶対参照で指定します。(例:
行列の入れ替えができない時の対応方法
「形式を選択して貼り付け」の場合

- 「この選択は適切ではありません」と表示される
- 原因:コピーした元の範囲と、貼り付けようとしている場所が重なっているのが原因です。
- 解決方法:元の範囲と重ならない「空白のセル」を貼り付け先に選びます。
- 「この操作は結合したセルには行えません」が表示される
- 原因:貼り付け先の範囲に、結合されたセルが含まれています。
- 解決方法:「ホーム」→「セルを結合して中央揃え」をクリックして結合を解除します。
「TRANSPOSE関数」の場合

- 結果が1つしか表示されない
- 原因:数式を入力する前に、あらかじめ「展開先の範囲」を選択していないのが原因です。
- 解決方法:元の範囲と同じ数のセル範囲をマウスで選択した状態で、数式を入力します。
- 「#VALUE!」エラーになる
- 原因:配列(複数のデータ)を扱うことを明示していないのが原因です。
- 解決方法:Enterではなく、
Ctrl+Shift+Enetrで確定します。
- 数式がそのまま表示される
- 原因:表示形式が「文字列」に設定されているのが原因です。
- 解決方法:表示形式を「標準」にしてから数式を入れ直します。
まとめ
| 入れ替え方法 | 特徴 |
| 形式を選択して貼り付け | ・操作が簡単。 ・書式(色や罫線)も一緒にコピーできる。 ・元データを更新しても、貼り付け先は変わらない。 |
| TRANSPOSE関数 | ・数式がシンプル。 ・元データを更新しても、貼り付け先も更新される。 ・特定のセルだけ削除することができない。 |
| OFFSET関数 | ・数式の理解が複雑。 ・特定のセルだけ削除することができる。 ・データが増えたときにオートフィルで簡単に対応できる。 |