Excel Magicエクセル術
作業効率化

エクセルの列を移動・入れ替える方法|上書きを防ぐ手順

列全体を選び、切り取りと挿入で順番を変更します。Shiftドラッグ、複数列の移動、離れた列の入れ替えを練習データで解説します。

まず、答えから。

既存の列の間へ移すときは、列を切り取り、移動先の列見出しで[切り取ったセルの挿入]を使います。通常の貼り付けで置き換える操作とは異なるため、挿入先を確認して進めましょう。

主な手順はWindows版デスクトップExcelを想定。Macでは切り取りに⌘+Xを使います。Web版や組織の設定によって利用できる操作は異なります。

練習する表と、完成後の並びを確認する

まずはダウンロードしたCSVを新しいブックで開きます。A列から順にID・Name(氏名)・Region(地域)・Amount(金額)・Status(状態)が並んでいます。サンプルは架空のデータです。

IDNameRegionAmountStatus
101AkiEast1200Open
102RenWest900Done
103MioNorth1500Open

最初の目標は、D列のAmountをNameの前へ移すことです。見出しだけでなく、その下のデータも列ごと移動します。実際の業務ファイルでは、作業前にコピーを保存しておくと元の状態を確認できます。

変更前
IDNameRegionAmountStatus
101AkiEast1200Open
102RenWest900Done
103MioNorth1500Open
変更後
IDAmountNameRegionStatus
1011200AkiEastOpen
102900RenWestDone
1031500MioNorthOpen
Amount列をName列の前へ移した例です。IDごとの値の対応は変わりません。操作を説明する模式図です。Excelの実画面ではありません。

切り取りと挿入で列を移動する

  1. ワークシート上部の列見出し[D]をクリックし、Amount列全体を選択します。セルD1だけを選ぶ操作とは異なります。
  2. Ctrl+Xで切り取ります。選択範囲に移動用の枠が付いたことを確認します。
  3. 移動先の列見出し[B]を右クリックし、[切り取ったセルの挿入]を選びます。画面によっては[切り取ったセルを挿入]と表示されます。
  4. 見出しがID → Amount → Name → Region → Statusの順になったことを確認します。Amount列の数値は1200・900・1500のままです。

挿入先には「その列の左側へ入れる」という意味があります。この例ではB列の左へ入れ、元のName列とRegion列を右へずらします。列記号は移動後の位置に合わせて変わるため、見出し名も確認してください。

Shiftキーを押しながらドラッグする方法

Windows版デスクトップExcelでは、列の境界をドラッグして移す方法もあります。先ほどの表を元に戻してから試してください。

  1. 列見出し[D]でAmount列全体を選びます。
  2. 選択範囲の左右の境界にポインターを合わせます。列見出し同士の境目ではなく、選択範囲の枠を使います。
  3. Shiftキーを押したまま、A列とB列の間へドラッグします。挿入位置を示す線が目的の場所に出たことを確認します。
  4. Shiftキーを押したままマウスのボタンを離し、その後でShiftキーを離します。

挿入線が出ない、列幅を変更してしまう、またはセルを選び直してしまう場合は、切り取りと挿入の方法へ戻ると操作位置を確認しやすくなります。

複数列をまとめて移動する

NameとRegionをまとめて移す場合は、隣り合うB列とC列の見出しを選択してから切り取ります。移動先の列見出しで[切り取ったセルの挿入]を選ぶと、2列の順番を保ったまま移動できます。

元の表でB:Cを選択し、A列の前へ挿入すると、Name → Region → ID → Amount → Statusになります。離れた複数列は一度に処理しようとせず、1列ずつ見出しを確認しながら移してください。

離れた2列を入れ替え、間の列を残す

NameとAmountの位置を交換して、Regionを間に残したい場合は2回に分けて移動します。元の並びから始めてください。

  1. Amount列を切り取り、Name列の前へ挿入します。この時点ではID → Amount → Name → Region → Statusです。
  2. 現在のName列を切り取り、Status列の前へ挿入します。
  3. 最終的な並びがID → Amount → Region → Name → Statusになったことを確認します。

最初の移動で列記号が変わるため、2回目は元の「B列」という記憶に頼らず、Nameという見出しを探します。

列を移動できないときに確認すること

症状確認すること
メニューの項目が選べないセルの編集を終了し、シートが保護されていないか確認します。組織のファイルでは、必要に応じて管理者へ確認します。
結合セルに関するメッセージが出る移動元と移動先に結合セルがないか確認します。元データの内容を確認せずに結合を解除しないでください。
列幅が変わるだけ列の幅を調整する境目をつかんでいる可能性があります。列全体を選び直し、切り取りと挿入で試します。
フィルターやテーブルがある表示されていない行や表外のセルも関係します。練習用のコピーで範囲を確認し、複雑な表は1列ずつ操作します。

移動後はIDと金額の組み合わせ、数式、グラフの参照範囲も確認します。文字列で書かれた参照先や外部の連携処理まで、自動で追従するとは限りません。

よくある質問

列の移動と「行列の入れ替え」は同じですか?

列の移動は左右の順番を変える操作です。横方向の見出しを縦へ並べ直したい場合は、行と列の入れ替え(転置)のガイドをご覧ください。

移動後、値が正しいかどうかを確認するには?

練習表ではIDが101・102・103の3件のままで、金額の合計が3600になっていることを確認します。さらに各IDとName・Amountの対応が変わっていないか、元の表と見比べてください。

VBAを書いたほうがよいですか?

単発の列移動なら標準操作で十分です。同じレイアウト変更を何度も繰り返す場合は、対象ブックや見出しを明確にしたうえで自動化を検討します。

サンプルをダウンロード

CSVこの記事のサンプル素材無料ダウンロード · .csv

UTF-8のCSVデータです。Excelの[データ]→[テキストまたはCSVから]で取り込めます。ID列の先頭の0を残す場合は、その列のデータ型をテキストに指定してください。

画面や機能はExcelのバージョンや利用環境によって異なります。例を手元のブックのコピーで確認してから、実際のデータへ適用してください。