Excelで重複を削除しつつ、その他の行の値を保持する方法は?
日々のデータ処理において、Excelの「重複の削除」機能はしばしば行全体を削除してしまい、他の列のデータやワークシート全体の構造に悪影響を与えることがあります。この記事では、指定した列の重複値のみをクリアし、それ以外の行データはそのまま残すための複数の方法をご紹介します。フィルター付きの数式、VBAコード、Kutoolsアドインの活用法などが含まれており、それぞれの典型的なユースケース、利点、注意点も解説しています。用途や目的に合わせて、最適な方法をお選びいただく参考になれば幸いです。
![]() | ![]() |
フィルター(3ステップ)を使って重複を削除し、他の行の値を保持する方法
VBA(4ステップ)を活用して重複を削除し、他の行の値を保持する方法
Kutools for Excel(2ステップ)で重複を削除し、他の行の値を保持する方法
フィルターを使って重複を削除し、他の行の値を保持する方法
データの構造を維持しつつ重複をクリアするには、シンプルな数式とExcelのフィルター機能を組み合わせる方法が信頼できます。この方法では、1つの列から重複部分だけを視覚的に識別して選択的に削除できるため、各行の他の情報がそのまま保たれます。中小規模のデータセットに特に適しており、ユーザー自身が削除プロセスを完全にコントロールできます。
1. データ範囲に隣接する空白セル(例えば、データがA2から始まる場合はD2)を選び、次の数式を入力します: =A3=A2この数式は、上のセルと比較して重複しているかを判定します。必要な範囲までフィルハンドルを下にドラッグして適用してください。下記のスクリーンショットをご参照ください。
2. 次に、新たに追加した数式の列も含めてデータ範囲全体を選択し、 データ > フィルター をクリックしてフィルター機能を有効にします。これにより、重複と判定された行のみを絞り込み表示できます。
3. 数式の列(例:列D)の フィルターアイコン をクリックし、ドロップダウンリストから TRUEのみを選択します。これで(最後以外の)すべての重複が表示されます。
4. OKをクリックすると、すべての重複セルが表示されます。これらのセルを選択し、 Delete キーを押すことで、他の行のセルを変更することなく重複値のみをクリアできます。これにより、指定列の重複値だけが削除され、行のデータ構造は維持されます。スクリーンショットをご参照ください。
ヒント:削除対象は必ず重複セルのみを選択し、行全体は選択しないよう注意してください。これにより、必要な値のみを削除できます。
5. 表示を通常に戻すには、 データ > フィルター をもう一度クリックしてフィルターを解除します。不要になった補助用の数式列があれば削除またはクリアしてください。指定した列の重複のみがなくなり、他の行データはそのままです。
利点: VBAやアドイン不要で、手順が明確。手動ミスも簡単に修正可能です。
欠点: 完全自動化ではなく手動作業が発生するため、非常に大きなデータセットでは効率が下がります。
VBAを使って重複を削除し、他の行の値を保持する方法
VBAを用いると、対象列の重複のみを自動的に削除し、同一行の他データには一切手を加えずに作業できます。この方法は、繰り返しデータ整理を行う場合や、大容量データを頻繁に扱う場合に最適です。VBAにより手作業の失敗を防ぎ時間短縮にもなりますが、Excelでの簡単なスクリプト作成に慣れた方向けです。
1. Alt + F11 を押して、Microsoft Visual Basic for Applications のエディターウィンドウを開きます。
2. VBAウィンドウで「挿入」→「モジュール」を選択し、下記のコードを新しいモジュールに貼り付けます。このコードは、選択範囲の重複値のみを削除し、他の行情報はそのまま保持します。
VBA:重複を削除しつつ行の値を保持する方法
Sub RemoveDuplicates()
'UpdatebyExtendoffice20160918
Dim xRow As Long
Dim xCol As Long
Dim xrg As Range
Dim xl As Long
On Error Resume Next
Set xrg = Application.InputBox("Select a range:", "Kutools for Excel", _
ActiveWindow.RangeSelection.AddressLocal, , , , , 8)
xRow = xrg.Rows.Count + xrg.Row - 1
xCol = xrg.Column
'MsgBox xRow & ":" & xCol
Application.ScreenUpdating = False
For xl = xRow To 2 Step -1
If Cells(xl, xCol) = Cells(xl - 1, xCol) Then
Cells(xl, xCol) = ""
End If
Next xl
Application.ScreenUpdating = True
End Sub
3. スクリプトを実行するには、 F5 を押すか、 実行 ボタンをクリックします。対象範囲を選択するようダイアログが表示されるので、削除したい範囲を選んで OK で確定してください。
4. マクロが実行され、指定した範囲内の重複値のみが削除されます(その位置は空白に)。他の行データはそのまま残るため、ワークシートの構造も維持できます。
利点: 大規模または繰り返し処理で高い効率を発揮し、手作業の手間を最小限に抑えます。
欠点: マクロを有効化し、VBAの基本知識が必要です。多くの場合、操作は元に戻せないため、バックアップの上で作業することを推奨します。
Kutools for Excelを使って重複を削除し、他の行の値を保持する方法
Kutools for Excel を導入していれば、範囲や列から重複値だけを簡単に削除し、その他の行データをそのまま保持することが可能です。Kutoolsは、頻繁にExcelでデータリストの整理・重複処理が必要な方にとって、直感的かつ効率的に作業できる便利な機能がそろっています。
Kutools for Excel をインストール済みの場合は、データや好みに合わせて次の2つの方法どちらでもご利用いただけます。
方法1:同じセルを結合する(2ステップ)
1. 重複値をハイライトし、次に次の手順に進みます。 Kutools > 結合・分割 > 同じセルを結合するをクリックします。これにより、隣接する同一の重複値が1つのセルにまとめられ、最初の値以外を簡単にクリアできます。
2. 結合後、結合セルを選択して ホーム > セルを結合して中央揃え > セルの結合解除 をクリックして標準セルに戻します。重複部は空白セルとして表示され、各グループの一意の値だけが残ります。
下記の例のように、重複値が削除され、行データはきちんと保持されます。
方法2:重複&ユニークセルを選択(4ステップ)
1. 重複を削除したいリスト全体または範囲を選択し、次の手順に進みます。 Kutools > 選択 > 重複&ユニークセルの選択.
2. 重複&ユニークセルの選択 ダイアログボックスで、 重複(初回除く) を ルール 欄で選択します。これで、初回出現後のすべての重複がハイライトされます。
3. OKをクリックすると、選択された重複セル数が通知されます。再度 OK.
4. 選択された重複値を Delete キーで削除するだけで、他の行のデータを保持したまま重複のみをクリアできます。
利点: 数式やコード不要で操作が非常に簡単・高速です。さらに一括処理にも対応しています。
欠点: 追加インストールが必要となります。
まとめとトラブルシューティング:ここで紹介した各手法は、Excelで重複値だけを削除し、その他の行データをそのまま維持する現実的な選択肢です。フィルターや数式を使う方法は手順が明確で目視しながら進められ、VBAは繰り返し処理や一括処理に便利です。Kutoolsは定期的な作業に最適。必ず選択した範囲を二重確認し、大きな編集の前はバックアップを取りましょう。もし重複の見逃しや予期せぬデータ消失が発生した場合は、補助列の内容や並べ替え状況、選択範囲を再確認してから削除を実施してください。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!