Как да премахнете дублирани знаци или думи в низ на клетка?
Да предположим, че има дублирани знаци или думи във всяка клетка и искате да премахнете дубликатите и да оставите само уникални знаци или думи. Как можете да разрешите този проблем в Excel?
Премахнете дублиращи се знаци от текстов низ с дефинирана от потребителя функция
Премахнете дублиращите се думи, разделени от препинателни знаци с дефинирана от потребителя функция
Премахнете дублиращи се знаци от текстов низ с дефинирана от потребителя функция
Ако имате списък с текстов низ, сега трябва да премахнете дублиращите се знаци, както е показано на следната екранна снимка. Тук мога да говоря за VBA код, който да се справи с него.
1. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.
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 е клетката с данни, от която искате да премахнете дубликати) в празна клетка освен вашите данни, вижте екранна снимка:
4. И след това плъзнете манипулатора за запълване към клетките с диапазон, към които искате да приложите тази формула, всички дублирани знаци са премахнати незабавно от всяка клетка.
Премахнете дублиращите се думи, разделени от препинателни знаци с дефинирана от потребителя функция
Ако има някои думи, които са разделени с определени препинателни знаци в клетка, можете също да премахнете дублиращите се думи, както желаете. Моля, направете следните стъпки:
1. Задръжте надолу ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.
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,",") в празна клетка до вашите данни, вижте екранна снимка:
4. След това копирайте формулата в необходимите ви клетки и всички дублиращи се думи са премахнати от всяка клетка. Вижте екранна снимка:
Забележка: В горната формула, A2 показва клетката, която искате да използвате, а запетаята (,) означава препинателния знак, който разделя думите в клетката, можете да го промените с други препинателни знаци според вашите нужди.
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!