【Excel】オートフィルター後のコピーと貼り付け方法|可視セルだけを別列へ一括コピーする安全手順

当ページのリンクには広告が含まれています。
フィルター後の複数データをコピーする手順

Excelでオートフィルターをかけた表をコピーして貼り付けると、「見えている行だけに入れたつもりなのに、非表示の行にも入っていた」「フィルターを解除したら行がずれていた」という失敗が起こることがあります。

フィルター中の表は、画面上では行が続いて見えていても、実際には途中に非表示の行を含んでいます。そのため、通常の連続したセルと同じ感覚でコピーや貼り付けをすると、意図しない行を書き換えることがあります。

特につまずきやすいのが、フィルターで表示された複数行のデータを、同じ表の別列へ行ごとにコピーする作業です。

この作業では、コピー方法だけでなく、コピー元とコピー先をどのように範囲指定するかが重要です。

画面内に収まる範囲ならマウス、離れた列ならCtrlキー、大量データなら名前ボックスやF5・Ctrl+Gを使うことで、作業時間を大幅に短縮できます。

チエバコ

フィルター後のコピーは、操作方法よりも範囲の選び方でつまずきやすい作業です。自分の表に合った範囲指定を選ぶと、作業が一気に進めやすくなります。

この記事で分かること
  • オートフィルター後のコピーで失敗しやすい理由
  • 可視セルだけを別列へコピーする基本手順
  • 隣り合った列をまとめて範囲指定する方法
  • 離れた列をCtrlキーで追加選択する方法
  • 大量データを名前ボックスやF5・Ctrl+Gで指定する方法
  • フィルターをかける前と後のどちらで範囲指定できるか
  • Ctrl+Rと数式・Ctrl+Enterの使い分け
  • 数式を固定値へ変換する方法
目次

先に確認|作業条件に合う方法を選ぶ

フィルター後のコピーでは、すべての作業を同じ方法で進める必要はありません。

コピー元とコピー先の位置や、対象となる行数に合わせて範囲指定を使い分けます。

作業条件使いやすい方法向いている場面
コピー元とコピー先が隣り合っている2列をまとめてマウスで選択画面内に収まる少量データ
コピー元とコピー先が離れているCtrlキーを押しながら追加選択画面内に収まる少量データ
数百行・数千行ある名前ボックスまたはF5・Ctrl+Gマウスで最終行まで選択しにくい表
コピー元との連動を残したい数式+Ctrl+Enter元データの変更をコピー先にも反映したい場合
コピー元を後で削除したいCtrl+Rまたは数式を値へ変換コピー時点の値を固定して残す場合
基本となる操作

どの範囲指定を使う場合でも、フィルター後に表示されている行だけを対象にする基本操作は同じです。

  • コピー元とコピー先の範囲を選択する
  • Alt+;で可視セルだけを選択する
  • Ctrl+Rで左側の内容を右側へコピーする

可視セルを選択するショートカットは、Alt+; (セミコロン)です。

この記事では、提出書類の「ファイル形式」でPDFを抽出し、表示された行の「提出日」を「チェック日」へコピーする10行のサンプル表で紹介します。

フィルター後のセルのコピーに使う10行のサンプル表
フィルター後のセルのコピーに使う10行のサンプル表

オートフィルター後のコピーで失敗しやすい理由

通常の表であれば、連続したセルを選択してCtrl+Cでコピーし、コピー先でCtrl+Vを押せば貼り付けられます。

しかし、オートフィルターで抽出した表には、画面に表示されていない行が残っています。

たとえば、フィルター後にE3、E6、E8だけが表示されていても、ワークシート上にはE4、E5、E7などの非表示行が存在します。

表示されているセルを通常の連続範囲と同じ感覚でコピーすると、フィルター中は問題なく見えても、解除後に非表示だった行へデータが入っていることがあります。

フィルター後の不連続セルを通常の方法で貼り付ける例
フィルター後の不連続セルを通常の方法で貼り付ける例

フィルター中の画面では、先頭のセルだけに貼り付いたように見えることもあります。

フィルター中の通常貼り付け結果
フィルター中の通常貼り付け結果

しかし、フィルターを解除すると、表示対象ではなかった行にもデータが入っている場合があります。

フィルター解除後に非表示行へも貼り付いている状態
フィルター解除後に非表示行へも貼り付いている状態
チエバコ

フィルター後の表では、画面に見えているセルをExcelの「可視セル」として選択してから処理します。

Ctrl+Rで別列へコピーできる条件

Ctrl+Rは、選択範囲の左側にあるセルの内容を、同じ行の右側へコピーする操作です。

通常の貼り付けで使うCtrl+Vとは動作が異なり、事前にCtrl+Cでコピーしておく必要はありません。

Ctrl+Rを使う条件
  • コピー元がコピー先より左側にある
  • コピー元とコピー先の開始行と終了行がそろっている
  • コピー元とコピー先の行数が同じである
  • フィルター後はAlt+;で可視セルだけを選択する

コピー元がE列、コピー先がG列のように離れていても、コピー元が左側にあり、同じ行範囲を選択できていればCtrl+Rを使用できます。

Ctrl+Rを使うために、必ずしもコピー元とコピー先を隣り合わせにする必要はありません。

方法1:可視セルとCtrl+Rで別列へコピーする

ここからは、コピー元とコピー先の位置やデータ量に合わせた3つの範囲指定方法を紹介します。

パターン1:隣り合った列をまとめて選択する

コピー元とコピー先が隣り合い、対象行も画面内に収まる場合は、2列をまとめてマウスで選択する方法が最も手軽です。

たとえば、F列がコピー元、G列がコピー先で、対象範囲が3行目から11行目までの場合は、F3:G11をまとめて選択します。

STEP
コピー元とコピー先をまとめて選択する

マウスを使って、コピー元とコピー先を含む2列の範囲をまとめて選択します。

コピー元が左側、コピー先が右側になるように選択してください。

※フィルターをかけた後で、範囲指定してもかまいません。

隣り合った列の範囲指定
隣り合った列の範囲指定
STEP
Alt+;で可視セルだけを選択する

コピーしたい行が表示されるように、目的の条件でフィルターをかけます。その後、Alt+;を押して可視セルだけを選択します。

フィルターをかけ可視化
フィルターをかけ可視セル
STEP
Ctrl+Rで右側へコピーする

Ctrl+Rを押すと、各表示行の左側にある値が右側へコピーされます。

可視セルを右隣りに貼り付け
可視セルを右隣りに貼り付け

画面内に収まる少量のデータであれば、この方法が最も直感的です。

パターン2:離れた列はCtrlキーを押しながら選択する

コピー元とコピー先が数列離れていても、対象範囲が画面内に収まる場合は、Ctrlキーを使った追加選択が便利です。

今回のサンプルでは、E列の「提出日」を、離れたG列の「チェック日」へコピーします。

STEP
コピー元の範囲を選択する

最初に、E列のコピー元になる範囲を選択します。

フィルター後のコピー元の範囲を選択する
コピー元の範囲を選択する
STEP
Ctrlキーを押しながらコピー先を追加選択する

Ctrlキーを押したまま、G列のコピー先になる同じ行範囲を追加選択します。

コピー元とコピー先の開始行、終了行、行数をそろえてください。

Ctrlキーを押しながら離れたコピー先を追加選択する
Ctrlキーを押しながら離れたコピー先を追加選択する
STEP
Alt+;を押して可視セルだけを選択する

コピー元とコピー先を選択した状態で、Alt+;を押します。

STEP
Ctrl+Rで右側へコピーする

Ctrl+Rを押すと、E列の値が同じ表示行のG列へコピーされます。

Ctrl+Rで離れた右側の列へコピーする
Ctrl+Rで表示されている行だけを右側へコピーする

この方法は、コピー元とコピー先が離れていても、両方の範囲が画面内に収まる場合に向いています。

数百行、数千行ある表では、Ctrlキーを押しながらマウスで最終行まで選択すると時間がかかります。大量データでは、次の名前ボックスやジャンプを使います。

パターン3:大量データは名前ボックスで範囲指定する

数百行、数千行のデータでは、マウスを下方向へ動かしながらコピー先を選択する作業に時間がかかります。

この場合は、数式バーの左側にある名前ボックスへコピー元とコピー先のセル参照を入力します。

Excelの名前ボックスで範囲を指定する
名前ボックスへセル範囲を入力する

10行のサンプル表で、コピー元がE2:E11、コピー先がG2:G11の場合は、次のように入力します。

E2:E11,G2:G11

2つのセル範囲の間を、半角のカンマで区切ります。

名前ボックス範囲指定
名前ボックス範囲指定

入力後にEnterキーを押すと、E2:E11とG2:G11がまとめて選択されます。

名前ボックス範囲指定
名前ボックス範囲指定

実際のデータが5000行まである場合は、次のように行番号を置き換えます。

E2:E5000,G2:G5000

30000行まである場合も同じ考え方です。

E2:E30000,G2:G30000

名前ボックスなら、行数が多くてもマウスで最終行まで移動する必要がありません。

チエバコ

10行のサンプル表で操作を覚えれば、5000行や30000行の表でも、行番号を変えるだけで応用できます。

F5またはCtrl+Gのジャンプでも範囲指定できる

名前ボックスの代わりに、F5またはCtrl+Gで開く「ジャンプ」ダイアログから範囲を指定することもできます。

この例では2行目を除外し、3行目からを対象にしているため、F3:G11と指定しています。実際の作業では、コピーしたい範囲の開始行と終了行に置き換えてください。

STEP
F5またはCtrl+Gを押す

キーボードのF5またはCtrl+Gを押して、「ジャンプ」ダイアログを開きます。

「参照先」に範囲を入力します。

ジャンプによる範囲指定
ジャンプによる範囲指定
STEP
参照先へセル範囲を入力する

サンプルでは2列が隣り合っているため、F3:G11と範囲指定しています。

ジャンプ
ジャンプ

離れた範囲指定では、「参照先」に、コピー元とコピー先の範囲をカンマで区切って入力します。

E3:E11,G3:G11

大量データの場合は、名前ボックスと同じように最終行を変更します。

E3:E5000,G3:G5000
STEP
OKをクリックする

「OK」をクリックすると、指定した2つの範囲が選択されます。

ジャンプによる範囲指定
ジャンプによる範囲指定

名前ボックスとジャンプは、どちらを使っても選択結果は同じです。

名前ボックスとジャンプの使い分け
  • マウス操作に慣れている場合:名前ボックス
  • キーボード中心で操作したい場合:F5またはCtrl+G
  • どちらもセル参照の入力方法は同じ

範囲指定はフィルターをかける前でも後でもできる

コピー元とコピー先の範囲は、オートフィルターをかける前でも、フィルターで対象行を表示した後でも指定できます。

重要なのは、Ctrl+Rを実行する直前に、Alt+;で可視セルだけを選択することです。

範囲指定のタイミング操作の流れ向いている場面
フィルター後に指定フィルター→範囲指定→Alt+;→Ctrl+R通常の作業、画面内に収まる範囲
フィルター前に指定範囲指定→フィルター→Alt+;→Ctrl+R大量データを先に範囲指定しておきたい場合

フィルター後に範囲指定する流れ

  • オートフィルターで対象データを表示する
  • マウス、名前ボックス、F5・Ctrl+Gのいずれかで範囲指定する
  • Alt+;で可視セルだけを選択する
  • Ctrl+Rで右側へコピーする

フィルター前に範囲指定する流れ

  • 名前ボックスやF5・Ctrl+Gでコピー元とコピー先を指定する
  • オートフィルターで対象データだけを表示する
  • Alt+;で可視セルだけを選択する
  • Ctrl+Rで右側へコピーする

大量データでは、フィルターをかける前に名前ボックスなどで範囲を指定しておくと作業しやすい場合があります。

一方、すでにフィルターをかけている場合でも、その状態から範囲を指定して問題ありません。

チエバコ

範囲指定はフィルターの前でも後でも構いません。最後にAlt+;で可視セルだけを選んでからCtrl+Rを実行することが大切です。

Alt+;で可視セルだけを選択する方法

範囲を指定しただけでは、フィルターで非表示になっている行が選択範囲に含まれている場合があります。

Ctrl+Rを押す前に、必ず可視セルだけを選択します。

可視セルを選択する2つの方法
  • ショートカットのAlt+;を押す
  • 「ホーム」→「検索と選択」→「条件を選択してジャンプ」→「可視セル」を選ぶ
検索と選択から条件を選択してジャンプを開く
「検索と選択」から可視セルを選択する
選択オプションで可視セルを選択する画面
選択オプションで「可視セル」を選択する

Alt+;を押した後に別のセルをクリックすると、可視セルの選択状態が解除されます。そのままCtrl+Rへ進んでください。

方法2:数式とCtrl+Enterで可視セルへ一括入力する

数式とCtrl+Enterを使う方法でも、フィルターで表示されているセルだけへ一括入力できます。

ただし、「大量データだから数式を使う」という分け方ではありません。

名前ボックスやF5・Ctrl+Gを使えば、Ctrl+Rでも大量データを処理できます。

数式方式は、コピー元との連動を残したい場合や、列の位置に左右されずに同じ行のデータを参照したい場合に向いています。

数式とCtrl+Enterが向いている場面
  • コピー元とコピー先が離れている
  • Ctrl+Rを使うために列を移動したくない
  • コピー元の変更をコピー先にも反映させたい
  • 同じ行の別列を参照する数式を入れたい
  • 作業後に数式を値へ変換できる

数式とCtrl+Enterで入力する手順

今回の例では、G列の「チェック日」に、同じ行のE列「提出日」を参照する数式を入力します。

STEP
コピー先の範囲を選択する

名前ボックスへコピー先の範囲を入力します。

G3:G11

大量データが5000行まである場合は、次のように指定します。

G3:G5000
STEP
Alt+;で可視セルだけを選択する

Alt+;を押し、フィルターで表示されているG列のセルだけを選択します。

STEP
同じ行のコピー元を参照する数式を入力する

アクティブセルがG3の場合は、次の数式を入力します。

=E3
同じ行のコピー元を参照する数式を入力する
同じ行のコピー元を参照する数式を入力する
STEP
Ctrl+Enterを押す

数式を入力したら、EnterだけではなくCtrl+Enterを押します。

表示されているG列のセルだけに、同じ行のE列を参照する数式が入ります。

たとえば、G3には「=E3」、G6には「=E6」、G8には「=E8」のように入力されます。

Ctrl+Enterで可視セルへ数式を一括入力する
Ctrl+Enterで表示されているセルだけに数式を入力する

数式のまま残してよい場合

コピー元の値が変更されたとき、コピー先にも変更を反映させたい場合は、数式のまま残せます。

たとえば、提出日を修正したらチェック用の列にも自動反映させたい表では、数式を残す意味があります。

数式を値へ変換した方がよい場合

次のような場合は、数式を固定値へ変換します。

値への変換が必要な場面
  • コピー元の列を削除する
  • コピー時点の内容を記録として残す
  • 元データの変更に連動させたくない
  • 列の挿入や削除を予定している
  • 別のファイルへデータを渡す

数式のままコピー元を削除すると、参照先がなくなり「#REF!」エラーになることがあります。

数式を固定値へ変換する手順

  1. フィルターを解除して入力結果を確認します。
  2. 数式が入ったコピー先の範囲を選択します。
  3. Ctrl+Cでコピーします。
  4. 同じ場所を右クリックします。
  5. 貼り付けオプションから「値」を選択します。
  6. 数式バーを確認し、数式ではなく固定値になったことを確認します。
チエバコ

コピー元を削除する場合は、数式を値へ変換してから削除します。値への変換を忘れると、参照エラーになることがあります。

1つの同じ値を複数の可視セルへ入れる場合

行ごとに異なる値を別列へコピーする作業と、1つの同じ値を複数の表示セルへ入れる作業は分けて考えます。

たとえば、フィルターでPDFの行だけを表示し、すべての行へ同じ確認日を入力する場合です。

フィルター後に1つのセルをコピーする例
1つの値を複数の表示セルへ入れる例

この場合は、コピー先の範囲を選択してAlt+;で可視セルだけにし、値を入力してCtrl+Enterを押す方法が簡単です。

1つのセルをCtrl+Cでコピーし、選択した可視セルへ貼り付ける方法でも対応できます。

単独セルを複数の表示セルへ貼り付ける例
単独セルの値を複数の表示セルへ入れる
フィルター後の可視セルへ同じ値を入力した結果
表示されているセルだけに同じ値が入る
チエバコ

1つの同じ値を入れるのか、行ごとに異なる値を移すのかを最初に確認すると、使う方法を選びやすくなります。

Ctrl+Rと数式・Ctrl+Enterの使い分け

Ctrl+Rと数式・Ctrl+Enterは、どちらも可視セルだけを対象にできますが、向いている作業が異なります。

比較項目Ctrl+R数式+Ctrl+Enter
入力される内容左側セルの値・数式・書式コピー元を参照する数式
コピー元の位置コピー先より左側左右どちらでも指定可能
大量データ名前ボックスなどで対応可能名前ボックスなどで対応可能
元データとの連動固定値なら連動しない数式のままなら連動する
コピー元の削除固定値なら削除しやすい事前に値への変換が必要
向いている作業現在の値を別列へ確定して移す元データを参照し続ける

大量データだから数式を選ぶのではなく、コピー後の値を固定したいか、コピー元との連動を残したいかで判断します。

フィルター後のコピーで注意するポイント

コピー元とコピー先の行範囲をそろえる

離れた列を選択する場合は、コピー元とコピー先の開始行と終了行をそろえます。

E3:E11をコピー元にするなら、コピー先もG3:G11のように同じ行範囲を指定します。

Alt+;を押した後は別のセルをクリックしない

Alt+;で可視セルを選択した後に別のセルをクリックすると、可視セルの選択状態が解除されます。

Alt+;を押したら、そのままCtrl+Rまたは数式入力へ進みます。

Ctrl+Rは書式もコピーすることがある

Ctrl+Rでは、左側セルの値だけでなく、数式や書式も右側へ反映されることがあります。

コピー先に独自の色、罫線、表示形式が設定されている場合は、作業後に書式も確認してください。

手動で非表示にした行が混在していないか確認する

この記事は、オートフィルターで行を抽出した表を前提にしています。

右クリックなどで手動非表示にした行が混在すると、フィルターを解除しても一部の行が見えないままになることがあります。

作業前と作業後に、フィルターによる非表示と手動による非表示を分けて確認してください。

大量データの作業前にファイルを保存する

数百行、数千行の範囲を一括処理すると、範囲指定を間違えた場合の影響も大きくなります。

作業前にファイルを保存するか、必要に応じてバックアップを作成してから進めてください。

コピー後はフィルターを解除して確認する

コピーや数式入力が終わったら、必ずフィルターを解除して結果を確認します。

フィルター中は表示されている行しか見えないため、非表示行への誤入力や行ずれに気づきにくいことがあります。

作業後に確認すること
  • 目的の表示行だけにデータが入っているか
  • 非表示だった行が書き換わっていないか
  • コピー元とコピー先の行がずれていないか
  • コピー先の書式が変わっていないか
  • 数式を固定値へ変換する必要がないか
  • 不要な作業列や一時データが残っていないか
チエバコ

フィルター中の画面だけで判断せず、最後にすべての行を表示して確認することが大切です。

オートフィルター後のセル内容を置換する方法

Alt+;で可視セルを選択する方法は、コピーや貼り付けだけでなく、表示中のセルだけをまとめて置換するときにも使えます。

フィルターで絞り込んだデータだけを対象に、文字や記号、氏名に含まれるスペースなどを一括で変更したい場合は、次の記事を参考にしてください。

まとめ

Excelでオートフィルター後に表示された可視セルだけを別列へコピーする場合は、コピー方法だけでなく範囲指定の方法を使い分けます。

コピー元とコピー先が隣り合い、画面内に収まる場合は、2列をまとめてマウスで選択する方法が手軽です。

列が離れていても画面内に収まる場合は、Ctrlキーを押しながらコピー先を追加選択できます。

数百行、数千行ある場合は、名前ボックスまたはF5・Ctrl+Gのジャンプへセル参照を入力すれば、マウスで最終行まで移動する必要がありません。

範囲指定は、フィルターをかける前でも後でも行えます。どちらの場合も、最後にAlt+;で可視セルだけを選択してからCtrl+Rを実行します。

フィルター後のコピーを安全に行うポイント
  • 隣り合った列は2列をまとめて選択する
  • 離れた列はCtrlキーで追加選択する
  • 大量データは名前ボックスやF5・Ctrl+Gを使う
  • Alt+;で可視セルだけを選択する
  • 左側の内容を右側へ移す場合はCtrl+Rを使う
  • コピー元との連動を残す場合は数式とCtrl+Enterを使う
  • コピー元を削除する場合は数式を値へ変換する
  • 最後にフィルターを解除して結果を確認する

フィルター後のコピーでは、1つの方法だけを覚えるよりも、データ量と列の位置に合わせて範囲指定を使い分けることが重要です。

画面内ならマウス、離れた列ならCtrlキー、大量データなら名前ボックスやジャンプと整理しておけば、さまざまな表へ応用できます。

チエバコ

範囲指定の方法を使い分けられるようになると、フィルター後の大量データも迷わず処理しやすくなります。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次