エクセルの列移動・行移動テクニック|コピペから関数・VBAまで完全網羅

  1. 1.はじめに
    1. この記事でわかること
  2. 2.列移動・行移動はどんなときに必要?
    1. 実務でありがちなシーン
      1. 表の並び順を変えたいとき(顧客一覧・売上データなど)
      2. 月ごとのデータを移動・入れ替えたいとき
      3. 表を見やすくするための再配置
    2. 一言アドバイス
  3. 3.基本のやり方5選
    1. ① コピペで行・列を移動する方法
      1. 操作手順
      2. ポイント
    2. ② ショートカットキーを使ってサクッと移動
      1. 操作手順(列移動の場合)
      2. ポイント
    3. ③ ドラッグ&ドロップで直感操作
      1. 基本のドラッグ操作(行・列)
      2. Shift + ドラッグによる移動(おすすめ!)
        1. 例:B列をE列の前に移動する場合
      3. Ctrl + ドラッグとの違いは?
      4. 注意点
    4. ④ リボン機能を使って移動
      1. 操作手順
      2. メリット
    5. ⑤ 行・列全体の選択→移動
      1. 操作方法
      2. ポイント
    6. まずは自分に合った方法を見つけよう!
  4. 4.ROW関数・COLUMN関数の活用法【関数派向け】
    1. 関数で位置を把握しよう
      1. ROW関数で行番号を取得する
      2. 応用例:他のセルの行を取得したいとき
      3. COLUMN関数で列番号を取得する
    2. INDEXやOFFSETと組み合わせた移動応用
      1. 例1:「現在のセルから3行下の値」を取得
      2. 例2:「現在のセルの右に2列、下に1行のセル」を取得
      3. 例3:列番号を使って列を動的に指定する
    3. ROW/COLUMNが活きるシーン
    4. 補足:MATCH関数と組み合わせるとさらに便利
  5. 5.VBAで行・列を一括移動【上級者向け】
    1. VBAを使うメリットとは?
      1. 作業をワンクリックで自動化できる
      2. 条件付き移動が可能
      3. 人的ミスをゼロに
    2. 行を別の場所に移動するVBAコード例
      1. 解説
    3. 列を別の場所に移動するVBAコード例
      1. 解説
    4. 条件付きで行を移動する例(特定値を持つ行)
      1. ポイント
    5. ボタン1つで動く簡単マクロの作り方
    6. 補足:安全な実行のために
  6. 6.よくある失敗とその対策集
    1. 列が上書きされてしまった!
      1. ありがちな原因
      2. 対策
    2. 行がずれてデータが崩れた!
      1. ありがちな原因
      2. 対策
    3. 移動したつもりがコピーされていた?
      1. ありがちな原因
      2. 対策
    4. セル結合が邪魔してエラーになった!
      1. ありがちな原因
      2. 対策
    5. その他、ありがちな落とし穴
  7. 7.目的別おすすめ手法まとめ
    1. データ量が多い場合
      1. おすすめ手法
      2. 解説
    2. データに規則性がある場合(例:3列ごとに同じパターン)
      1. おすすめ手法
      2. 解説
    3. 毎回使う作業の場合(定型業務・ルーチン)
      1. おすすめ手法
      2. 解説
    4. ミスを極力防ぎたい場合
      1. おすすめ手法
      2. 解説
    5. スピード優先でサクッとやりたいとき
      1. おすすめ手法
      2. 解説
    6. 目的で選ぶ「最適解」早見表
  8. 8.まとめ
    1. 本記事で学んだことの振り返り
    2. Excelは“動かしてなんぼ”!
    3. あなたに合うやり方が“正解”

1.はじめに

エクセルで表を作っていると、こんなことってありませんか?

「あ、この列、やっぱり前に持ってきたい」
「データの順番を変えたいけど、どうやるのが正解?」
「行を移動したら、セルの内容がグチャグチャに…!」

そう、列や行の移動って、思ったより奥が深いんです。
しかも、やり方によっては大切なデータを上書きしてしまったり、順番が崩れてしまったり…。ちょっとした操作ミスで「エクセル崩壊」なんてことも。

ですが、ご安心を。
この記事では、エクセルで列や行を移動する方法を「基本」から「応用」、さらに関数やVBAを使った自動化テクニックまで、しっかり網羅してご紹介します。

「とりあえず移動できればOK」な方から
「どうせなら効率的に移動したい!」という効率化マニアな方まで、
きっと満足していただける内容になっています。

この記事でわかること

  • エクセルで列や行を移動する5つの基本的な方法
  • 関数(ROW/COLUMN)を活用した位置取得・移動のテクニック
  • VBAを使った自動化による効率アップ
  • よくある失敗例と対処法
  • 目的別におすすめの移動方法まとめ

「Excelをもっと使いこなしたい!」
そんなあなたのために、これから順番に解説していきます!

それでは、さっそく見ていきましょう。

2.列移動・行移動はどんなときに必要?

「そもそも、列や行を移動する必要ってあるの?」
そう思われる方もいるかもしれませんが、実際の業務ではかなりの頻度で使われる操作なんです。

ここでは、よくある業務シーンを3つ取り上げて、なぜ列や行の移動が重要なのかを見ていきましょう。

実務でありがちなシーン

表の並び順を変えたいとき(顧客一覧・売上データなど)

たとえば、顧客リストがあったとします。

No 名前 電話番号 住所 メールアドレス
1 鈴木 090-xxxx 東京 suzuki@〜

でも、「営業担当の目に入りやすいように、“電話番号”を最初に持ってきたい」と思ったとき…
列移動の出番です!

データを削除せずに、順番だけを変える。これがうまくできれば、表の見やすさや使いやすさが格段にアップします。

月ごとのデータを移動・入れ替えたいとき

売上管理や予算表では、「1月〜12月」までの月別データを扱うことが多いですよね。

A列:1月
B列:2月
C列:3月
...

でも、「四半期ごとの集計がしたいから、1月・4月・7月・10月を左にまとめたい!」
そんな時にも、列移動でサクッと並び替えられれば効率的です。

表を見やすくするための再配置

データ分析や報告書の作成では、表の配置によって印象が大きく変わります。

  • 一番重要な列を左に寄せる
  • 確認頻度が低い情報は右端や下にまとめる
  • グループごとに行を再配置する

こうした微調整にも、行列移動は欠かせません。
特に「報告書を上司に提出する前の最終チェック」では、表の構造を整えることが品質向上につながります。

一言アドバイス

表の順番で“伝わり方”が変わります。
移動は「並び替え」ではなく「印象操作」でもあるのです。

3.基本のやり方5選

「列や行を移動したいけど、どの方法が正解かわからない…」
そんな方のために、まずは誰でもできる5つの基本的な移動方法をご紹介します。

シンプルなコピペからショートカットキー、直感的なドラッグ操作まで、それぞれの手順とポイントをわかりやすく解説していきます。

① コピペで行・列を移動する方法

最もシンプルな方法がこれ。コピー&貼り付け+元の削除です。

操作手順

  1. 移動したい行または列を選択
  2. Ctrl + C でコピー
  3. 移動先のセルを選んで Ctrl + V で貼り付け
  4. 元の行や列を右クリック → 「削除」

ポイント

  • 値だけコピーしたい場合は、「形式を選択して貼り付け」がおすすめ
  • 貼り付け時に元データの書式や数式が邪魔になるときは「値のみ貼り付け」が便利

② ショートカットキーを使ってサクッと移動

時短の王道といえば、ショートカットキー
特に「切り取り(Ctrl + X)」+「挿入(Ctrl + Shift + +)」の組み合わせは鉄板です。

操作手順(列移動の場合)

  1. 移動したい列全体を選択
  2. Ctrl + X(切り取り)
  3. 挿入したい位置の列を右クリック → 「挿入されたセルの左に挿入」
      または Ctrl + Shift + + で即挿入

ポイント

  • 行の移動も同様の操作でOK
  • ショートカットに慣れれば、マウスいらずで快適!

③ ドラッグ&ドロップで直感操作

意外と知られていないのが、マウスだけで行や列を移動できるテクニック。さらに、Shiftキーとの併用でよりスマートな操作も可能です。

基本のドラッグ操作(行・列)

  1. 列記号(例:B列)または行番号をクリックして選択
  2. 境界線の上でカーソルが「4方向矢印」になったらクリック&ドラッグ
  3. 移動先までドラッグしてドロップ

Shift + ドラッグによる移動(おすすめ!)

Shiftキーを押しながらドラッグすると、「挿入」しながら移動できます。
つまり、元の列や行は削除され、移動先に差し込まれる形になるため、データのずれや上書きの心配が激減!

例:B列をE列の前に移動する場合
  1. B列の見出しをクリック
  2. Shiftを押しながらドラッグして、E列の手前でドロップ
    → B列がそのままE列の手前に移動され、元の位置は空白にならない!

Ctrl + ドラッグとの違いは?

  • Ctrl + ドラッグ → コピー
  • Shift + ドラッグ → 移動(挿入)

注意点

  • セル結合やフィルターがかかっていると正常に動作しないことも
  • 移動先にデータがあると、上書きの危険があるため事前に空白を確認!

④ リボン機能を使って移動

マウス操作派におすすめなのが、リボン(メニュー)からの操作

操作手順

  1. 移動したい行または列を選択
  2. 「ホーム」タブ → 「挿入」または「削除」グループを選ぶ
  3. 必要に応じて「切り取り」「貼り付け」もリボンから実行

メリット

  • 一目で操作がわかるので初心者にやさしい
  • 「移動とコピー」機能を使えば、別シートへの移動もスムーズ!

⑤ 行・列全体の選択→移動

「なんかうまく選択できない…」という方は、行番号や列記号をクリックして全体選択を!

操作方法

  • 行なら「1、2、3…」、列なら「A、B、C…」の見出しをクリック
  • そこから「切り取り」「コピー」「削除」「ドラッグ」などが可能

ポイント

  • 列全体を移動するときは、必ず列記号を使って選択すること!
  • セル単体を選んで移動しようとすると、構造が崩れる原因に…

まずは自分に合った方法を見つけよう!

方法 おすすめ度 特徴
コピペ ★★★☆☆ 誰でも使えるが手間はやや多め
ショートカット ★★★★☆ 慣れれば最速!
ドラッグ&ドロップ ★★★★☆ Shift併用で挿入移動がスマート!
リボン操作 ★★☆☆☆ 初心者向け、操作がやや多い
番号選択 ★★★★☆ ミスが少なく安全な操作が可能

4.ROW関数・COLUMN関数の活用法【関数派向け】

「行番号や列番号を動的に扱いたい」
「関数を使って、スマートに移動や参照をしたい」
そんな関数好き・業務効率化マニアにおすすめなのが、ROW関数とCOLUMN関数の活用です。

これらの関数をマスターすれば、「今どの行?どの列?」を自動取得して処理を変えるといった柔軟なシート作成が可能になります。

関数で位置を把握しよう

ROW関数で行番号を取得する

=ROW()
  • 今いるセルの行番号を返します
  • 例:セルB3に入力すると「3」が返る

応用例:他のセルの行を取得したいとき

=ROW(A10)

→ 結果:「10」
A10セルの行番号を返します。

COLUMN関数で列番号を取得する

=COLUMN()
  • 今いるセルの列番号を返します(A列=1、B列=2…)
  • 例:セルD5に入力すると「4」が返る
=COLUMN(G1) → 7

→ G列=7番目の列番号。

INDEXやOFFSETと組み合わせた移動応用

ROWやCOLUMN単体では「位置を知る」だけですが、これをINDEX関数やOFFSET関数と組み合わせることで、動的にセルを参照・移動できるようになります。

例1:「現在のセルから3行下の値」を取得

=OFFSET(A1, 3, 0)
  • A1から3行下(A4)を参照します
  • OFFSET(開始セル, 行方向のズレ, 列方向のズレ)

例2:「現在のセルの右に2列、下に1行のセル」を取得

=OFFSET(B2, 1, 2)

→ 結果はセル D3 を参照

例3:列番号を使って列を動的に指定する

=INDEX(A1:Z1, COLUMN(D1))
  • D1が4列目なので、A1:Z1の中から4番目(D1)を参照します
  • 列番号を変えることで、INDEXで取得する列を動的にコントロール可能!

ROW/COLUMNが活きるシーン

  • 大量データを扱うテンプレートで、どの行に何を表示するか自動化
  • 列の位置が変わっても参照先が崩れないように関数で制御
  • VBAでセルを操作する際、ROW/COLUMNで範囲を取得して使う

補足:MATCH関数と組み合わせるとさらに便利

=COLUMN(INDIRECT("B1"))

といったように、文字列から列番号を取得したり、
MATCH("商品A", A1:A100, 0) のように、見つかった位置を COLUMN に渡すことで、
「値がある場所の列番号」→「INDEXでその列を参照」といった芸当も可能に。

関数派の方はぜひこの章をマスターして、
「動かす」というより「関数で操る」Excelを体感してみてください!

5.VBAで行・列を一括移動【上級者向け】

「毎回、同じような行や列の移動をしてる気がする…」
「もっと一瞬で処理できないの?」
そんな声に応えてくれるのが、Excel VBA(マクロ)です。

ここでは、VBAで行や列を自動的に移動する方法を、初心者でも試せるコード付きでご紹介します。

VBAを使うメリットとは?

作業をワンクリックで自動化できる

繰り返し操作が多い行・列の移動を、一度のマクロ実行で完了!

条件付き移動が可能

「〇〇という値がある行だけを移動」など、柔軟な処理ができるのがVBAの強み。

人的ミスをゼロに

複雑な移動処理でも、ミスなく正確に実行可能。

行を別の場所に移動するVBAコード例

Sub MoveRow()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Rows(5).Cut
ws.Rows(10).Insert Shift:=xlDown
End Sub

解説

  • Rows(5):5行目を対象
  • .Cut:切り取り
  • .Insert:10行目の位置に挿入(それ以降の行が下にズレる)

列を別の場所に移動するVBAコード例

Sub MoveColumn()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.Columns("C").Cut
ws.Columns("A").Insert Shift:=xlToRight
End Sub

解説

  • Columns("C"):C列を切り取り
  • Insert Shift:=xlToRight:A列の左にC列を挿入し、元のA列以降が右へずれる

条件付きで行を移動する例(特定値を持つ行)

Sub MoveRowIfValueFound()
Dim ws As Worksheet
Dim i As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
For i = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row To 1 Step -1
If ws.Cells(i, 1).Value = "移動対象" Then
ws.Rows(i).Cut
ws.Rows(2).Insert Shift:=xlDown
End If
Next i
End Sub

ポイント

  • A列に「移動対象」という文字がある行だけを2行目に移動
  • 逆ループ(下から上へ)で行をスキップせずに処理

ボタン1つで動く簡単マクロの作り方

  1. 「開発」タブを表示(表示されていない場合は「オプション」→「リボンのユーザー設定」)
  2. 「挿入」→「フォームコントロール」→「ボタン」を選択
  3. シート上に配置し、作成したマクロを割り当てるだけ!

補足:安全な実行のために

  • .Cut の代わりに .Copy を使えば、元のデータを残すことも可能
  • .Application.ScreenUpdating = False を使えば高速化
  • 実行前にバックアップ or シートの保護解除を忘れずに!

VBAは一見ハードルが高く見えますが、1回覚えると一生使える武器になります。
行・列の移動がルーチン化している方には、間違いなくおすすめです!

6.よくある失敗とその対策集

「列や行を移動したら、表が崩れた…」
「コピーしたと思ったら、上書きされてた…」

誰もが一度は経験したことがある、行列移動の“あるある失敗”
ここでは、そんなミスの原因と対策をしっかりおさえておきましょう。

列が上書きされてしまった!

ありがちな原因

  • 移動先にすでにデータがあるのに、そのまま「貼り付け」や「ドラッグドロップ」をしてしまった
  • Ctrl + X → Ctrl + V で上書きして、気づいたときには元に戻せない

対策

  • 移動先が空白かどうかを事前に確認
  • 万が一に備えて、「元に戻す(Ctrl + Z)」ですぐにリカバリできるようにする
  • 操作前にファイルを一度保存(Ctrl + S)しておくと安心

行がずれてデータが崩れた!

ありがちな原因

  • 挿入と削除をうまく使わずに「貼り付け」で無理やり移動
  • データの結合セルが影響して、行の高さや並びが狂った

対策

  • 「切り取り+挿入(Shift + Ctrl + +)」を正しく使う
  • セル結合はなるべく避ける or 解除してから作業する
  • 一時的にフィルターを解除して、全体を見ながら操作する

移動したつもりがコピーされていた?

ありがちな原因

  • ドラッグ操作のときに Ctrl キーを押していた
  • 「コピー」→「貼り付け」だけで、元データを削除するのを忘れていた

対策

  • ドラッグ時はShift:移動/Ctrl:コピーを覚える!
  • コピー後は「元のデータを削除する」操作を忘れずに
  • 迷ったときは、「切り取り(Ctrl + X)」が安全

セル結合が邪魔してエラーになった!

ありがちな原因

  • 移動元または移動先のセルに「結合されたセル」が含まれている
  • 結合セルが移動によって範囲外にはみ出す

対策

  • 移動前に「結合されているか」をチェック
  • 結合を解除したうえで移動し、必要に応じて再結合
  • VBAや関数を使う場合は、結合セルがエラーの原因になることが多いので特に注意!

その他、ありがちな落とし穴

ミスの内容 ありがちな状況 対策のポイント
行や列を1つずれて移動 ドラッグで手が滑った 行番号・列記号での選択を徹底する
フィルター中に移動したら崩れた 可視セルだけを操作したつもりが… フィルター解除 → 全セル表示で操作
関連する数式が崩れた 列移動によりセル参照がズレた 絶対参照($A$1)やINDIRECT関数を活用
他シートに移動したら書式が消えた 「値のみ貼り付け」で書式が飛んだ 「形式を選択して貼り付け」で書式付きで貼る

移動操作はシンプルに見えて、細かい落とし穴がたくさんあります。
でも、こうした注意点を押さえておけば、もう失敗とはサヨナラです!

7.目的別おすすめ手法まとめ

ここまでで、エクセルの列移動・行移動に関するさまざまな方法をご紹介してきました。

でも実際の現場では、「どうやるか」よりも「どの方法を選べば一番効率的か?」が重要です。
この章では、状況別・目的別に最適な移動手段をまとめました。

「とにかく早く済ませたい」「毎回同じことをしてる」「構造が崩れない方法が知りたい」──
そんなニーズにピッタリなテクニックを提案します。

データ量が多い場合

おすすめ手法

  • ショートカット(Ctrl + X → 挿入)
  • Shift + ドラッグ
  • VBAで一括移動

解説

大量データを扱う場合、マウス操作は非効率になりがちです。
ショートカットやVBAを使えば、手を止めずに移動が完了!
VBAならボタン1つで1000行単位でも一瞬で処理できます。

データに規則性がある場合(例:3列ごとに同じパターン)

おすすめ手法

  • ROW関数 / COLUMN関数
  • OFFSET関数との組み合わせ
  • INDEX + MATCH構成

解説

表の構造に規則があるなら、関数で動的に位置を算出して参照するのが最もスマート。
特に、マスタ表を自動生成したり、テンプレート的に使いたいときに効果を発揮します。

毎回使う作業の場合(定型業務・ルーチン)

おすすめ手法

  • VBAマクロの登録
  • ボタンにVBAを割り当てる
  • リボンやクイックアクセスツールバーへの登録

解説

「毎月このデータをこっちに移す」「必ずA列を一番左に持ってくる」など、定型処理にはVBAが最強。
操作手順を記録して、ワンクリックで自動実行すれば、もう面倒な作業とはおさらばです。

ミスを極力防ぎたい場合

おすすめ手法

  • リボン操作
  • 番号(行番号・列記号)選択による確実な範囲指定
  • 操作前に「元に戻せるように」保存 or バックアップ

解説

誤操作のリスクがあるときは、可視的でわかりやすい方法が安全。
ショートカットやドラッグ操作よりも、1ステップずつ丁寧に操作できる方法を選ぶのが◎。

スピード優先でサクッとやりたいとき

おすすめ手法

  • Shift + ドラッグ
  • ショートカット
  • コピー&削除(最速原始法)

解説

とにかく一瞬で移動したいときは、Shift + ドラッグが鉄板!
慣れると「考える前に手が動いてる」状態になります。
ただし、移動先の状態はしっかりチェックしてから実行しましょう。

目的で選ぶ「最適解」早見表

目的 最適な手法 備考
データ量が多い VBA / ショートカット 手作業はNG!ツールで一気に処理
パターンがある 関数(ROW/COLUMN/INDEX) 再利用性&自動化が強い
毎回のルーチン処理 VBA + ボタン登録 業務効率化の定番
安全性を重視 リボン操作 / 番号選択 操作ミスを極力避けたいときにおすすめ
スピード重視 Shift + ドラッグ / Ctrl + X とにかく早く終わらせたいならこれ

どの方法にもメリット・デメリットがあります。
大切なのは、「目的に合ったやり方を選ぶこと」
これを意識するだけで、日々の作業効率がグッと変わります!

8.まとめ

エクセルでの行や列の移動――
シンプルに見えて奥が深く、方法もいくつかあれば、それぞれに適した使いどころがあります。

本記事で学んだことの振り返り

項目 ポイント
行・列移動の必要性 実務で頻出!見やすさ・操作性・伝達力を左右する
基本のやり方5選 コピペ、ショートカット、ドラッグ、リボン操作など
Shift + ドラッグ 最強の直感操作。上書きの心配も激減
関数(ROW/COLUMN) 柔軟なセル参照とテンプレート化に最適
VBA活用 定型業務を一瞬で。条件付き移動も可能
よくあるミスとその回避法 上書き・ズレ・結合セルトラブルを防ぐ
目的別おすすめ手法 自分のスタイル・作業内容に合わせて選べる

Excelは“動かしてなんぼ”!

「ただ入力するだけ」だったExcelも、
列や行を自由自在に動かせるようになると、一気に“使いこなしてる感”が出てきます。

特に今回の内容は、作業効率を大きく左右する超実用スキル
日々の業務で「これは毎回使えるな」と思うテクを、どんどん取り入れていってください。

あなたに合うやり方が“正解”

  • ショートカットが好きな人も
  • マウスでじっくり作業する人も
  • 関数でスマートに処理したい人も
  • 自動化に夢中な人も

みんな違って、みんな正解です。

あなたのスタイルに合った“Excel流派”を見つけて、
今日からもっと快適で、もっとミスの少ない作業環境を目指しましょう!

コメント

タイトルとURLをコピーしました