もしいい方法があればお伺いしたいですmm
注文番号 注文日 商品名 価格 仕入れ先 出荷日
12345 2014/10/11 たまご 198 倉庫A 11月
13456 2014/11/13 牛乳 238 倉庫B 11月
・
・
・
上記xlsデータがあり、タイトルに準じて5000行ほどのレコードがあります。
(1行目がタイトル)
データがきれいでないため、5000行の中で重複が混在しています。
Accessであれば重複クエリーで重複したものだけをPickUpはすぐにできるとおもいますが、
その方法ではなく、
重複したものは先にある行だけを残しそれ以外は除外するという方法は
とれないでしょうか。
例:5000行あるが、重複しているデータを除くと4700行になる。
(重複している行は先頭を残して削除してダブらない行だけを出したい)
※重複となるパターン
注文番号 注文日 商品名 価格
の4項目が全く同じものが複数行ある
御手数をおかけします。
No.2ベストアンサー
- 回答日時:
No.1です。
>これだとエクセル行分が限界でしょうか。
当然Excelの表示できる行数分が限界となりますが、
Excel2007以降であれば最終行は104万行以上になります。
理論上はその行数までのデータであればダイジョブ!というコトになります。
前回のマクロのコードをそのまま利用できますが、
データ量が極端に多い場合は
処理速度は若干遅くなる可能性があります。m(_ _)m
No.1
- 回答日時:
こんばんは!
5000行程度であればExcelで問題ないと思います。
Excelのフィルタの詳細設定で「重複レコードは無視する」という操作がありますので、
作業列を1列(G列)設け、G2セルに
=A2&"_"&B2&"_"&C2&"_"&D2
という数式を入れフィルハンドルでダブルクリック → G列を範囲指定 → メニュー →
データ → 「並び替えとフィルタ」の「詳細設定」 → 「重複レコードは無視する」にチェックを入れ
表示されているデータをSheet2にコピー&ペーストして完了です。
(Sheet1のフィルタは解除してやります)
以上の一連の操作をVBAでやれば以下のようになります。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
.Range("G1") = "ダミー"
With Range(.Cells(2, "G"), .Cells(lastRow, "G"))
.Formula = "=A2&""_""&B2&""_""&C2&""_""&D2"
.Value = .Value
End With
.Range("G:G").AdvancedFilter Action:=xlFilterInPlace, unique:=True
Range(.Cells(1, "A"), .Cells(lastRow, "F")).SpecialCells(xlCellTypeVisible).Copy wS.Range("A1")
wS.Columns.AutoFit
.ShowAllData
.Range("G:G").Clear
End With
End Sub 'この行まで
これで↓の画像のような感じになります。m(_ _)m
tom04さん、ありがとうございます!
これだとエクセル行分が限界でしょうか。
Accessだと2桁万行レベルでもいけるのでしょうかmm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) accessについて 2 2022/05/31 16:58
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Excel(エクセル) 重複データの抽出について 2 2023/07/21 14:52
- Excel(エクセル) Excelで連続して重複する行数の違う列を参照する方法 5 2023/04/23 06:15
- Excel(エクセル) Countifよりも早く重複数をカウントする方法ありますか? 18 2022/07/04 13:39
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて 重複したものがあれば行を削除するとい 1 2023/02/27 18:49
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで1列に500行並んだデ...
-
Excelで2つのデータの突合せを...
-
エクセルで日付から日にちを削...
-
エクセルで横並びの複数データ...
-
複数の条件に合う行番号を取得...
-
エクセルで、重複データを除外...
-
excel:別シートの値を飛び飛び...
-
Excelで2行単位のソートの出来...
-
Countifよりも早く重複数をカウ...
-
Excelの30個ずつの平均値の出し方
-
重複データの削除(数値列は合...
-
500行の中から、多い順に抽出す...
-
エクセル関数について aかつ...
-
Excelでデータベースを構築した...
-
VBA 大きなtxtテキストファ...
-
エクセルVBA C列に特定の文字列...
-
エクセルで1つの会社名に対して...
-
Excel VBA 空白セル以下のデー...
-
エクセルマクロ 重複しない値...
-
EXCELで○ヶ月を○年○ヶ月に変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで日付から日にちを削...
-
エクセルで1列に500行並んだデ...
-
複数の条件に合う行番号を取得...
-
Excelで2つのデータの突合せを...
-
excel:別シートの値を飛び飛び...
-
Excelで2行単位のソートの出来...
-
エクセルで、重複データを除外...
-
Countifよりも早く重複数をカウ...
-
Excelの30個ずつの平均値の出し方
-
エクセルVBA C列に特定の文字列...
-
VBA 数式を最終行までコピー
-
エクセルで1つの会社名に対して...
-
エクセル2016にて、行挿入&コピ...
-
エクセルで横並びの複数データ...
-
エクセルで時刻だけを抜き出す...
-
エクセル~空白のセルのある行...
-
VBA 大きなtxtテキストファ...
-
【エクセル】1列内に複数ある同...
-
EXCELでの重複データカウント方...
-
Excelでデーターが多いので、平...
おすすめ情報