※本ページにはプロモーション(広告)が含まれています
【2026年最新版】Excelの重複削除が正しく動かない・削除できない原因と対処法
Excelの「重複の削除」機能を使ったのに、明らかに同じデータが残ってしまう——そんな経験はありませんか?「ちゃんと同じ名前なのに削除されない」「実行しても何も変わらない」という状況は、多くのExcelユーザーが直面する典型的なトラブルです。
結論からお伝えすると、重複削除が正しく動かない原因の9割以上は「データの見た目は同じでも、内部的に異なる文字が混入している」ことが原因です。スペースの有無、全角・半角の違い、大文字・小文字の差異など、目には見えない違いがExcelの重複判定を狂わせています。
この記事では、重複削除が動かない6〜8つの主な原因と、それぞれの具体的な対処法を手順形式で解説します。COUNTIF関数・条件付き書式・Power Queryを使った代替方法も合わせて紹介するので、どんなケースにも対応できます。
この記事でわかること
- Excelの「重複の削除」機能の基本的な使い方と場所
- 重複削除が正しく動かない6〜8の具体的な原因
- 原因別の対処法(TRIM・CLEAN・ASC関数の使い方)
- COUNTIFを使った重複チェック方法
- 条件付き書式で重複を色付けする方法
- Power Queryで確実に重複削除する方法
- よくある落とし穴と注意点
重複削除機能の基本:場所と使い方
まずはExcelの「重複の削除」機能の基本を確認しておきましょう。この機能を正しく理解することで、問題の原因も見つけやすくなります。
重複の削除の場所
重複削除機能は次の場所にあります:
- データが入力されているセル範囲を選択する
- 上部メニューの「データ」タブをクリックする
- 「データツール」グループの中にある「重複の削除」ボタンをクリックする
- 確認ダイアログが開くので、重複チェックする列を選択して「OK」をクリックする
操作後、「X個の重複する値が見つかり、削除されました。Y個の一意の値が保持されます。」というメッセージが表示されます。
重複削除の判定ルール
Excelの重複削除は、指定した列の値が完全に一致する行を重複と見なして削除します。「完全一致」という点が重要で、1文字でも異なれば別データとして扱われます。この厳密な判定が、重複削除が思い通りに動かない原因になっています。
重複削除が正しく動かない主な原因7つ
以下の原因を1つずつ確認してください。複数の原因が重なっているケースも多いです。
原因1:セルの前後に余分なスペースが入っている
最も多い原因です。「山田太郎」と「山田太郎 」(末尾にスペース)は、人間の目には同じに見えますが、Excelは別データとして認識します。コピー&ペーストで作ったデータや、外部システムからインポートしたデータに特に多く見られます。
また、セルの先頭・末尾だけでなく、文字と文字の間に余分なスペースが入っているケースもあります。「山田 太郎」(名前の間にスペース2つ)と「山田 太郎」(スペース1つ)も別データです。
原因2:全角と半角が混在している
「Excel」(半角英字)と「Excel」(全角英字)は別のデータです。同様に、「123」(全角数字)と「123」(半角数字)、「(括弧)」と「(括弧)”」も別データとして扱われます。
特に日本語入力モードのまま英数字を入力したり、異なるシステム間でデータを連携したりするときに全角・半角の混在が起きやすいです。
原因3:大文字・小文字の違いがある
Excelの重複削除は、英字の大文字・小文字を区別しません。「Excel」「EXCEL」「excel」はすべて同じデータとして扱われ、重複削除の対象になります。
逆に言えば、これが原因で「削除されすぎてしまう」問題が起きることがあります。大文字・小文字を区別した重複削除がしたい場合は、後述のCOUNTIF関数や Power Queryを使う必要があります。
原因4:セルに改行が含まれている
セル内でAlt+Enterを押して入力した改行(改行コード)も、重複判定に影響します。「山田太郎(改行あり)」と「山田太郎(改行なし)」は別データです。
外部ファイル(CSVなど)からインポートしたデータには、目には見えない制御文字が含まれていることがあり、これも重複削除の妨げになります。
原因5:セルが結合されている
データ範囲内に結合セルが含まれていると、重複削除を実行できません。「この操作を行うには、すべての結合セルが同じサイズである必要があります」というエラーが表示されることもあります。
ヘッダー行や特定の行でセル結合を使っている場合は、まず結合を解除してから重複削除を実行する必要があります。
原因6:フィルターがかかっている
データにオートフィルターがかかっている状態で重複削除を実行すると、フィルターで非表示になっている行を含めた全データに対して処理が行われます。「見えているデータの中だけで重複削除したい」という場合は、フィルターを使った絞り込みでは対応できません。
原因7:データがテーブル形式になっていない(または意図せずテーブルになっている)
通常のセル範囲では重複削除が正常に動作するのに、Excelのテーブル機能(Ctrl+Tで変換したもの)では挙動が変わることがあります。テーブル内での重複削除は列単位での動作となり、意図しない結果になることがあります。
逆に、テーブル形式にすることで重複削除が正常に動作するようになるケースもあります。
原因8:選択範囲が正しくない
重複削除を実行する前の選択範囲が適切でない場合も問題が起きます。ヘッダー行を含めているかどうか、またチェックする列の選択が正しいかを確認してください。「先頭行をデータの見出しとして使用する」のチェックが外れていると、1行目もデータとして扱われてしまいます。
原因別の具体的な対処法
対処法1:TRIM関数でスペースを除去する
余分なスペースを取り除くには、TRIM関数を使います。TRIM関数は先頭・末尾のスペースをすべて削除し、文字間の連続したスペースを1つに整理します。
手順:
- 空いている列(例:B列)に
=TRIM(A1)と入力する - 数式を必要な行数分コピーする
- B列を全選択してコピーする(Ctrl+C)
- A列を選択し、「貼り付け」→「値の貼り付け」(Ctrl+Alt+V → V → Enter)を実行する
- B列(作業用)を削除する
- 改めて「重複の削除」を実行する
=TRIM(SUBSTITUTE(A1," ","")) のようにSUBSTITUTE関数を組み合わせます(” ” は全角スペース)。
対処法2:CLEAN関数で改行・制御文字を除去する
セル内の改行や印刷できない制御文字を取り除くには、CLEAN関数を使います。
手順:
- 空いている列に
=CLEAN(A1)と入力する - 数式をコピーして、値として貼り付けし直す(TRIMと同様の手順)
- 改めて「重複の削除」を実行する
スペースと改行の両方が混在している場合は、TRIMとCLEANを組み合わせます:
=TRIM(CLEAN(A1))
対処法3:ASC関数・JIS関数で全角・半角を統一する
全角・半角の混在を解消するには、ASC関数(全角→半角)またはJIS関数(半角→全角)を使います。どちらに統一するかは、データの用途に合わせて決めてください。
全角を半角に統一する場合(ASC関数):
=ASC(A1)
半角を全角に統一する場合(JIS関数):
=JIS(A1)
スペース除去と全角・半角統一を同時に行うには:
=TRIM(CLEAN(ASC(A1)))
この数式を別の列に入力し、値として貼り付け直してから重複削除を実行してください。
対処法4:セルの結合を解除する
結合セルが含まれている場合は、先に結合を解除する必要があります。
手順:
- Ctrl+A で全選択する(またはデータ範囲を選択する)
- 「ホーム」タブ → 「配置」グループの「セルを結合して中央揃え」の右の▼をクリックする
- 「セル結合の解除」をクリックする
- 結合が解除されたら「重複の削除」を実行する
対処法5:フィルターを解除してから実行する
フィルターがかかっている場合の対処法:
手順:
- 「データ」タブ → 「並べ替えとフィルター」グループの「フィルター」ボタンをクリックして、フィルターをオフにする
- または「データ」タブ → 「クリア」をクリックしてフィルターをすべて解除する
- フィルターが完全にオフになったことを確認してから「重複の削除」を実行する
対処法6:選択範囲とヘッダーの設定を確認する
手順:
- データ範囲内のセルを1つ選択する(または範囲全体を選択する)
- 「データ」タブ → 「重複の削除」をクリックする
- ダイアログが開いたら、「先頭行をデータの見出しとして使用する」のチェックが正しく設定されているか確認する(ヘッダー行がある場合はチェックを入れる)
- 重複チェックしたい列にチェックが入っているか確認してから「OK」をクリックする
重複チェック・削除の代替方法
「重複の削除」機能では対応できないケースや、削除前に重複を確認してから対処したい場合に便利な代替方法を紹介します。
方法1:COUNTIF関数で重複を検出する
COUNTIF関数を使うと、各データが何件あるかをカウントして重複を検出できます。削除の前に「どのデータが重複しているか」を把握したい場合に特に便利です。
手順:
- B1セルに以下の数式を入力する(A列にデータがある場合):
=COUNTIF($A$1:$A$100,A1)>1 - この数式をB列の必要な行数分コピーする
- 「TRUE」と表示されたセルが重複データです
- B列でフィルターをかけて「TRUE」だけを表示し、手動で確認・削除する
=COUNTIF($A$1:$A$100,A1)(>1 なし)にすると、そのデータが何件あるかの数が返ります。「2」以上のデータが重複しています。
注意点: COUNTIF関数は大文字・小文字を区別しません。また、スペースや全角・半角の違いも区別しないケースがあります(完全一致ではなく、部分的な照合になる場合あり)。厳密なチェックが必要な場合は Power Query を使ってください。
方法2:条件付き書式で重複をハイライトする
条件付き書式を使うと、重複しているセルを色付けして視覚的に確認できます。削除する前に「どのデータが重複しているか」を把握したい場合に便利です。
手順:
- チェックしたいセル範囲を選択する(例:A1:A100)
- 「ホーム」タブ → 「スタイル」グループの「条件付き書式」をクリックする
- 「セルの強調表示ルール」→ 「重複する値」をクリックする
- 書式(色)を選択して「OK」をクリックする
- 重複するデータが指定した色で強調表示される
強調表示されたセルを目視で確認し、どのデータを残すかを判断してから削除作業を行えます。確認が終わったら、条件付き書式は「条件付き書式」→「ルールのクリア」で解除できます。
方法3:Power Queryで重複削除する(最強の方法)
Power QueryはExcel 2016以降に搭載されている高機能なデータ変換ツールで、複雑な重複削除にも対応できます。スペースや全角・半角の前処理も一括して行えます。
基本的な重複削除の手順:
- データ範囲内のセルを1つ選択する
- 「データ」タブ → 「データの取得と変換」グループの「テーブルまたは範囲から」をクリックする
- Power Queryエディターが開いたら、重複チェックしたい列の列ヘッダーを右クリックする
- コンテキストメニューから「重複の削除」をクリックする(複数列を選択して右クリックすることも可能)
- 「ホーム」タブ → 「閉じて読み込む」をクリックして結果を書き出す
Power Queryでスペースを除去してから重複削除する手順:
- Power Queryエディターで対象の列を選択する
- 「変換」タブ → 「書式」→ 「トリミング」をクリックする(先頭・末尾のスペースを除去)
- 同じく「変換」タブ → 「書式」→ 「クリーン」で制御文字を除去する
- 列ヘッダーを右クリック → 「重複の削除」を実行する
- 「閉じて読み込む」で結果を出力する
よくある落とし穴と注意点
| 落とし穴・注意点 | 内容 | 対策 |
|---|---|---|
| 元に戻せない場合がある | 重複削除は元に戻せることもあるが、ファイルを保存してしまうと復元できない | 実行前にファイルを別名保存(バックアップ)しておく |
| 最初の行だけ残る | 重複している複数行のうち、最も上(先頭)の行だけが残り、他は削除される | 残したい行が先頭になるよう、事前に並べ替えておく |
| 数値と文字列の違い | 「123」(数値)と「123」(文字列)は見た目が同じでも別データ | VALUE関数または書式設定で型を統一する |
| 日付・時刻の書式問題 | 「2026/3/5」と「2026-03-05」は表示が違うだけで同じ日付のことがある(または異なるシリアル値のことも) | 日付書式を統一し、シリアル値が一致しているか確認する |
| 複数列での重複判定 | 複数列を選択すると「全列が一致した場合のみ重複」と判定される | 重複判定に使う列を慎重に選択する |
| 非表示の列・行の影響 | 非表示になっている列も重複判定の対象になる | 不要な列を非表示ではなく削除してから実行する |
| ゼロ始まりの数値 | 「01234」(文字列)と「1234」(数値)は異なるデータ | TEXT関数で書式を統一するか、すべて文字列に変換する |
| 大文字・小文字の区別 | 「Excel」と「EXCEL」は重複として削除されてしまうが、区別したい場合は通常の重複削除では対応不可 | EXACT関数またはPower Queryを使って区別する |
補足:EXACT関数で大文字・小文字を区別して重複チェックする方法
Excelの重複削除は大文字・小文字を区別しないため、「Apple」と「apple」を別データとして扱いたい場合は通常の方法では対応できません。このような場合はEXACT関数を使います。
手順:
- B1セルに以下のような数式を入力する(A列にデータがある場合):
=SUMPRODUCT((EXACT(A1,$A$1:$A$100))*1)>1 - この数式をB列にコピーする
- 「TRUE」は大文字・小文字を含めて重複しているデータを示す
より確実に大文字・小文字を区別した重複削除を行いたい場合は、Power Queryの「重複の削除」機能を使うことをおすすめします(Power Queryは大文字・小文字を区別して処理します)。
よくある質問(FAQ)
Q1:「重複の削除」を実行したら「重複する値は見つかりませんでした」と表示されたのに、見た目は同じデータがある。なぜ?
A: スペース、全角・半角の違い、改行など「見えない違い」が含まれているためです。対象のセルを2つ選択してF7(スペルチェック)や数式バーで内容を比較してみてください。TRIM・CLEAN・ASC関数で前処理をしてから再試行することで解決することがほとんどです。
Q2:重複削除で削除されすぎた。元に戻す方法は?
A: Ctrl+Z でアンドゥ(元に戻す)を試してください。ファイルを保存する前であれば、アンドゥで元の状態に戻せます。ただし、ファイルを上書き保存してしまった場合は、Excelのバージョン履歴(OneDrive利用時)か、事前に作成したバックアップファイルから復元するしかありません。重複削除の前には必ずバックアップを取る習慣をつけることを強くおすすめします。
Q3:「重複の削除」ボタンがグレーアウトして押せない。どうすれば?
A: シートが保護されている可能性があります。「校閲」タブ → 「シートの保護の解除」をクリックして保護を解除してから試してください。また、データがテーブル形式になっている場合、テーブル外のセルを選択していると「重複の削除」がグレーアウトすることがあります。テーブル内のセルを選択した状態で「テーブルデザイン」タブから実行するか、テーブルを通常の範囲に変換してから試してください。
Q4:複数の列があるデータで、特定の1列だけを基準に重複削除したい場合は?
A: 「重複の削除」ダイアログで、チェックする列を1つだけにチェックを入れてください。例えば「顧客ID」の列だけにチェックを入れると、顧客IDが同じ行(他の列の値が異なっていても)が重複として削除されます。削除されるのは行全体なので、残したい情報がある場合は事前に確認してください。
Q5:COUNTIFで重複チェックしたら正しいのに、「重複の削除」では削除されないのはなぜ?
A: COUNTIFは大文字・小文字を区別せず、また部分的にスペースを無視する場合があります。一方、「重複の削除」はより厳密に完全一致で判定します。COUNTIFが「重複」と判定したデータを「重複の削除」が削除しない場合、実際には厳密には違うデータ(スペースや全角・半角の違いがある)ということです。TRIM・CLEAN・ASC関数で前処理を行ってから再試行してください。
Q6:Power Queryを使うとデータが別シートに出力されてしまう。元のシートで完結させたい。
A: Power Queryの「閉じて読み込む」の右の▼をクリックし、「閉じて次に読み込む」を選択してください。ダイアログが開いたら「既存のワークシート」を選択し、出力先のセルを指定することで、任意のシートに出力できます。ただし、元のデータを直接上書きすることはできないため、別の場所に出力してから元データと置き換える手順が必要です。
Q7:重複削除後、行数が予想より少ない(削除されすぎた)。どう防ぐ?
A: 重複削除前に条件付き書式で重複をハイライトし、削除対象のデータを確認してから実行することをおすすめします。また、複数列での判定を行っている場合、意図せず多くの列でチェックしている可能性があります。ダイアログで「すべて選択解除」してから必要な列だけにチェックを入れ直してください。
Q8:重複削除後、データの順番が変わってしまった。元の順番を保つ方法は?
A: 「重複の削除」機能は行の順番を変更しません。最初に現れた行(最も上の行)を残し、それ以降の重複行を削除するという動作です。もし並べ替えが起きているように見える場合は、重複削除の前に並べ替えを実行した可能性があります。元の順番が重要な場合は、作業前に連番列(1、2、3…)を追加しておき、作業後に連番列を基準に並べ替えることで元の順序を復元できます。
Q9:CSVからインポートしたデータで重複削除がうまくいかない。
A: CSVファイルからインポートしたデータには、BOM(Byte Order Mark)や見えない制御文字が含まれることがよくあります。まずCLEAN関数で制御文字を除去し、次にTRIM関数でスペースを除去してから重複削除を試してください。また、文字コードの違いによって全角・半角が混在する場合もあるので、ASC関数またはJIS関数での統一も合わせて実行することをおすすめします。
Q10:大量データ(数万行)で重複削除が遅い。速くする方法は?
A: 大量データの場合はPower Queryを使うと効率的です。また、TRIM・CLEAN・ASC関数での前処理も全行分の数式を計算させると時間がかかります。Excelの計算を「手動」に切り替えて(「数式」タブ → 「計算方法の設定」→「手動」)作業し、前処理後に値として貼り付け直してから計算モードを「自動」に戻す方法も有効です。
まとめ
Excelの「重複の削除」が正しく動かない主な原因と対処法をまとめます:
| 原因 | 対処法 |
|---|---|
| 余分なスペースが混入 | TRIM関数でスペースを除去 |
| 改行・制御文字が混入 | CLEAN関数で制御文字を除去 |
| 全角・半角が混在 | ASC関数またはJIS関数で統一 |
| セルが結合されている | 結合を解除してから実行 |
| フィルターがかかっている | フィルターをオフにしてから実行 |
| 選択範囲が正しくない | ヘッダー設定と選択列を確認 |
| 数値と文字列の型が混在 | VALUE関数または書式設定で型統一 |
| 大文字・小文字の区別が必要 | EXACT関数またはPower Queryを使う |
最も確実な対処法は、「まずTRIM(CLEAN(ASC(A1)))で前処理してから重複削除を実行する」という流れです。これだけで大半の問題は解決します。
複雑なデータやより確実な処理が必要な場合はPower Queryが強力な選択肢です。重複削除の前に必ずバックアップを取ることも忘れずに。削除後のデータ件数が予想と合わない場合は、Ctrl+Zでアンドゥしてから原因を調べましょう。
この記事で紹介した方法を試しても解決しない場合は、COUNTIFや条件付き書式で重複箇所を可視化してから、1件ずつ確認する方法も有効です。データの品質を高めることが、Excelでのデータ管理を効率化する近道です。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!