KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel で重複文字または重複単語を削除する

著者Xiaoyang変更日

Excel でテキストデータを扱う際、1 つのセル内に重複した文字や繰り返しの単語が含まれていることはよくあります。これは、インポートされたデータやユーザー入力、タグ、商品説明などで特に多く見られます。こうした重複をクリーンアップすれば、読みやすさが向上し、データの一貫性が保たれ、さらに信頼性の高い分析が可能になります。

このガイドでは、Excel で重複する文字や単語を削除するための効果的な方法をいくつかご紹介します。組み込みの数式、Kutools for Excel による高速バッチ処理、カスタマイズ可能な VBA 関数などをご用意しています。お使いのExcel バージョンや技術レベル、ワークフローの要件に応じて、最適な方法をお選びください。

すべての重複文字が削除されます

Excel で重複文字を削除

重複文字の削除とは、セル内の各文字について最初に現れたものだけを残し、後の重複をすべて取り除くことを意味します(例:「)aabbcc」→「abc」)。以下では、この処理を実現するための3 つの実用的な方法をご紹介します。

Excel 数式を使用

Microsoft 365 向け Excel または Excel 2021 以降をご利用の場合、動的配列数式を使って重複する文字を簡単に削除できます。この方法は完全な組み込み機能で、ソースデータに変更があると自動的に結果が更新されるため、数式ベースの解決策を好む方に最適です。

手順:

  1. 結果を表示したい空白セル(例:D2)を選択してください。
  2. 次の数式を入力します:
    =TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)))
  3. Enterキーを押すと、結果が表示されます。
  4. 必要に応じて、フィルハンドルを下にドラッグして、数式を他のセルにも適用してください。
    数式の使用方法

数式の仕組み:

  • MIDはテキストから各文字を抽出します
  • ROWINDIRECTが文字位置を生成します
  • UNIQUE 重複を削除
  • TEXTJOINは結果を文字列に再結合します
注記
  • この方法はExcel 365/2021 以降でのみ動作します
  • #NAME?が表示される場合、お使いのバージョンではこれらの関数がサポートされていない可能性があります

Kutools for Excel を一括で使用

複雑な数式を避けたいときや、大規模なデータセットでより高速かつ手軽に処理したい場合は、Kutools for Excelを使えば、重複文字を一括で簡単に削除できます。

Kutools for Excel—Excel 向けの必須ツールを300 以上搭載!Excel 作業がより迅速・簡単・効率的になります。今すぐダウンロード!

手順:

  1. 重複文字を削除したいセル範囲を選択してください。
  2. Kutoolsテキスト特定の文字を削除
    文字削除機能を有効にする
  3. 特定の文字を削除ダイアログボックスで、重複文字オプションのみをチェックして、OKをクリックします。
    文字削除ダイアログを設定する

結果:

選択した各セル内の重複文字が即座に削除され、最初の出現のみが保持されます。

すべての重複文字が削除されます

メリット:

  • 数式やコーディングは不要
  • すべてのExcel バージョンで動作
  • バッチ処理をサポート
  • シンプルで直感的なインターフェース
  • 大規模データセットで大幅な時間節約

Kutools for Excel— 300 以上の必須ツールでExcel のパフォーマンスを強化し、作業をより迅速かつ簡単に。AI 機能を活用して、スマートなデータ処理と生産性の向上を実現します。今すぐ入手


ユーザー定義関数を使用

お使いのExcel バージョンが動的配列数式をサポートしていない場合や、再利用可能なカスタム解決策をご希望の場合は、重複文字を削除する VBA ユーザー定義関数(UDF)をご利用いただけます。

手順:

  1. Alt F11 キーを押して、VBA エディターを開きます。
  2. [挿入][モジュール]をクリックします。
  3. 次のコードを貼り付けます:
    VBA コード:重複文字を削除
    Function RemoveDupes1(pWorkRng As Range) As String
    'Updateby Extendoffice
    Dim xValue As String
    Dim xChar As String
    Dim xOutValue As String
    Set xDic = CreateObject("Scripting.Dictionary")
    xValue = pWorkRng.Value
    For i = 1 To VBA.Len(xValue)
        xChar = VBA.Mid(xValue, i, 1)
        If xDic.Exists(xChar) Then
        Else
            xDic(xChar) = ""
            xOutValue = xOutValue & xChar
        End If
    Next
    RemoveDupes1 = xOutValue
    End Function
    モジュールでVBAコードを使用する
  4. Alt Q キーを押すと、VBA エディターが閉じてExcel に戻ります。
  5. 結果を表示したい空白セルに、次の数式を入力します:
    =RemoveDupes1(C2)
    関連する数式を適用する
注記
  • マクロを有効にする必要があります
  • この関数は現在のブックでのみ動作します

補足:ユーザー定義関数で重複単語を削除する

場合によっては、データに文字ではなく単語が繰り返されていることがあります。例えば:

マーケティング,営業,マーケティング,CRM

そのような場合、単語の順序を保ちつつ、重複を除いて一意の単語だけを残したいことがあります。

この方法を使えば、カンマやスペース、セミコロンなどの区切り文字に基づいて重複する単語を簡単に削除できます。

手順:

  1. Alt F11 キーを押して、VBA エディターを開きます。
  2. [挿入][モジュール]をクリックします。
  3. 次のコードを貼り付けます:
    VBA コード:重複単語を削除
    Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
        Dim x
        With CreateObject("Scripting.Dictionary")
            .CompareMode = vbTextCompare
            For Each x In Split(txt, delim)
                If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
            Next
            If .Count > 0 Then RemoveDupes2 = Join(.keys, delim)
        End With
    End Function
    
    モジュールでVBAコード2を使用する
  4. Alt Q キーを押すと、VBA エディターが閉じてExcel に戻ります。 to close the VBA editor and return to Excel.
  5. 結果を表示したい空白セルに、次の数式を入力します:
    =RemoveDupes2(A2,",")
  6. Enter キーを押して結果を取得し、フィルハンドルを下にドラッグして、他のセルにも数式を適用します。
    コード2の関連する数式を適用する
注記
  • この数式では、「,」を「」や「;」などの他の区切り文字に置き換えることができます
  • データが一貫した形式で整っている場合に最適です
  • 複数の区切り文字を使用する場合はカスタマイズが必要になる場合があります

まとめ

Excel で重複文字や重複単語を削除する方法はいくつかあり、それぞれのニーズやExcel 環境に応じて選択できます。

  • 組み込み機能で動的な解決策を好む場合は、Excel の数式を使用してください(Excel 365/2021)。
  • Kutools for Excel を使用すると、数式を使わずにバッチ処理を高速に行えます。
  • 柔軟性が必要な場合や古いバージョンのExcel を使用している場合は、VBA 関数を使用してください。

各方法には独自のメリットがあり、最適な選択肢はワークフロー、技術的な習熟度、データの複雑さによって異なります。大規模なデータセットを扱うほとんどのユーザーにとって、Kutools のようなツールはプロセスを大幅に簡素化し、効率を飛躍的に高めてくれます。


最高のオフィス生産性ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索、ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列を移動非表示列の表示状態を切り替え範囲と列を比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブック&シートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)…他にも多数
Kutools は英語、スペイン語、ドイツ語、フランス語、中国語、および40+の言語をサポートしており、お好みの言語でご利用いただけます!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約するために300 以上の高度な機能を提供します。最も必要な機能を今すぐ入手するには、ここをクリックしてください…


Office Tab は Office にタブインターフェースを導入し、作業を大幅に簡単にします

  • Word、Excel、PowerPoint、Publisher、Access、Visio、Project でタブを使った編集と閲覧を有効にします。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成したりできます。
  • 日々の生産性を50% 向上させ、毎日何百回ものマウスクリックを削減します!

Kutools アドインすべて。インストーラーは1 つだけ

Kutools for Officeスイートには、Excel、Word、Outlook、PowerPoint 用のアドインと Office Tab Pro が含まれており、Office アプリ間で連携するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint のアドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性を合理化
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • ベストバリュー— 個別アドイン購入よりお得