如何在 Excel 儲存格的字串中移除重複的字元或單字?
在 Excel 中處理資料時,經常會遇到儲存格內含有重複字元或重複單字的情形。例如,使用者輸入的資料、匯出的日誌或產品代碼中,常會出現多次重複的字元或單字。移除這些重複內容,不僅能有效清理資料以利後續分析,還能提升可讀性,並為其他系統準備更乾淨的字串。
本指南介紹了多種在單一儲存格內移除重複字元或重複單字的實用方法。無論您的資料包含個別字元,還是以空格或標點符號分隔的完整單字,都能找到適合的解決方案。您可以根據所使用的 Excel 版本、自身技術熟練度,以及資料中的分隔符類型,選擇最理想的方式。
使用 Excel 公式(動態陣列)移除重複字元或單字
如果您使用的是 Microsoft 365 或 Excel 2021 及更新版本,就能運用動態陣列公式輕鬆移除儲存格中的重複字元或單字——完全無需 VBA!搭配 TEXTSPLIT、UNIQUE、TEXTJOIN 與 MID 等函數,即可直接在工作表中快速拆分、去重並重建字串。
若您偏好不使用巨集、追求高效解決方案,且熟悉 Excel 最新公式功能,此方法尤其推薦。
優點:當來源資料變更時,公式會立即自動重新計算,無需啟用巨集或特殊權限,且能輕鬆套用至大型區域。
缺點:僅適用於 Microsoft 365 Excel、Excel 2021 或更新版本(不支援 Excel 2019 及更早版本)。
若要移除儲存格內的重複字元(例如,“banana“ → "ban“):
1. 選取要顯示結果的儲存格(例如,)B2,位於來源儲存格 A2 旁),並輸入下列公式:
=TEXTJOIN("",,UNIQUE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))) 此公式運用 A2 中的內容,先透過 MID 將其拆分為單一字元,再利用 ROW(INDIRECT(...))產生連續位置,接著以 UNIQUE 提取唯一字元,最後透過 TEXTJOIN 重新組合成文字字串。
2. 按下 Enter,即可在 A2 中顯示移除重複字元後並保留原始順序的字串。若要對其他列執行相同操作,請視需要使用填滿控點向下複製公式!
注意:若出現 #NAME?錯誤,表示您的 Excel 版本可能不支援這些函數。請確認您使用的是 Microsoft 365 Excel、Excel 2021 或更新版本。
疑難排解:有時多餘的空格或標點符號可能會影響結果。若您的資料格式不一致,建議搭配額外參數使用 TRIM 或 TEXTSPLIT 函數,輕鬆提升處理準確度!
運用動態陣列公式,不僅能提升工作效率、確保資料即時更新,更能輕鬆簡化從簡單到複雜的各種字串模式資料清理任務。
使用使用者自訂函數移除文字字串中的重複字元
如果您有一系列包含文字字串的儲存格,並希望從每個儲存格中移除重複字元——例如將「aabbcc」轉換為「abc」(如下圖所示)——自訂 VBA 函數能協助您快速完成這項任務,尤其適用於您的 Excel 版本不支援進階陣列公式的情況。

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. 儲存並關閉 VBA 程式碼視窗後,返回工作表。在原文本旁的空白儲存格中輸入公式 =removedupes 1(A2)(此處 )A2 為您要處理字串所在的儲存格)。請參見下圖:

4. 按下 Enter 以計算結果,再向下拖曳填滿控點,將函數套用至該欄所有相關儲存格,即可立即看到每個對應儲存格中的重複字元皆已移除!

提示:字元的出現順序將被保留——此函數會保留每個字元首次出現的位置,並移除儲存格中後續的重複項目。
注意事項:透過 VBA 新增的使用者自訂函數(UDF)僅限於存放程式碼的工作簿中使用。若您移動或分享該工作簿,請務必確認巨集已一併包含,或於目標檔案中重新插入。此外,必須啟用巨集才能執行此程式碼。

透過 KUTOOLS AI 解鎖 Excel 的神奇功能
- 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
- 自訂公式:打造專屬公式,讓您的工作流程更順暢!
- VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
- 公式解析:輕鬆掌握複雜公式!
- 文字翻譯:輕鬆打破試算表中的語言隔閡!
使用使用者自訂函數移除以標點符號分隔的重複單字
當您的資料是由標點符號(例如逗號、分號或其他符號)分隔的單字組成時,您可能希望移除每個儲存格中的重複單字,僅保留每個單字的首次出現。這在處理標籤清單、分類或地址時特別實用。透過自訂 VBA 函數,即可高效達成此目的。
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. 儲存並關閉 VBA 視窗後,返回工作表。在鄰近資料的空白儲存格中輸入此公式:=RemoveDupes 2(A2,",")。其中,A2 為目標儲存格,“,“則代表用來分隔內容的符號。若您的資料是以其他符號(例如 “;“ 或空格)分隔,只需將逗號替換為對應字元即可。

4. 按下 Enter 確認,再視需要向下拖曳公式以填滿下方儲存格。完成此步驟後,所有重複單字將從各自儲存格中移除,僅保留原始順序的唯一單字。結果如下:

注意:在公式中,您可依資料需求調整儲存格參照與標點分隔符。若混合使用多種字元或不同類型的分隔符(例如空格與逗號),可能需進一步調整程式碼。
提示:與所有 VBA 巨集一樣,使用此函數前請務必備份您的工作簿並啟用巨集。
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用