下図はフィルターを有効にしてあるセル範囲です。テーブルではないし、テーブルかどうかはここでは関係ないです。

 

フィルターされている表で隣の列にコピーする

B 列で、条件を「エリアA」としてフィルターを実行したのが下図です。
このときに、「エリアA」だけを C 列にコピーしたい、すなわち見えているセルだけをコピーしたいとします。

 

B 列の「エリアA」のセル範囲を選択して普通にコピーを実行してセル C4 を選択して貼り付けると、非表示になっている 6、7、8 行目にも貼り付けられるため、こうなります↓。

 

こんなときは、コピー元と貼り付け先のセル範囲を選択して [Ctrl] キー + [R] キー で右方向への複製を実行します。

 

フィルターをクリアすると、表示されていた (非表示になっていない) セルにだけ貼り付けられていることがわかります。

 

非表示の行がある表で隣の列にコピーする

行の非表示が適用されている表で同じことを行ったらどうなるでしょうか?

下図では非表示にしたい行 (エリアB の行) をすべて選択して右クリックし、[非表示] を実行しています。

フィルターのときと同様に、コピー元と貼り付け先のセル範囲を選択して [Ctrl] キー + [R] キー で右方向への複製を実行します。

非表示になっている行の上下を含むように行を選択して右クリックし、[再表示] を実行します。

非表示になっていた行でも左から右への複製が行われているため、「見えているところだけコピーしたい」という目的に合っていないことがわかります。

フィルターによって非表示になっているときと、行に対する非表示設定によって見えていないときでは、同じ操作をしても結果に違いがあることがわかります。

そもそも、非表示になっているところも複製されてよいのであれば、フィルターをかけてからコピーをする必要がないので、おそらくやりたいことはフィルターのときのように、見えているところだけコピーしたい!でしょう。

もし、上記の操作を行ったときに思うようにいっていないのであれば、何によって行が非表示になっているのかを確認すべきでしょう。

離れた列へコピーする

コピー元と貼り付け先の列が隣り合っていない、間にほかの列があるなどという場合も、コピー元のセル範囲を選択したあと、[Ctrl] キーを押しながら貼り付け先のセル範囲をドラッグして選択して、[Ctrl] キー + [R] キーを実行します。

なお、[Ctrl] キー + [R] キーは、左側を右側へ複製するので、コピー元は左側に位置していないといけません。

フィルターをクリアすると、表示されていた (非表示になっていない) セルにだけ貼り付けられていることがわかります。

行の非表示によって見えていない行がある場合は、同じように操作をしても、下図のように非表示の行にも貼り付けられてしまいます。

フィルターされている状態で値を格納する

フィルターが実行されている状態で列の先頭のセルに入力をしてフィル ハンドルを使ってコピーを実行すると、見えている行のセルにだけ値を格納できます。

または、セル範囲を選択してから「〇」を入力して [Ctrl] キー + [Enter] キー で格納してもよいです。

フィル ハンドルを使っても、[Ctrl] キー + [Enter] キーで格納しても、フィルターをクリアすると、表示されていた (非表示になっていない) セルにだけコピーが実行されて値が貼り付け / 格納されていることがわかります。

同じことを行の非表示が適用されている範囲で実行すると、非表示になっているセルにも貼り付けられたり、値が格納されたりします。(結局、全部にはいってしまう、ということ)

 

ちなみに、フィルターの場合は、コピー元が単一セル (セル 1 つだけ) であれば、このセルをコピーして貼り付け先のセル範囲を選択して貼り付けても表示されているセルにだけ貼り付けを行えます。

 


ワークシートをぱっと見ただけでは、フィルターによる非表示と行の非表示に大きな差はないように見えますが、その後の操作に大きな違いがでます。まずは何によって非表示になっているのかを確認する必要があるでしょう。 

よくあるのは、フィルターしてコピー → 別の場所に貼り付けて編集 → 元の場所に戻そうとしたらぐちゃぐちゃになった!とか。
フィルターしているということは、間違いなく隠れているセルが存在しているから注意が必要ですね。

また、今回のようなコピー操作はもちろんのことSUBTOTAL 関数による計算でも「見えていない」ところをどう扱うのかは、フィルターと非表示で違いがあります。似て非なるものなので理解しておきたいところです。

石田 かのこ