- 締切済み
重複データの抽出
重複した数字のデータを抽出してまとめたいのですが教えていただけないでしょうか? 例えば A列 B列 1245 1365 1245 1398 1365 1155 1245 この表を A列 B列 1245 1245 1365 1365 1245 1398 1398 1155 1365 1155 1245 のようにまとめたい A列の重複したデータを抽出しB列にまとめたいのですが、なるべく関数でやりたいのですが、良い方法をお願いいたします。
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
OKWAVEでimogasi方式で照会してもらえば、似た質問が沢山あります。 A2:A8 A列 B列 E列 1245 1245 1 1365 1365 2 1245 1398 1398 1155 3 1365 #N/A 1155 4 1245 E2に =IF(COUNTIF($A$2:A2,A2)=1,MAX($E$1:E1)+1,"") と入れてE8まで式を複写します。 A列番号について、初出の行に連番を振ります。 B列B2に行って =IF(ROW()-1>MAX($E$1:$E$100),"",INDEX($A$2:$A$100,MATCH(ROW()-1,$E$2:$E$100,0),1)) と入れてE列の最大数4行だけ式を複写します。
- 134
- ベストアンサー率27% (162/600)
もとい A2セルに入れる関数は =if(B2="","",if(countif($B$2:$B$8,B2)>1,"",max($A$1:a1)+1)) のほうが、よい…かもしれません。
- 134
- ベストアンサー率27% (162/600)
関数にて… A列を計算用に使用させていただきます。 なので、B列に入力用のデータが列記されているとさせてください。 また、1行目は見出しで、2行目からデータが入っているとします。 抽出は… C列 でいいですか? 上記前提の上で… A2セルに =if(countif($B$2:$B$8,B2)>1,"",max($A$1:a1)+1) と入力します。 C2セルに =if(iserror(vlookup(row()-1,$A$2:$B$8,2,0)),"",vlookup(row()-1,$A$2:$B$8,2,0)) と入力 A2の関数とC2の関数を下までコピーする という方法は、いかがでしょうか
- KenKen_SP
- ベストアンサー率62% (785/1258)
こんにちは。KenKen_SP です。 【注意】 ・セルの選択範囲は単一列のみ ・ブランクセルも含む Sub Sample() If UCase$(TypeName(Selection)) <> "RANGE" Then Exit Sub If Selection.Columns.Count = 1 Then Selection.AdvancedFilter _ Action:=xlFilterCopy, _ CopyToRange:=Selection.Cells(1).Offset(0, 1), _ Unique:=True End If End Sub ブランクを含めないとか、Selection が複数列の場合に対応するなら、 別ロジックになります。Collection とか Dictionary とか。
- mshr1962
- ベストアンサー率39% (7417/18945)
関数にこだわらないなら A列の先頭行(A1)にセルを挿入して項目名を入力して下記の様にする。 A列 B列 項目 抽出 1245 1365 1245 1398 1365 1155 1245 「データ」「フィルタ」「フィルタオプションの設定」 「指定した範囲」を● 「リスト範囲」「$A$1:$A$8」 「抽出範囲」「$B$2」 「重複するレコードは無視する」にチェックして「OK」を押す。
- ao777
- ベストアンサー率34% (43/123)
少し無理やりですが、B1に下記の関数を入れて、 後はオートフィルで↓にコピーしてください。 =IF(COUNTIF($A$1:$A$7,A1)>=2,A1,"") これが関数での限界だと思います。 ただこれだと、空白のセルができるので、 思ってる物と違うかも。。
お礼
早速の回答ありがとうございます。
- gucchi-you
- ベストアンサー率51% (54/105)
#1です。やってみました。 ダブったものだけ =IF(COUNTIF($A$1:A1,A1)=2,A1,"") ダブらなかったものも含めて =IF(COUNTIF($A$1:A1,A1)=1,A1,"") として下にコピー。A列の数字がでてきますので、どこかに値貼り付けして並び替え、ではいかがでしょうか?
お礼
早速の回答ありがとうございます。 やはり関数では数回の手順が必要なんですね
- gucchi-you
- ベストアンサー率51% (54/105)
ダブったものだけ抽出したいのですか、それともダブらなかったものも合わせてですか? いずれにしろ関数では一発では難しいと思います。 もう1列か2列使えばcountifとソートでできそうですが。。。
お礼
早速の回答ありがとうございます。
補足
関数では限界があるみたいなので、VABに挑戦してみたいのですが、1度もやったことがないのですが、難しいでしょうか?