エクセルの重複データを抽出したいのですが、単純に列Aのデータから抽出するのではなく、
列AとBとCなど列全体から重複しているかどうかを判別したいです。
英数字の文字列のデータを大量に扱うのですが、上限の104万行を越える為、超えたら次の列の移ってデータを管理出来たらいいなと思っています。
例
列A 列B 列C
AAA1 DDD4 GGG7
BBB2 EEE5 HHH8
CCC3 FFF6 III9
上限 上限
上記ような表があったとして、新しく取得した英数字のデータを列ABCのデータ全てと重複してないか調べて抽出できますか?
大量のデータなのでデータベース作成するべきなのでしょうが、もしエクセルでも管理出来る方法があれば教えて下さい。
No.1ベストアンサー
- 回答日時:
こんにちは!
>文字列のデータを大量に扱うのですが、上限の104万行を越える為・・・
Excelで処理するのはかなりしんどいですね。
無理やりVBAでやってみました。
とりあえず、A~C列を上から検索し、2度以上出現している行のD列に「重複」と表示するコードにしています。
Sub Sample1()
Dim myDic As Object
Dim i As Long, lastRow As Long
Dim myStr As String
Dim myR
Set myDic = CreateObject("Scripting.Dictionary")
Range("D:D").ClearContents
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
myR = Range(Cells(1, "A"), Cells(lastRow, "D"))
For i = 1 To UBound(myR, 1)
myStr = myR(i, 1) & "_" & myR(i, 2) & "_" & myR(i, 3)
If Not myDic.exists(myStr) Then
myDic.Add myStr, ""
Else
myR(i, 4) = "重複"
End If
Next i
Range(Cells(1, "A"), Cells(lastRow, "D")) = myR
Set myDic = Nothing
MsgBox "完了"
End Sub
※ 極力速度重視でやってみましたが
104万行のデータで試しましたが、約50秒かかりました。m(_ _)m
No.2
- 回答日時:
あぁ 簡単な、
超基本の レベルですね。
仮に、
A6に 検査対象が、
収まるとして、
エラー処理の 基本部だけだと、
=SUMPRODUCT(( A6=A1:C3)+0)
たった 此だけですね。
知らないのの 知ったかぶりって、
恥が 怖いですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) エクセルで沢山のレコードの最後に追記するには? 7 2023/04/10 13:27
- Excel(エクセル) Excelの関数でこんな処理ができますか 1 2023/02/08 13:46
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Excel(エクセル) Excelで連続して重複する行数の違う列を参照する方法 5 2023/04/23 06:15
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 3 2022/06/12 11:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで日付から日にちを削...
-
エクセルで1列に500行並んだデ...
-
複数の条件に合う行番号を取得...
-
Excelで2つのデータの突合せを...
-
Excelで2行単位のソートの出来...
-
エクセルで、重複データを除外...
-
excel:別シートの値を飛び飛び...
-
VBA 数式を最終行までコピー
-
Countifよりも早く重複数をカウ...
-
エクセルVBA C列に特定の文字列...
-
Excelの30個ずつの平均値の出し方
-
Excelでデータベースを構築した...
-
本日の日付を超えているものを...
-
EXCELでの並べ替え
-
Excel VBA 【QueryTables.Add】...
-
エクセルで横並びの複数データ...
-
エクセルで時刻だけを抜き出す...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
複数の文字列のいずれかが含ま...
-
A1セルに入力したら、入力時間...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで1列に500行並んだデ...
-
エクセルで日付から日にちを削...
-
Excelで2つのデータの突合せを...
-
Excelで2行単位のソートの出来...
-
複数の条件に合う行番号を取得...
-
excel:別シートの値を飛び飛び...
-
エクセルで、重複データを除外...
-
Countifよりも早く重複数をカウ...
-
Excelの30個ずつの平均値の出し方
-
VBA 数式を最終行までコピー
-
エクセルVBA C列に特定の文字列...
-
エクセルで横並びの複数データ...
-
エクセル2016にて、行挿入&コピ...
-
【Excel】小計単位で並べ替えを...
-
VBA 大きなtxtテキストファ...
-
500行の中から、多い順に抽出す...
-
エクセル~空白のセルのある行...
-
エクセルで1つの会社名に対して...
-
【エクセル】1列内に複数ある同...
-
Excel VBA 空白セル以下のデー...
おすすめ情報