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行のサンプル表で紹介します。


オートフィルター後のコピーで失敗しやすい理由
通常の表であれば、連続したセルを選択してCtrl+Cでコピーし、コピー先でCtrl+Vを押せば貼り付けられます。
しかし、オートフィルターで抽出した表には、画面に表示されていない行が残っています。
たとえば、フィルター後にE3、E6、E8だけが表示されていても、ワークシート上にはE4、E5、E7などの非表示行が存在します。
表示されているセルを通常の連続範囲と同じ感覚でコピーすると、フィルター中は問題なく見えても、解除後に非表示だった行へデータが入っていることがあります。


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


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





フィルター後の表では、画面に見えているセルをExcelの「可視セル」として選択してから処理します。
Ctrl+Rで別列へコピーできる条件
Ctrl+Rは、選択範囲の左側にあるセルの内容を、同じ行の右側へコピーする操作です。
通常の貼り付けで使うCtrl+Vとは動作が異なり、事前にCtrl+Cでコピーしておく必要はありません。
- コピー元がコピー先より左側にある
- コピー元とコピー先の開始行と終了行がそろっている
- コピー元とコピー先の行数が同じである
- フィルター後はAlt+;で可視セルだけを選択する
コピー元がE列、コピー先がG列のように離れていても、コピー元が左側にあり、同じ行範囲を選択できていればCtrl+Rを使用できます。
Ctrl+Rを使うために、必ずしもコピー元とコピー先を隣り合わせにする必要はありません。
方法1:可視セルとCtrl+Rで別列へコピーする
ここからは、コピー元とコピー先の位置やデータ量に合わせた3つの範囲指定方法を紹介します。
パターン1:隣り合った列をまとめて選択する
コピー元とコピー先が隣り合い、対象行も画面内に収まる場合は、2列をまとめてマウスで選択する方法が最も手軽です。
たとえば、F列がコピー元、G列がコピー先で、対象範囲が3行目から11行目までの場合は、F3:G11をまとめて選択します。
マウスを使って、コピー元とコピー先を含む2列の範囲をまとめて選択します。
コピー元が左側、コピー先が右側になるように選択してください。
※フィルターをかけた後で、範囲指定してもかまいません。


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


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


画面内に収まる少量のデータであれば、この方法が最も直感的です。
パターン2:離れた列はCtrlキーを押しながら選択する
コピー元とコピー先が数列離れていても、対象範囲が画面内に収まる場合は、Ctrlキーを使った追加選択が便利です。
今回のサンプルでは、E列の「提出日」を、離れたG列の「チェック日」へコピーします。
最初に、E列のコピー元になる範囲を選択します。


Ctrlキーを押したまま、G列のコピー先になる同じ行範囲を追加選択します。
コピー元とコピー先の開始行、終了行、行数をそろえてください。


コピー元とコピー先を選択した状態で、Alt+;を押します。
Ctrl+Rを押すと、E列の値が同じ表示行のG列へコピーされます。


この方法は、コピー元とコピー先が離れていても、両方の範囲が画面内に収まる場合に向いています。
数百行、数千行ある表では、Ctrlキーを押しながらマウスで最終行まで選択すると時間がかかります。大量データでは、次の名前ボックスやジャンプを使います。
パターン3:大量データは名前ボックスで範囲指定する
数百行、数千行のデータでは、マウスを下方向へ動かしながらコピー先を選択する作業に時間がかかります。
この場合は、数式バーの左側にある名前ボックスへコピー元とコピー先のセル参照を入力します。


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と指定しています。実際の作業では、コピーしたい範囲の開始行と終了行に置き換えてください。
キーボードのF5またはCtrl+Gを押して、「ジャンプ」ダイアログを開きます。
「参照先」に範囲を入力します。


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


離れた範囲指定では、「参照先」に、コピー元とコピー先の範囲をカンマで区切って入力します。
E3:E11,G3:G11
大量データの場合は、名前ボックスと同じように最終行を変更します。
E3:E5000,G3:G5000
「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を押す前に、必ず可視セルだけを選択します。
- ショートカットのAlt+;を押す
- 「ホーム」→「検索と選択」→「条件を選択してジャンプ」→「可視セル」を選ぶ




Alt+;を押した後に別のセルをクリックすると、可視セルの選択状態が解除されます。そのままCtrl+Rへ進んでください。
方法2:数式とCtrl+Enterで可視セルへ一括入力する
数式とCtrl+Enterを使う方法でも、フィルターで表示されているセルだけへ一括入力できます。
ただし、「大量データだから数式を使う」という分け方ではありません。
名前ボックスやF5・Ctrl+Gを使えば、Ctrl+Rでも大量データを処理できます。
数式方式は、コピー元との連動を残したい場合や、列の位置に左右されずに同じ行のデータを参照したい場合に向いています。
- コピー元とコピー先が離れている
- Ctrl+Rを使うために列を移動したくない
- コピー元の変更をコピー先にも反映させたい
- 同じ行の別列を参照する数式を入れたい
- 作業後に数式を値へ変換できる
数式とCtrl+Enterで入力する手順
今回の例では、G列の「チェック日」に、同じ行のE列「提出日」を参照する数式を入力します。
名前ボックスへコピー先の範囲を入力します。
G3:G11
大量データが5000行まである場合は、次のように指定します。
G3:G5000
Alt+;を押し、フィルターで表示されているG列のセルだけを選択します。
アクティブセルがG3の場合は、次の数式を入力します。
=E3


数式を入力したら、EnterだけではなくCtrl+Enterを押します。
表示されているG列のセルだけに、同じ行のE列を参照する数式が入ります。
たとえば、G3には「=E3」、G6には「=E6」、G8には「=E8」のように入力されます。


数式のまま残してよい場合
コピー元の値が変更されたとき、コピー先にも変更を反映させたい場合は、数式のまま残せます。
たとえば、提出日を修正したらチェック用の列にも自動反映させたい表では、数式を残す意味があります。
数式を値へ変換した方がよい場合
次のような場合は、数式を固定値へ変換します。
- コピー元の列を削除する
- コピー時点の内容を記録として残す
- 元データの変更に連動させたくない
- 列の挿入や削除を予定している
- 別のファイルへデータを渡す
数式のままコピー元を削除すると、参照先がなくなり「#REF!」エラーになることがあります。
数式を固定値へ変換する手順
- フィルターを解除して入力結果を確認します。
- 数式が入ったコピー先の範囲を選択します。
- Ctrl+Cでコピーします。
- 同じ場所を右クリックします。
- 貼り付けオプションから「値」を選択します。
- 数式バーを確認し、数式ではなく固定値になったことを確認します。



コピー元を削除する場合は、数式を値へ変換してから削除します。値への変換を忘れると、参照エラーになることがあります。
1つの同じ値を複数の可視セルへ入れる場合
行ごとに異なる値を別列へコピーする作業と、1つの同じ値を複数の表示セルへ入れる作業は分けて考えます。
たとえば、フィルターでPDFの行だけを表示し、すべての行へ同じ確認日を入力する場合です。


この場合は、コピー先の範囲を選択して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キー、大量データなら名前ボックスやジャンプと整理しておけば、さまざまな表へ応用できます。



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


コメント