【Excel】「重複の削除」が効かない!目に見えない「制御文字」や空白を一括除去して正常化する

【Excel】「重複の削除」が効かない!目に見えない「制御文字」や空白を一括除去して正常化する
🛡️ 超解決
  • TRIM関数とCLEAN関数を組み合わせて、余計な空白と印刷不可文字を同時に除去する: セル内の先頭や末尾にある空白を削るTRIM関数と、改行やタブなどの制御文字(ASCIIコード0〜31)を取り除くCLEAN関数を「=TRIM(CLEAN(A1))」のようにネストさせ、データの「見た目」と「実体」を一致させます。
  • 「置換」機能でWeb由来の特殊な空白「CHAR(160)」を通常の空白に変換する: Webサイトからコピーしたデータに混入しがちな「改行なしスペース( )」はTRIM関数では消せません。検索する文字列に「Alt + 0160」を入力して一括置換することで、重複判定を阻む最大の要因を排除します。
  • パワークエリの「トリミング」と「クリーンアップ」機能でデータソースを根本から洗浄する: 大規模なデータセットの場合は、パワークエリのエディター上で列を選択し、変換メニューから「トリミング(空白除去)」と「クリーン(制御文字除去)」を連続実行することで、Excelシートに読み込む前にデータの一貫性を保証します。
  • ADVERTISEMENT

    1. なぜ「同じに見える」のに重複として削除されないのか

    Excelの「重複の削除」機能は、セルの内容が「完全に一致」していることを条件に動作します。しかし、実務の現場では、目視では全く同じに見える「株式会社A」と「株式会社A」が、別々のデータとして居座り続けるケースが頻発します。この時、データの末尾に「目に見えない半角スペース」が紛れ込んでいたり、システムから出力された際に「改行コード」や「タブ文字」が末尾に付着していたりすることがほとんどです。

    2026年現在のデータクレンジングにおいて、こうした「不可視のノイズ」を放置することは、集計ミスやVLOOKUP関数のエラーを招く致命的なリスクとなります。人間には見えなくても、Excelのエンジンにとっては「コード32の空白があるかないか」は絶対的な違いです。本稿では、重複削除を確実に成功させるための、誠実かつ徹底的なデータ洗浄術を詳説します。

    2. 手順①:TRIMとCLEANの併用による「基本洗浄」

    まず試すべきは、Excelの標準関数を用いた「計算による洗浄」です。これにより、多くの制御文字と一般的な空白を一度に処理できます。

    1. 元データの隣に作業用の列を作成します。
    2. =TRIM(CLEAN(A1)) という数式を入力します。
    3. CLEAN関数:セル内に含まれる改行、タブ、および印刷できない制御文字(ASCII 0〜31)を消去します。
    4. TRIM関数:単語間のスペースを1つだけ残し、文字列の先頭と末尾にあるすべての空白を削除します。
    5. 数式を下にコピーした後、その範囲を 「値として貼り付け」 で元の列に上書きします。

    ADVERTISEMENT

    3. 手順②:最強の伏兵「CHAR(160)」を狙い撃ちで置換する

    TRIM関数を通しても重複が削除されない場合、原因の多くは「Non-breaking Space(改行なしスペース)」です。これはHTMLなどで多用される特殊な空白で、ExcelのTRIM関数では認識できません。

    1. 対象範囲を選択し、 Ctrl + H を押して「置換」ダイアログを開きます。
    2. 「検索する文字列」のボックスをクリックし、 Altキーを押しながらテンキーで「0160」 と入力します(見た目には何も表示されませんが、特殊な空白が入力されます)。
    3. 「置換後の文字列」には 何も入力しない か、あるいは 通常の半角スペース を入力します。
    4. 「すべて置換」 をクリックします。

    技術的洞察: このCHAR(160)は、システム間のデータ移行やWebサイトのスクレイピングで非常に多く混入します。これを通常の空白(CHAR(32))に置き換えるか消去することで、初めて「重複の削除」が本来の精度を発揮できるようになります。

    4. 手順③:パワークエリによる「構造的クレンジング」

    数万行を超えるデータを扱う場合、関数を埋め込むのは処理が重くなります。パワークエリの標準機能を使って、より誠実かつ確実に洗浄を行いましょう。

    1. データ範囲を選択し、 「データ」タブ > 「テーブルまたは範囲から」 をクリックします。
    2. パワークエリ・エディターが開いたら、対象の列を右クリックします。
    3. 「変換」 > 「トリミング」 を選択します(前後の中身のない空白を消去)。
    4. 再度同じ列を右クリックし、 「変換」 > 「クリーン」 を選択します(制御文字を消去)。
    5. 「閉じて読み込む」でExcelに戻ります。

    5. 比較:データの汚れの種類と最適な洗浄手法

    汚れの原因 正体 解決策 備考
    前後の空白 半角/全角スペース TRIM関数 最も一般的な原因。
    改行・タブ 制御文字(ASCII 0-31) CLEAN関数 セル内で改行されている場合。
    Webの空白 CHAR(160) 置換 (Alt+0160) TRIMで消えない頑固な空白。
    不可視文字 Unicode特殊文字 パワークエリ「クリーン」 多言語データで発生しやすい。

    6. 実務上の教訓:重複削除の前に「LEN関数」で検分する誠実さ

    「重複の削除」を闇雲に繰り返す前に、一度 =LEN(A1) という数式で、文字数を数えてみることをお勧めします。例えば「株式会社A」という5文字のデータに対し、LEN関数の結果が「6」であれば、そこには確実に「見えない1文字」が存在しています。

    この「見えない1文字」の存在を事実として突き止めることが、根拠のあるデータクレンジングの第一歩です。道具の機能を疑う前に、まずデータそのものの純度を疑うこと。そして、今回紹介したTRIM、CLEAN、そして特殊置換の3段構えで洗浄を行うこと。この一連のルーチンを身につけることで、不正確な名簿や売上集計といった実務上のトラブルを未然に防ぎ、淀みのないデータ運用を実現できます。

    まとめ:データの「美しさ」が分析の信頼性を担保する

    Excelの「重複の削除」が効かないという問題は、システムの不具合ではなく、データに潜む「微細な不純物」が原因です。TRIM関数による空白除去、CLEAN関数による制御文字の一掃、そしてAlt+0160を用いた特殊空白の置換。これら3つの技術的アプローチを適切に使い分けることで、どのような汚れを含んだデータであっても、完全に正常化させることが可能です。

    データは、私たちが思う以上に「ノイズ」に満ちています。そのノイズを誠実に取り除き、Excelの機能を正しく発揮させる土壌を整えること。それこそが、正確な数値を導き出し、価値ある意思決定を支える実務家としての責任です。今日から、重複削除を行う前には必ず「洗浄のステップ」を挟むようにしてください。そのひと手間が、あなたの作る資料の信頼性を、何物にも代えがたい強固なものへと昇華させるはずです。

    📊
    Excelトラブル完全解決データベース この記事以外にも、100項目以上のエラー解決策をまとめています。困った時の逆引きに活用してください。

    この記事の監修者

    📈

    超解決 Excel研究班

    企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。