Excelで重複削除ができない!空白・半角全角・隠し文字で失敗する原因と解決策
Excelで重複データを削除しようとしたのに「あれ?うまく認識されない…」と困った経験はありませんか?一見同じに見えるデータでも、Excelが「違うもの」と判断してしまう原因は、目に見えない空白文字や半角/全角の違い、さらには特殊な隠し文字にあることがほとんどです。
この記事では、Excelの「重複の削除」機能が期待通りに動作しない一般的な原因を深掘りし、TRIM関数やJIS/ASC関数といった強力なツールを使って、正確に重複データを特定・削除するための具体的な手順を解説します。初級者から中級者まで、現場で今すぐ使える実用的なテクニックを身につけましょう。
なぜExcelの「重複の削除」はうまくいかないのか?
Excelの「重複の削除」機能は非常に便利ですが、以下のような「見えない違い」があると、正しく重複を認識できません。
- 空白文字(スペース): データの前後に半角や全角のスペースが含まれている場合。例:
"りんご"と"りんご "はExcelにとって別物です。 - 半角と全角の違い: 同じ意味の文字でも、半角と全角が混在している場合。例:
"ABC"(全角)と"ABC"(半角)は別物です。 - 隠し文字(制御文字、改行コードなど): 目には見えない特殊な文字が含まれている場合。Webサイトからコピー&ペーストしたデータによく見られます。
- データ型の不一致: 数字が文字列として保存されている場合など。
これらの問題は、特に異なるシステムからデータをインポートしたり、複数人が手入力したりする際に頻繁に発生します。
解決策:データクレンジングの基本テクニック
重複削除を成功させるには、まずデータを「クレンジング(整形)」することが重要です。ここでは、具体的な関数を使った解決策を紹介します。
1. TRIM関数で不要な空白を除去する
TRIM関数は、文字列の先頭と末尾にあるスペース(半角スペース)をすべて削除し、単語間のスペースは1つにまとめます。全角スペースは対象外なので注意が必要です。
使用方法:
- 重複削除したいデータ(例: A列)の隣に作業列(例: B列)を挿入します。
- 作業列のセル(例: B2)に以下の関数を入力します。
- B2セルをオートフィルでB列全体に適用します。
=TRIM(A2)
これで、半角スペースによる見えない違いを解消できます。
2. JIS関数/ASC関数で半角と全角を統一する
半角と全角が混在している場合は、どちらか一方に統一することで、Excelが同じデータとして認識できるようになります。
- JIS関数: 半角英数字とカタカナを全角に変換します。
- ASC関数: 全角英数字とカタカナを半角に変換します。
使用方法(例: 全角に統一する場合):
- 作業列に以下の関数を入力します。
- オートフィルでB列全体に適用します。
=JIS(A2)
使用方法(例: 半角に統一する場合):
=ASC(A2)
TRIM関数と組み合わせることで、より強力なクレンジングが可能です。
=JIS(TRIM(A2))
この式は、まず半角スペースを除去し、その後で全角に統一します。
3. CLEAN関数やSUBSTITUTE関数で隠し文字を除去する
Webサイトからコピー&ペーストしたデータには、目に見えない制御文字(改行コードなど)が含まれていることがあります。これらはCLEAN関数で除去できます。
=CLEAN(A2)
また、特に厄介なのが「非改行スペース(No-Break Space)」です。これはCHAR(160)で表され、TRIM関数では除去できません。SUBSTITUTE関数を使って置換します。
=SUBSTITUTE(A2,CHAR(160),"")
これらの関数も組み合わせて使用することで、より堅牢なデータ整形が可能です。
=JIS(TRIM(SUBSTITUTE(CLEAN(A2),CHAR(160),"")))
この式は、CLEANで制御文字を除去し、SUBSTITUTEで非改行スペースを除去し、TRIMで半角スペースを除去し、JISで全角に統一するという、包括的なクレンジングを行います。
最終的な重複削除の実行手順
データクレンジングが完了したら、いよいよ重複削除を実行します。
- 作業列の値を固定する: 関数で整形した作業列(例: B列)をコピーし、元の場所または新しい場所に「値のみ貼り付け」で固定します。これにより、関数ではなく整形後の実際の値がシートに残り、元のデータ(A列)を削除しても影響を受けなくなります。
- 重複の削除を実行する:
- 整形後のデータを含む列(または範囲)を選択します。
- 「データ」タブの「データツール」グループにある「重複の削除」をクリックします。
- ダイアログボックスで、重複をチェックしたい列にチェックを入れ、「OK」をクリックします。
これで、目に見えない違いに悩まされることなく、正確に重複データを削除できるはずです。
まとめ:もう重複削除で悩まない!
Excelで重複削除がうまくいかない主な原因は、空白文字、半角/全角の違い、そして目に見えない特殊文字にありました。
TRIM関数で半角スペースを除去JIS/ASC関数で半角全角を統一CLEAN/SUBSTITUTE関数で隠し文字を除去
これらの関数を適切に組み合わせ、作業列でデータを整形し、「値のみ貼り付け」で固定してから「重複の削除」を実行することで、どんなに厄介な重複データも正確に処理できるようになります。
この記事で紹介したテクニックは、データの品質を向上させ、分析作業を効率化するための強力な武器となります。ぜひ、日々の業務で活用してみてください。


コメント