No.2ベストアンサー
- 回答日時:
Excelのマクロが使えれば、こんな方法でも。
A列にデータがあると仮定します。
マクロの実行時には、ダブリのチェックを行いたい範囲を選択してから、マクロDblChkを実行してくださいね。
では。
Sub DblChk()
Dim aSelect As Variant
Dim aTemp() As Variant
Dim sAddr As String
Dim r As Long, c As Integer
Dim l As Long
'■■■ 範囲設定 ■■■
If Not IsArray(Selection) Then
MsgBox "ダブルチェックをしたい、正しい範囲を選択してください", vbInformation, "警告"
Exit Sub
End If
'■■■ 65000行以上のデータへの警告 ■■■
yesno = MsgBox("65000行以上のデータでは使えません!それ以下のデータですね?", vbYesNo, "警告")
If yesno = vbNo Then
Exit Sub
End If
'■■■ 並べ替えを行う(Keyは先頭列) ■■■
Selection.Sort _
Key1:=Selection.Cells(1, 1), Order1:=xlAscending, _
Header:=xlNo, OrderCustom:=1, MatchCase:=True, SortMethod:=xlStroke
'■■■ 選択範囲を待避 ■■■
aSelect = Selection
sAddr = Selection.Address
'■■■ 重複しない値の配列を作成する ■■■
If UBound(aSelect, 1) > 1 Then
ReDim aTemp(1 To UBound(aSelect, 1), 1 To UBound(aSelect, 2))
'1行目から最後の行-1までの判定
For r = 1 To UBound(aSelect, 1) - 1
If aSelect(r, 1) <> aSelect(r + 1, 1) Then
l = l + 1
For c = 1 To UBound(aSelect, 2)
aTemp(l, c) = aSelect(r, c)
Next c
End If
Debug.Print r
Next r
'最後の行を転記(後側のデータを残す場合)
l = l + 1
For c = 1 To UBound(aSelect, 2)
aTemp(l, c) = aSelect(r, c)
Next c
End If
Range(sAddr) = aTemp
End Sub
No.4
- 回答日時:
#1さんとよく似たやり方なので改めて書き込むのもちょっと気が引けるのですが...。
まず現在の表を昇順・降順どちらでも並び替えをしておく。(これは#1さんの方法でも同じですね)
元のデータの先頭が1行目にある場合は1行目に行を挿入して2行目からデータが始まるようにする。
元データがA2から始まっているとして、B2に次の式を入れる。
=IF(A1<>A2,"",1)
B2のセルを選択して、セル右下にカーソルを合わせてポインタが+になったらダブルクリック。これで最終行まで演算式がコピーされます。必要なデータのB列には空白、ダブりのデータのB列は1が入ります。
表全体またはシート全体を選択→コピー→形式を選択して貼り付けで値のみを貼り付け
もう一度B列をキーに並べ替えをするとB列に1が入っている行がかたまるのでこれを削除する。
No.3
- 回答日時:
VBAですが
Sub Macro1()
d = Range("A56356").End(xlUp).Row '一番下の行数を得る
MsgBox d
'---A1:AdまでA列で、昇順ソート
Range(Cells(1, "A"), Cells(d, "A")).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
'-----1行前のデータ
m = ""
j = 1 'Sheet2の書き出し初めの行
For i = 1 To d
If Cells(i, "A") = m Then '直前のデータと同じか
'同じ場合は何もしないで次行へ
Else
'----違うならSheet2に書き出し
Worksheets("sheet2").Cells(j, "A") = Worksheets("sheet1").Cells(i, "A")
m = Worksheets("sheet1").Cells(i, "A") '前のデータを変える
j = j + 1 'Sheet2の書き出し行を1行下へ
End If
Next i
End Sub
元シートをコピーして保存しておくこと。
列数がA列だけでない場合は
Worksheets("sheet2").Cells(j, "A") = Worksheets("sheet1").Cells(i, "A")を項目数(列数)-1だけコピーして,この行のすぐ下へ挿入貼りつけして、後
・・"A")=・・・"A")となっているところを
・・"B")=・・・"B")
・・"C")=・・・"C")
・・・
と修正してください。(「・・・」は変えなくてよい部分で表現を略した記しです。)
No.1
- 回答日時:
A1からA10000にデータが入っていると仮定して聞いて下さい。
まず、A列を並べ替えて下さい。
B1に次の数式を入れて下さい。
=IF(A1=A2,"削除対象","")
これを10000行コピペする。
と、ダブっている行のB列に削除対象と表示される。
データ→フィルタ→オートフィルタを選択
B1の三角をクリック
削除対象を選ぶ
この段階で重複したデータのみが表示されます。
まとめて削除する。
で、うまくいくと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 指定した固有番号で、複数の行を削除する方法は? 2 2022/03/30 15:18
- Google Drive Googleスプレッドシートについて質問です。 今作っているデータで、 シート1→ベタ打ちでひたすら 2 2022/05/18 14:27
- Excel(エクセル) excelで1行ごとに一気に削除する方法はありませんか? 3 2022/05/18 20:58
- Excel(エクセル) Excel 行 について 写真のように日付が並んでおり、何年何月何日以前は行削除。といったマクロ等組 2 2023/02/20 12:55
- iPhone(アイフォーン) iphoneのicloud写真データ移動について 3 2022/11/28 18:11
- Excel(エクセル) Excelで作成しているシート(表) 5 2023/06/15 10:20
- Google Drive USB内の圧縮フォルダが開けません。教えて下さい! 1 2022/07/26 18:44
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- Excel(エクセル) Power Query でのデータの一括修正について 2 2022/05/10 02:00
- その他(法律) 携帯電話会社に保管されている解約済み個人情報を消去したい 3 2022/08/13 23:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで1列に500行並んだデ...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
Excelで2行単位のソートの出来...
-
excel:別シートの値を飛び飛び...
-
エクセルで、重複データを除外...
-
Excelで2つのデータの突合せを...
-
Excelの30個ずつの平均値の出し方
-
エクセル~空白のセルのある行...
-
エクセルの複数のセルを一括で...
-
A1セルに入力したら、入力時間...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
複数の文字列のいずれかが含ま...
-
エクセルで既に入力してある文...
-
エクセル ボタンを押すとセルの...
-
Excelの入力規則で2列表示したい
-
ある倍数だけを塗りつぶす方法 ...
-
Excelで年月日データから下二桁...
-
IF関数で0より大きい数値が入力...
-
空白でないセルの値を返す方法...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで1列に500行並んだデ...
-
エクセルで日付から日にちを削...
-
複数の条件に合う行番号を取得...
-
Excelで2つのデータの突合せを...
-
Excelで2行単位のソートの出来...
-
excel:別シートの値を飛び飛び...
-
エクセルで、重複データを除外...
-
Excelの30個ずつの平均値の出し方
-
Countifよりも早く重複数をカウ...
-
VBA 数式を最終行までコピー
-
エクセルVBA C列に特定の文字列...
-
VBA 大きなtxtテキストファ...
-
エクセルで横並びの複数データ...
-
エクセル~空白のセルのある行...
-
エクセル2016にて、行挿入&コピ...
-
500行の中から、多い順に抽出す...
-
エクセルで1つの会社名に対して...
-
Excel VBA 【QueryTables.Add】...
-
Excelで社員の本名をニックネー...
-
Excelでデーターが多いので、平...
おすすめ情報