• DİKKAT

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

metin içinden kriterli parça alma

Murat bey,
Gönderdiğiniz dosyada şu şekilde sonuca ulaşıyorum.
Detay*:*1245*kılıç kısmındaki boşlukları silip daha sonra tekrar boşlukları eklediğimde sonuca ulaşabiliyorum.

İlk mesajdaki metni sayfaya yapıştırırken özel yapıştırdan Unicode Metin ya da Metin olarak yapıştırdığımda, formülünüz doğru sonucu vermektedir.

Bilginize.
 
Erdem Bey şu an cepten giriyorum ve hâliyle pc'ye göre ekran baya bir küçük, yazdığınız formülün sonu ne zaman gelecek diye hevesle inceledim.
Bu arada formülü çözene kadar kahvem bitti, borcunuz olsun. ;)

Selâmlar

Murat kardeşim sana yemek borcum olsun. Seni bulmuşken kahve ile geçiştiremem :)
 
Alternatif olarak;
Verinizi A1 hücresine yazıp deneyiniz.
Kod:
=YERİNEKOY(SAĞDAN(PARÇAAL(" "&YERİNEKOY($A1;" ";YİNELE(" ";50));1;50*3);50);" ";"")

üstad bu nasıl bir formül yahu ellerine sağlık teşekkür ederim.. hocam bu formülü açıklayabilir misin nasıl bir mantık? :)
 
Emre Bey, formülünüz hatalı sonuç üretiyor.

A1 hücresine;

yazıp

A2 hücresine formülünüz girildiğinde "kalkan" sonucunu üretiyor.


Ayrıca 30.000 satır veri için formül yerine makro kullanılması daha uygun olur.

Bu kodlar kullanılabilir;
Kod:
[FONT="Trebuchet MS"]Sub Emre()
    Dim Rky As Object, i%
    Set Rky = CreateObject("VBScript.RegExp")
    Rky.Global = True
    Rky.Pattern = "[COLOR="Red"]([0-9]{2,5})[/COLOR]"
    On Error Resume Next
    For i = [COLOR="red"]1 [/COLOR]To Range("[COLOR="red"]A65536[/COLOR]").End([COLOR="Red"]3[/COLOR]).Row
        Cells(i, "[COLOR="red"]B[/COLOR]") = CLng(Rky.Execute(Cells(i, "[COLOR="red"]A[/COLOR]")).Item([COLOR="red"]0[/COLOR]))
    Next i
    i = Empty: Set Rky = Nothing
End Sub[/FONT]



Murat bey çok teşekkür ederim ilginize bzace beyin verdiği formül ile yazdığınız kod bende çalıştı..
 
Biraz uzun bir formül oldu ama metindeki ilk sayıyı buluyor,ilk sayıdan başlayarak yeni metin üretiyor.Yeni metindeki ilk damga(160) yada normal boşluğun sıra numarasını bulup ondan 1 çıkartarak sicil numarasını elde ediyor.

Kod:
=--PARÇAAL(PARÇAAL(A1;EĞER(ESAYIYSA(ARA(9,99999999999999E+307;BUL({1;2;3;4;5;6;7;8;9};A1)));((MİN(BUL({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"))-1))+1;0);99);1;EĞERHATA(MBUL(DAMGA(160);PARÇAAL(A1;EĞER(ESAYIYSA(ARA(9,99999999999999E+307;BUL({1;2;3;4;5;6;7;8;9};A1)));((MİN(BUL({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"))-1))+1;0);99);1);MBUL(" ";PARÇAAL(A1;EĞER(ESAYIYSA(ARA(9,99999999999999E+307;BUL({1;2;3;4;5;6;7;8;9};A1)));((MİN(BUL({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"))-1))+1;0);99);1))-1)


kuvari hocam eline sağlık formül mükemmel çalışıyor..
gördüğüm en uzun formüldü hatta bu formülü imzama koymayı düşünüyorum :)
 
hocam her koşulda çalışıyor sicil ister 1 hane olsun ister 10 hane eline sağlık.. hatta başta boşluk dahi olmasa sicili çeki alıyor..
 
Geri
Üst