メインコンテンツへスキップ

Excelセル内の文字列から重複する文字や単語を削除するにはどうすればよいですか?

Author: Xiaoyang Last Modified: 2025-05-23

各セルに重複する文字や単語があり、それらの重複を削除して一意の文字や単語だけを残したいとします。この問題をExcelでどのように解決すればよいでしょうか?

ユーザー定義関数を使用してテキスト文字列から重複する文字を削除

ユーザー定義関数を使用して句読点で区切られた重複する単語を削除


arrow blue right bubble ユーザー定義関数を使用してテキスト文字列から重複する文字を削除

テキスト文字列のリストがあり、次のスクリーンショットに示すように重複する文字を削除する必要がある場合、VBAコードを使ってこれを処理する方法について説明します。

Duplicate characters removed from each cell

1. ALT + F11キーを押したままにすると、Microsoft Visual Basic for Applicationsウィンドウが開きます。

2. 「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。

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

3. その後、このコードを保存して閉じ、ワークシートに戻り、データの隣にある空白セルにこの数式 =removedupes1(A2) A2は重複を削除したいデータセル)を入力します。スクリーンショットをご覧ください:

Formula entered in the first cell

4. そして、この数式を適用したい範囲のセルまでフィルハンドルをドラッグすると、各セルからすべての重複する文字が即座に削除されます。

Formula populated to the below cells

a screenshot of kutools for excel ai

Kutools AIでExcelの魔法を解き放つ

  • スマート実行: セル操作、データ分析、グラフ作成を簡単なコマンドで行います。
  • カスタム数式: ワークフローを合理化するための独自の数式を生成します。
  • VBAコーディング: 簡単にVBAコードを作成し実装します。
  • 数式の解釈: 複雑な数式を簡単に理解できます。
  • テキスト翻訳: スプレッドシート内の言語障壁を取り除きます。
AI搭載ツールでExcelの機能を強化しましょう。今すぐダウンロードして、かつてないほどの効率を体験してください!

arrow blue right bubble ユーザー定義関数を使用して句読点で区切られた重複する単語を削除

セル内に特定の句読点で区切られた単語がある場合、必要に応じて重複する単語を削除することもできます。以下の手順で行ってください:

1. ALT + F11キーを押したままにすると、Microsoft Visual Basic for Applicationsウィンドウが開きます。

2. 「挿入」>「モジュール」をクリックし、モジュールウィンドウに次のコードを貼り付けます。

VBAコード:セル内の句読点で区切られた重複する単語を削除

Function RemoveDupes2(txt As String, Optional delim As String = " ") As String
    Dim x
    'Updateby Extendoffice
    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

3. その後、このコードを保存して閉じ、ワークシートに戻り、データの隣にある空白セルにこの数式 =RemoveDupes2(A2,",") を入力します。スクリーンショットをご覧ください:

Formula entered in the first cell

4. そして、必要なセルに数式をコピーすると、すべてのセルから重複する単語が削除されます。スクリーンショットをご覧ください:

Formula populated to the below cells

注:上記の数式では、A2は使用したいセルを示しており、カンマ(,)はセル内の単語を区切る句読点を表しています。必要に応じて他の句読点に変更できます。

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

🤖 Kutools AI アシスタント: データ分析を革命化する: インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析しグラフを生成  |  拡張機能を呼び出す
人気の機能: 重複を見つけてハイライトまたはマーキング   |  空白行を削除   |  データを失わずに列またはセルを統合   |   丸める ...
スーパーLOOKUP: 複数条件のVLookup    複数値のVLookup  |   複数シートの検索   |   ファジーマッチ ....
高度なドロップダウンリスト: ドロップダウンリストを迅速に作成   |  依存ドロップダウンリスト   |  マルチセレクトドロップダウンリスト ....
列管理: 特定の数の列を追加  |  列を移動  |  非表示列の可視ステータスを切り替え  |  範囲と列を比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   強化された数式バー    ワークブック & ワークシート管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リストで電子メールを送信   |  スーパーフィルター   |   特殊フィルタ (太字/斜体/取り消し線をフィルタリング...) ...
トップ15のツールセット12 のテキストツール (テキストの追加, 特定の文字を削除, ...)  |  50以上 のグラフ の種類 (ガントチャート, ...)  |  40以上の実用的な 数式 (誕生日に基づいて年齢を計算する, ...)  |  19 の挿入ツール (QRコードの挿入, パスから画像を挿入, ...)  |  12 の変換ツール (単語に変換する, 通貨変換, ...)  |  7 の統合 & セルの分割ツール (高度な行のマージ, セルの分割, ...)  |  ...さらに多く

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


Office TabはOfficeにタブインターフェイスをもたらし、作業を非常に簡単にします

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