重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

重複した数字のデータを抽出してまとめたいのですが教えていただけないでしょうか?
例えば
A列    B列  
1245    
1365    
1245
1398
1365
1155
1245
この表を
    
A列    B列  
1245    1245
1365    1365
1245    1398
1398    1155
1365
1155
1245
のようにまとめたい

A列の重複したデータを抽出しB列にまとめたいのですが、なるべく関数でやりたいのですが、良い方法をお願いいたします。

A 回答 (8件)

OKWAVEでimogasi方式で照会してもらえば、似た質問が沢山あります。


A2:A8
A列  B列   E列
124512451
136513652
12451398
139811553
1365#N/A
11554
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行だけ式を複写します。
    • good
    • 0

もとい



A2セルに入れる関数は
=if(B2="","",if(countif($B$2:$B$8,B2)>1,"",max($A$1:a1)+1))

のほうが、よい…かもしれません。
    • good
    • 0

関数にて…



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の関数を下までコピーする

という方法は、いかがでしょうか
    • good
    • 0

こんにちは。

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 とか。
    • good
    • 0

関数にこだわらないなら


A列の先頭行(A1)にセルを挿入して項目名を入力して下記の様にする。
A列    B列  
項目    抽出
1245    
1365    
1245
1398
1365
1155
1245

「データ」「フィルタ」「フィルタオプションの設定」
「指定した範囲」を●
「リスト範囲」「$A$1:$A$8」
「抽出範囲」「$B$2」
「重複するレコードは無視する」にチェックして「OK」を押す。

この回答への補足

関数では限界があるみたいなので、VABに挑戦してみたいのですが、1度もやったことがないのですが、難しいでしょうか?

補足日時:2006/06/06 09:50
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

お礼日時:2006/06/06 09:50

少し無理やりですが、B1に下記の関数を入れて、


後はオートフィルで↓にコピーしてください。

=IF(COUNTIF($A$1:$A$7,A1)>=2,A1,"")

これが関数での限界だと思います。
ただこれだと、空白のセルができるので、
思ってる物と違うかも。。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。

お礼日時:2006/06/06 09:46

#1です。

やってみました。
ダブったものだけ

=IF(COUNTIF($A$1:A1,A1)=2,A1,"")

ダブらなかったものも含めて
=IF(COUNTIF($A$1:A1,A1)=1,A1,"")

として下にコピー。A列の数字がでてきますので、どこかに値貼り付けして並び替え、ではいかがでしょうか?
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
やはり関数では数回の手順が必要なんですね

お礼日時:2006/06/06 09:44

ダブったものだけ抽出したいのですか、それともダブらなかったものも合わせてですか?


いずれにしろ関数では一発では難しいと思います。
もう1列か2列使えばcountifとソートでできそうですが。。。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!