Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
フィルター後の処理
投稿日時: 18/03/20 08:44:24
投稿者: EXman

お世話になっております。
エクセルにて、以下のような表があり、
フィルターにて0だけ表示した後に、
その0表示されている行だけ切り取り、
任意の場所に貼り付けたいのですが、
どのようにすれば良いでしょうか。
ご教示頂けますと幸いです。
よろしくお願いいたします。
 
A列    B列
ID1    1
ID2    0
ID13    2
ID4    10
ID35    8
ID6    0
ID17    0
ID8    0
ID9    10
ID10    13
ID12    20
 

 
A列    B列
ID1    1
ID13    2
ID4    10
ID35    8
ID9    10
ID10    13
ID12    20
ID2    0
ID6    0
ID17    0
ID8    0

 
 

回答
投稿日時: 18/03/20 09:15:21
投稿者: bi

	A	B	C
1	項目1	項目2	
2	ID1	1	
3	ID2	0	
4	ID13	2	
5	ID4	10	
9	ID8	0	
10	ID9	10	
11	ID10	13	
12	ID12	20	

C2セル:=IF(B2=0,"",ROW())
下方向にコピー
 
「先頭行をデータの見出しとして使用する」にチェックを入れて
最優先されるキー (列C)
昇順
 
で並べ替えるというのはどうでしょうか?

回答
投稿日時: 18/03/20 10:14:21
投稿者: んなっと

《並べ替え利用》biさんとほぼ同じです。
 
●C2
=B2=0
下方向・↓
 
    A  B   C
 1  A列 B列    
 2  ID1  1 FALSE
 3  ID2  0  TRUE
 4  ID3  2 FALSE
 5  ID4  10 FALSE
 6  ID5  8 FALSE
 7  ID6  0  TRUE
 8  ID7  0  TRUE
 9  ID8  0  TRUE
10  ID9  10 FALSE
11 ID10  13 FALSE
12 ID11  20 FALSE
 
 
●再度C2だけを選択して 昇順で並べ替え
 
A列    B列    
ID1    1    FALSE
ID3    2    FALSE
ID4    10    FALSE
ID5    8    FALSE
ID9    10    FALSE
ID10    13    FALSE
ID11    20    FALSE
ID2    0    TRUE
ID6    0    TRUE
ID7    0    TRUE
ID8    0    TRUE
 
 
《コピー→貼り付け→行削除》
 
●コピー
 
   A  B
1 A列 B列
3 ID2  0
7 ID6  0
8 ID7  0
9 ID8  0
 
●一番下に貼り付け
 
    A  B
 1  A列 B列
 3  ID2  0
 7  ID6  0
 8  ID7  0
 9  ID8  0
13  ID2  0
14  ID6  0
15  ID7  0
16  ID8  0
 
●元のデータを行削除
 
    A  B
 1  A列 B列
13  ID2  0
14  ID6  0
15  ID7  0
16  ID8  0
 
●解除
 
    A  B
 1  A列 B列
 2  ID1  1
 3  ID3  2
 4  ID4  10
 5  ID5  8
 6  ID9  10
 7 ID10  13
 8 ID11  20
 9  ID2  0
10  ID6  0
11  ID7  0
12  ID8  0

回答
投稿日時: 18/03/20 12:10:06
投稿者: Mike

参考までに、
  A  B C D  E F   G     H
1 ID1  1  ID1  1  1000.01  1000.01
2 ID2  0  ID13 2   200002  3000.03
3 ID13 2  ID4 10  3000.03  4000.04
4 ID4 10  ID35 8  4000.04  5000.05
5 ID35 8  ID9 10  5000.05  9000.09
6 ID6  0  ID10 13   600006  10000.1
7 ID17 0  ID12 20   700007 11000.11
8 ID8  0  ID2  0   800008  200002
9 ID9 10  ID6  0  9000.09  600006
10 ID10 13  ID17 0  10000.1  700007
11 ID12 20  ID8  0  11000.11  800008
 
G1: =IF(B1,ROW()*1000+ROW()/100,ROW()*100000+ROW())
H1: =SMALL(G$1:G$11,ROW(A1))
D1: =INDEX(A$1:A$11,MATCH($H1,$G$1:$G$11,0))
E1: D1 をコピー&ペースト

投稿日時: 18/03/20 15:54:07
投稿者: EXman

bi さんの引用:
	A	B	C
1	項目1	項目2	
2	ID1	1	
3	ID2	0	
4	ID13	2	
5	ID4	10	
9	ID8	0	
10	ID9	10	
11	ID10	13	
12	ID12	20	

C2セル:=IF(B2=0,"",ROW())
下方向にコピー
 
「先頭行をデータの見出しとして使用する」にチェックを入れて
最優先されるキー (列C)
昇順
 
で並べ替えるというのはどうでしょうか?

 
ご回答ありがとうございます。
御礼遅くなりまして申し訳ございません。
希望する形に出来ました。
ありがとうございました。

投稿日時: 18/03/20 15:54:33
投稿者: EXman

bi さんの引用:
	A	B	C
1	項目1	項目2	
2	ID1	1	
3	ID2	0	
4	ID13	2	
5	ID4	10	
9	ID8	0	
10	ID9	10	
11	ID10	13	
12	ID12	20	

C2セル:=IF(B2=0,"",ROW())
下方向にコピー
 
「先頭行をデータの見出しとして使用する」にチェックを入れて
最優先されるキー (列C)
昇順
 
で並べ替えるというのはどうでしょうか?

 
ご回答ありがとうございます。
御礼遅くなりまして申し訳ございません。
希望する形に出来ました。
ありがとうございました。