90852


# やりたいこと

sheet2に入っている値をsheet1フィルターしている状態で貼り付けたいです。  
下記の手順で行っています。

  1. sheet2の2行目まで選択してCtrl+Cでコピする。
  2. sheet1を Bの列 フィルター１で行う
  3. C列をフィルターした状態で選択して［可視セル］を選んで［OK］を押す。
  4. Ctrl+Vで貼り付けをする。

下記の結果になります。

sheet1 Bの列 フィルター１でした状態

A | B | C  
---|---|---  
America | 1 | 5  
Albania | 1 | 5  
  
ここまでOKですが、フィルターを外すと下記のようになります。

# 現在の結果

sheet1

A | B | C  
---|---|---  
America | 1 | 5  
Atlanta | 2 | 5  
Argentina | 3 |  
Albania | 1 | 5  
|  | 5  
  
なぜこのような結果になりますか。  
フィルターした状態で、貼り付け方法が間違っていますでしょうか。

# 処理内容

sheet1

A | B | C  
---|---|---  
America | 1 |  
Atlanta | 2 |  
Argentina | 3 |  
Albania | 1 |  
  
sheet1 Bの列 フィルター１で行う

A | B | C  
---|---|---  
America | 1 |  
Albania | 1 |  
  
sheet2  
1行目と2行目には５入っています。

A  
---  
5  
5  
  
実現したい内容  
sheet1

A | B | C  
---|---|---  
America | 1 | 5  
Atlanta | 2 |  
Argentina | 3 |  
Albania | 1 | 5


CC BY-SA 4.0
2022-08-31T06:09:33.003
90850
2022-09-01T02:16:13.283
2022-09-01T02:16:13.283
3060
18859
question
excel
Excel でフィルター状態を維持し、可視セルのみ貼り付けたい
  
  
フィルター状態は関係ありません。Excelのセルのコピーに関する仕様です。

ExcelはRangeという単位で処理されています。Rangeは歯抜けのない四角形の領域となります。

今回、コピー元は2行1列のRangeとなります。貼り付け先は飛び地になっているので1行1列のRangeが２つ選択された状態となります。  
ExcelではRangeの行列が同じサイズであればそのまま貼り付けられますが、今回はサイズが異なるため該当しません。  
別のルールとして、貼り付け先のRangeが1行1列の場合、そこを左上としてそれぞれに貼り付けが行われます。今回はこれに該当しています。

解決策としては、コピー元を1行1列（つまり単一のセル）とすることです。


CC BY-SA 4.0
2022-08-31T07:37:24.050
90852
2022-08-31T07:37:24.050
4236
90850
answer