Hücre İçindeki Tekrar Eden Kelimelerin Teke İndirilmesi

Katılım
10 Kasım 2016
Mesajlar
51
Excel Vers. ve Dili
Office365
Altın Üyelik Bitiş Tarihi
27-02-2024
Merhaba,

Hücre içinde tekrar eden kelimelerin teke düşürülmesini formülle nasıl yapabilirim ? Önce metin böl veya metni sütunlara dönüştür ile yapabiliyorum ama biraz uğraştırıyor.
Daha kısa bir yolu var mı ?

Mevcut Hali

Olması Gereken

Köşebent,Köşebent,Köşebent,

Köşebent

Palet Şerit Palet

Palet Şerit

 
Katılım
28 Mart 2015
Mesajlar
24
Excel Vers. ve Dili
2010
Altın Üyelik Bitiş Tarihi
20-03-2024
Tüm satırlarda tekrar eden kelimeleri Veri sekmesinden düşürebiliyorsunuz ancak hücre içerisi için bildiğim kadarıyla bir formül yok...
Yaptığınız en mantıklısı bence de, önce bölüp sonra farklıları silmek..

Bölme sonrasında yinelenenleri kaldır deseniz bu seferde altlarda olması gerekenleri de siler benzer olduğu için..Bunu satır satır değerlendirmeniz gereklidir.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Kullanıcı tanımlı fonksiyon kullanmak isterseniz aşağıdaki kodları bir modüle kopyalayıp deneyiniz.
Kullanımı : =TekrarSil(A1) gibi

Kod:
Function TekrarSil(rng As Range) As String

Dim coll    As New Collection
Dim t       As String, _
    txt     As String, _
    i       As Integer, _
    d       As Variant

t = rng.Text
t = Replace(t, ",", " ")
t = Application.WorksheetFunction.Trim(t)

d = Split(t, " ")

If Not IsArray(d) Then
    TekrarSil = t
Else
    For i = LBound(d) To UBound(d)
        On Error Resume Next
        coll.Add d(i), d(i)
        On Error GoTo 0
    Next i
    For i = 1 To coll.Count
        txt = txt & " " & coll.Item(i)
    Next i
    txt = Application.WorksheetFunction.Trim(txt)
End If

TekrarSil = txt

End Function
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Benzer bir konu...

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif bir KTF;

Ayıraç olarak virgül kullandım. Siz kendinize göre revize edebilirsiniz.

Bu şekilde kullanabilirsiniz. =Remove_Duplicate_Text(A1)

C++:
Option Explicit

Function Remove_Duplicate_Text(Rng As Range, Optional Seperator As String = ",")
    Dim My_Text As Variant
    
    Application.Volatile True
    
    With VBA.CreateObject("Scripting.Dictionary")
        For Each My_Text In Split(Rng.Value, Seperator)
            If My_Text <> "" And Not .Exists(My_Text) Then
                .Add My_Text, Nothing
            End If
        Next
        If .Count > 0 Then
            Remove_Duplicate_Text = VBA.Join(.Keys, Seperator)
        Else
            Remove_Duplicate_Text = ""
        End If
    End With
End Function
 
Katılım
10 Kasım 2016
Mesajlar
51
Excel Vers. ve Dili
Office365
Altın Üyelik Bitiş Tarihi
27-02-2024
İlginiz ve yardımlarınız için çok teşekkür ederim. Sonuç tam olarak istediğim gibi oldu. Elinize sağlık.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif olarak; Google Sheets'de aşağıdaki resimde görüldüğü gibi formülle yapılabiliyor.

Formülü Office365'e uyarlayabilirsiniz belki işe yarar...


Capture.PNG


.
 
Üst