人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの関数で一つの列の中から同一または重複を探し出す関数はありますでしょうか
登録したデータから、複数人が間違って入力した重複分を検索してつぶしたいと考えています。
申し訳御座いませんがお願い致します。

●質問者: abesyarara
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:エクセル データ 入力 検索 関数
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● Newswirl
●25ポイント

COUNTIFで検索範囲と検索条件を指定できます。

A列を検索する場合は、空白の列に$A$1:$A$20のように検索範囲を指定し、A1を検索条件とします。

1以外が返ってくれば、2つ以上の重複があるということです。

◎質問者からの返答

有難う御座います。勉強させていただきます。


2 ● airplant
●50ポイント ベストアンサー

データの件数が少ないときは、下記のページに紹介されている方法(条件付書式)でセルに色をつければいいと思います。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1113357...


データ数が多い場合は、色ではなく上記と同じ方法で横の列にCOUNTIFを書くか、フィルタの抽出で別シートにすれば大丈夫です。

用途により使い分ければいいと思います。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/jyufuku.htm

◎質問者からの返答

手順も図式化されていて色付けが非常に分かりやすかったです。


3 ● SALINGER
●20ポイント

条件付書式を使えば、重複分を簡単に見つけることができます。

例えばA列ならば、A列を選択してメニューの書式→条件付書式を選択して、

「数式が」「=AND(A1<>"",COUNTIF(A1:A1000,A1)>1)」

として、書式をパターンから好きな色を選択します。

これで下に同じセルがあって重複になっているセルは色分けされるので削除が簡単です。


同じ処理をVBAで自動でやるときはこんなふうにできます。

Sub Macro()
 Const retu As String = "A"  'A列の意味
 Dim lastRow As Long
 Dim i As Long
 Dim j As Long
 Dim f As Boolean
 lastRow = Cells(Rows.Count, retu).End(xlUp).Row
 For i = lastRow To 2 Step -1
 f = False
 For j = 1 To i - 1
 If Cells(j, retu).Value = Cells(i, retu).Value Then
 f = True
 Exit For
 End If
 Next j
 If f Then
 Cells(i, retu).Delete shift:=xlUp  'セルだけ削除の場合
  'Rows(i).Delete shift:=xlUp '行ごと削除の場合
 End If
 Next i
End Sub
◎質問者からの返答

これはすごい。勉強させていただきます。


4 ● きゃづみぃ
●20ポイント

http://www11.plala.or.jp/koma_Excel/contents6/mame6042/mame60420...

フィルタの重複チェックで調べられます。

◎質問者からの返答

有難う御座います、勉強になります。


5 ● soan_4q
●15ポイント

A列でA1からA1000にデータが入っているとして

その中の重複分を探す場合、

B列が空いているとしたら、

B2に

=MATCH(A2,$A$1:A1,0)

と入れて、B1000までコピーします。

自分よりも上の行と一致する答えがあれば値を返してきます。

重複していないか、重複しているうちでも、最初の行は

#N/Aが返ってくるので

#N/Aになった行 以外を消せば重複がなくなります。

◎質問者からの返答

この関数も使いやすそうですね。有難う御座います!


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ