Bir veri grubunda belirlenmiş ifadeleri arama

Katılım
21 Eylül 2017
Mesajlar
1
Excel Vers. ve Dili
T 5
Merhaba,

Elimde bir veri grubu var ve hızlıca ayrıştırmak istiyorum.

Örneğin hücre içinde "Bugün eve Atatürk Caddesi üzerinden gittim" yazıyorsa yandaki sütuna otomatik olarak "Atatürk Caddesi" yazsın.

Aradığı ifade (Atatürk Caddesi) için bir liste var elimde.

Aşağıdaki görselde daha anlaşılır şekilde anlattım. Yardımınız için teşekkür ederim. Birkaç milyon saatlik bir işten kurtulacağımı umuyorum.



-Tek kelimelik ifadeler olduğu gibi boşluklu kelimeler de var.
-Hücre içinde belirlenen iki kelimenin de geçmesi durumunda hangisini yazdığı önemli değil.
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,634
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Tagdaki dizi formülünü deneyebilir misiniz.
Dizi formülüdür. CTRL+SHIFT+ENTER ile kapatmayı unutmayın.

Kod:
=PARÇAAL(A1;MAK(EĞERHATA(MBUL($C$1:$C$3;A1;1);""));UZUNLUK(İNDİS($C$1:$C$3;KAÇINCI(1;--ESAYIYSA(MBUL($C$1:$C$3;A1;1));0))))
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Alternatif;

Prosedür ile,

Kod:
Sub aranani_bul()
   sonsatira = Cells(Rows.Count, "A").End(3).Row
   sonsatirc = Cells(Rows.Count, "A").End(3).Row
   For i = 2 To sonsatira
     veri = Cells(i, "A").Value
     For j = 2 To sonsatirc
        aranan = Cells(j, "C").Value
        If InStr(veri, aranan) > 0 Then
          Cells(i, "B").Value = aranan
          Exit For
        End If
     Next j
   Next i
End Sub

KTF ile =arananibul(A6;C6:C9)

Kod:
Function arananibul(veri As Range, kelimealan As Range) As String
    Dim kelimeveri As Range
       For Each kelimeveri In kelimealan
           If InStr(veri, kelimeveri) > 0 Then
              arananibul = kelimeveri.Value
              Exit For
           End If
       Next
End Function
 
Üst