「重複の削除を実行したのに件数が減らない」…
フリーランスとして大量の顧客データを扱う中で、筆者もこの落とし穴に何度かはまった経験がある。
見た目では絶対に気づけないのが、この問題の厄介なところだ。全角・半角の混在や前後のスペース、数値と文字列の型ちがいが原因のケースが多く、「ちゃんと操作したはずなのに消えない」と混乱しがちだ。
この記事では、Excel重複削除できない症状を「消えない・認識されない」パターン別に逆引き形式で整理した。原因さえ特定できれば、対処は5分以内に終わる。
まず症状から原因を特定する
操作に迷う前に、自分がどのパターンに当てはまるかを確認しよう。症状と原因の対応をまとめると次のとおりだ。
| 症状 | 疑うべき原因 |
|---|---|
| ボタンを押しても件数が変わらない | 選択範囲のミス / 重複の条件を満たしていない |
| 同じように見えるのに削除されない | 全角・半角の混在 / 前後のスペース |
| 数値なのに重複と見なされない | 数値と文字列の混在(型の不一致) |
| 削除後に件数が期待より少ない | 意図しない列まで重複チェックされている |
| 予想外の行が消えた | 非表示行のデータが混入している |
以下では各原因を順番に解説する。自分の症状と照らし合わせながら読んでほしい。
原因① 選択範囲がずれている
「重複の削除」は選択したセル範囲の中だけで動作する。これが基本の仕様だ。
たとえばA列だけを選択した状態で実行すると、B列以降は比較対象に入らない。データの一部しか見ていないため、重複として認識されないケースが起きる。
また、空白列が含まれた範囲を手動選択していると、チェック精度がさらに下がる。
「データ内の1セルを選択してから実行」が最も確実な方法だ。空白列の混入も防げる。
原因② 全角・半角の混在で別データと判定される
Excelの重複チェックは、全角と半角を別の文字として扱う。これを知らないと、見た目が同じなのに削除されない現象が延々と続く。
「Excel」と「Excel」(全角)、「1」と「1」(全角数字)は完全に別データだ。外部システムからインポートしたデータや、複数人で入力したリストで特に起こりやすい。
関連:Excelフィルターができない!反映されない原因と解決策を逆引き解説
全角に統一したい場合は JIS関数(ジス:半角を全角に変換する関数)を使う。どちらに合わせるかはデータの用途に応じて選ぼう。
原因③ 前後のスペースが別データにしている
「田中 太郎」と「田中 太郎」——スペースの数や全角・半角がちがうだけで、Excelは完全に別の文字列として認識する。
入力者によってスペースの有無がバラついているデータでは、これが重複削除の最大の障害になりやすい。
TRIM関数(トリム:前後の余分なスペースを除去する関数)で一括解消できる。外部データにはさらに CLEAN関数(クリーン:印刷できない制御文字を除去する関数)を組み合わせるのが効果的だ。
=TRIM(CLEAN(A2))
この数式を作業列に入力し、値貼り付けで元データに上書き、作業列を削除してから「重複の削除」を実行すればよい。
原因④ 数値と文字列が混在している
「1」(数値)と「1」(文字列)はExcelでは別物だ。見た目が完全に一致していても重複とは認識されない。
文字列として保存された数値は、セルの左上に緑の三角マーク(エラーインジケーター)が表示されているので確認できる。
関連:Excel数式が表示されるだけの原因と直し方!計算されない時の解決策
原因⑤ チェックする列の設定が正しくない
「重複の削除」ダイアログのデフォルト設定は、すべての列にチェックが入った状態だ。全列が対象だと「すべての列の値が完全に一致する行だけ」が削除対象になる。
「氏名」列だけで重複を判断したいのに、「登録日」や「ID」まで一致しないと削除されない——という状況が起きる。
実務で見落としがちな落とし穴:非表示行の混入
フィルターで絞り込んだ状態のデータをコピー&ペーストすると、非表示行のデータも一緒に貼り付けられることがある。
この状態で重複削除を実行すると、「見えていた行」だけでなく「非表示だった行」も重複判定に巻き込まれる。予想外の行が消える原因はここにあることが多い。
この問題は重複削除の不具合ではなく、貼り付け時のデータ混入が根本原因だ。重複削除の前にフィルターをすべて解除してデータ全体を確認する習慣をつけるとよい。
フィルターで絞り込んだ状態でコピーするときは、Alt+;(可視セルのみ選択)を使うことで余計な行の混入を防げる。
関連:Excelフィルターができない!反映されない原因と解決策を逆引き解説
重複削除の前にデータをクリーンアップする理由
実は重複削除でつまずく人の多くが、「操作の問題」ではなく「データの状態の問題」で詰まっている。操作は正しくても、データが汚れていれば意図どおりには動かない。
重複削除を実行する前に、次の関数でデータを整えておくのが一番の近道だ。
| 関数名 | 読み方 | 役割 |
|---|---|---|
TRIM() |
トリム | 前後の余分なスペースを除去する |
ASC() |
エーエスシー | 全角文字を半角に統一する |
JIS() |
ジス | 半角文字を全角に統一する |
CLEAN() |
クリーン | 印刷できない制御文字を除去する |
外部データの場合は =TRIM(CLEAN(ASC(A2))) をまとめて適用するのがおすすめだ。スペース・制御文字・全角文字を一度に除去できる。
関連:Excelの数式が反映されない原因と直し方7選【即解決チェックリスト】
まとめ:Excel重複削除できない原因と直し方一覧
ここまで解説した内容を、症状・原因・対処法の3点でまとめる。
| 原因 | 確認方法 | 対処法 |
|---|---|---|
| 選択範囲のミス | 空白列が含まれていないか確認 | データ内の1セルを選択してから実行 |
| 全角・半角の混在 | セルの数式バーで実際の文字を確認 | ASC関数で統一してから削除する |
| スペースの混入 | LEN関数で文字数を比較する | TRIM+CLEAN関数で除去してから削除 |
| 数値と文字列の混在 | 緑の三角マークが出ていないか確認 | 型を統一してから削除する |
| チェック列の設定ミス | ダイアログで全列チェックになっていないか確認 | 「すべて選択解除」後に比較列を絞り込む |
| 非表示行の混入 | フィルターが適用されていないか確認 | フィルター解除後に全データを確認する |
Excel重複削除できない問題のほとんどは、「データの型・文字種が揃っているか」と「選択範囲・チェック列が正しいか」の2点に集約される。
重複削除を実行する前にTRIM・ASC・CLEAN関数でデータをクリーンアップする習慣をつけるだけで、作業の精度は大きく変わる。
なお、削除後に意図しないデータが消えた場合は Ctrl+Z で即座に元に戻せる。重複削除は不可逆な操作ではないので、バックアップさえあれば安心して試せるはずだ。