2015-08-15 49 views
0

我的電子表格有一列可以在單元格中有多個單詞或短語重複。刪除單元格內的重複單詞和短語

這裏是值類型的例子:

╔════════════════════════╗ 
║  Column A  ║ 
╠════════════════════════╣ 
║ Apple     ║ 
║ Apple Apple   ║ 
║ Apple Pie    ║ 
║ Apple Pie Apple Pie ║ 
╚════════════════════════╝ 

我要尋找到一個小區內刪除重複值的最佳方法。是否有任何已知的VBA代碼或Excel可用的公式?它需要識別重複的單詞或短語(最多3個單詞)電子表格很大,並且很難去手動刪除它們。

任何想法,解決方案或方向將是偉大的。

+0

你到目前爲止嘗試過什麼? – HaveNoDisplayName

回答

1

您可以使用反向引用的正則表達式來匹配重複的單詞或短語。模式^(.+)\s*\1$將匹配任何重複的短語與中間的可選空白。

Const strText = "Apple Pie Apple Pie" 

Dim re 
Set re = CreateObject("VBScript.RegExp") 
re.Pattern = "^(.+)\s*\1$" 

If re.Test(strText) Then 
    Debug.Print re.Replace(strText, "$1") 
End If 

輸出:

Apple Pie 
0

我能夠使用查找和刪除大部分細胞內的重名和短語的Excel函數。希望這可以幫助其他人

=IF(LEN(A1)-LEN(SUBSTITUTE(A1," ",""))>=2,LEFT(A1,FIND(LEFT(A1,FIND(" ",A1,FIND(" ",A1)+1)-1),A1,2)-2),LEFT(A1,FIND(" "&LEFT(A1,FIND(" ",A1)-1),A1,2)-1)) 
相關問題