• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Çok parametreli metin ayırma

  • Konbuyu başlatan Konbuyu başlatan Mertsan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Aralık 2015
Mesajlar
67
Excel Vers. ve Dili
Excel 2010 ingilizce
Merhaba arkadaşlar,
Bir hücreden metin ayırma ile ilgili bazı başlıklardan bir formülü uygulamaya çalıştıysam da istediğim sonuca ulaşmak için yetersiz oldu.

Şöyle ki;
Muhasebe işlemlerine ilişkin açıklama satırında sadece araç plakalarını açıklamanın geri kalanından ayırmak istiyorum. Ancak açıklamaya plakalar bazen bitişik bazen ayrı yazılıyor. Bu nedenle ayrıştırmayı kolaylaştırmak için bir de plaka listesi yaptım. (Plakalar uydurmadır)

Bu referans plakalara bakarak bunlardan birisi satır içinde varsa bu plakayı açıklamanın geri kalanından ayırarak iki ayrı sütunda göstermek istiyorum.
Örnek dosyam ektedir.

Yardımcı olacak arkadaşlara şimdiden teşekkür ederim.
Saygılarımla.
Mert.
 

Ekli dosyalar

Aşağıdaki fonksiyonu kullanabilirsiniz.

Kod:
=PLAKA_AL(A1)

Kod:
Function PLAKA_AL(Veri As Range)
    Dim Nesne As Object, Plaka As Object
    
    Set Nesne = CreateObject("VbScript.Regexp")
    Nesne.Pattern = "([0-9]{2})([A-Z]{1,4})([0-9]{2,4})"
    Nesne.Global = True
    Set Plaka = Nesne.Execute(Veri.Value)
    If Not Plaka Is Nothing Then PLAKA_AL = Plaka(0)
    
    Set Plaka = Nothing
    Set Nesne = Nothing
End Function
 
Teşekkür ederim Korhan bey,

Fonksiyon çok güzel çalışıyor. ilk testlerimde plakaları açıklamalara yanaştırsam da şaşırtıcı şekilde iyi ayıklıyor.

Bu kadarı bile yararlı olsa da listenin çok uzun olduğunu düşünerek, plakaları açıklamadan çıkarılmış sütuna da ihtiyaç var. (Plakasız açıklama satırı)

Bu fonksiyon kodları üzerinde biraz çalışıp PLAKA ÇIKAR adlı bir fonksiyonla da o kısmı çözmeye çalıştım ama kodu anlamadan pek mümkün değil.

Bu kısmı da çözersek tamamdır.
 
Deneyiniz.

Kod:
=YERİNEKOY(A1;PLAKA_AL(A1);"")
 
Korhan bey,
Teşekkür ediyorum. Pratik ve tam çözüm oldu.
Saygılarımla.
Mert.
 
Geri
Üst