Metin ve Sayıları Ayıklama

Katılım
1 Aralık 2013
Mesajlar
44
Excel Vers. ve Dili
2007
Merhaba arkadaşlar. Paylaştığım resimdeki gibi, her hücrede önce rakamlardan sonra harflerden oluşan bazı değerler var. "Metni sütunlara dönüştür" ile bunları ayıklayamıyorum. Çünkü aralarında sabit bir boşluk ya da sabit bir karakter yok. Bazen üç rakam bir harf, bazen bir rakam üç harf şeklinde karışık... Bu sayıları ve metinleri ayrı hücrelere nasıl ayıklarım? Yardımlarınız için teşekkürler.
 

osman06turgut

Herkes İşi Bitince Teşekkür Etmeden Gidecek!!
Altın Üye
Katılım
25 Nisan 2022
Mesajlar
41
Excel Vers. ve Dili
Office 2021-Türkçe
Altın Üyelik Bitiş Tarihi
30-03-2028
Kod:
Sub ayikla()
    Dim hücre As Range
    Dim metin As String, sayilar As String, harfler As String
    Dim i As Long, karakter As String

    For Each hücre In Selection
        metin = hücre.Value
        sayilar = ""
        harfler = ""
        
        For i = 1 To Len(metin)
            karakter = Mid(metin, i, 1)
            If karakter Like "[0-9]" Then
                sayilar = sayilar & karakter
            ElseIf karakter Like "[A-Za-z]" Then
                harfler = harfler & karakter
            End If
        Next i
        
        hücre.Offset(0, 1).Value = sayilar
        hücre.Offset(0, 2).Value = harfler
    Next hücre
End Sub
Modül ekleyerek buton yardımı ile yapabilirsin ve kod üsttedir. Hücre veya sütunü komple seçtiğinde sağ tarafına istemiş olduğun gibi ayıklama yapacaktır. İyi forumlar
 
Katılım
1 Aralık 2013
Mesajlar
44
Excel Vers. ve Dili
2007
Üstat cidden harika bir iş çıkarmışsın, eline koluna sağlık. Tek tıkla ayırdı hepsini! Çok teşekkürler!
 

osman06turgut

Herkes İşi Bitince Teşekkür Etmeden Gidecek!!
Altın Üye
Katılım
25 Nisan 2022
Mesajlar
41
Excel Vers. ve Dili
Office 2021-Türkçe
Altın Üyelik Bitiş Tarihi
30-03-2028
Rica ederim. Ne mutlu bana..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,200
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatifler...

Eğer kullandığınız sürüm güncelse (Flash Fill-Hızlı Doldur-Ctrl+E) seçeneği ile ek bir işleme gerek kalmadan verilerinizi hızlıca ayırabilirsiniz.

Örnek tablonuza göre B1 hücresine 161 yazınız. C1 hücresine SSE yazınız. Sırayla B2 hücresini seçip CTRL+E tuşlarına basınız. Sonra C2 hücresini seçip yine aynı tuş kombinasyonu ile verileri ayırabilirsiniz. (Bazı sürümlerde bu tuş kombinasyonu çalışmayabiliyor. Bu durumda VERİ-HIZLI DOLDUR seçeneğini kullanabilirsiniz.)

Bir diğer yöntem ise formülle çözüm;

B1;
C++:
=SOLDAN(A1;KAÇINCI(DOĞRU;EHATALIYSA(--PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1));0)-1)
C1;
C++:
=YERİNEKOY(A1;B1;"")

Ofis 365 için B1 hücresine uygulamanız yeterli olacaktır.. Sonuçlar dökülmeli olarak listelenir.

C++:
=NORMİFADEAYIKLA(A1;{"^\d+";"[A-Za-z]+$"})
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,561
Excel Vers. ve Dili
Ofis 365 Türkçe
Alternatif olsun, fonksiyon ile

A1 de veri olduğunu varsayarak :
B1 :
Kod:
=PARÇAAL(A1;KAÇINCI(0;(EHATALIYSA(PARÇAAL(A1;SATIR(DOLAYLI("1:"& UZUNLUK(A1)));1)*1)*1);0);UZUNLUK(A1)-TOPLA((EHATALIYSA(PARÇAAL(A1;SATIR(DOLAYLI("1:"&UZUNLUK(A1)));1)*1)*1)))
Dizi Formüldür. Formülü yazdıktan sonra Ctrl+Shift+Enter ile formülü bitirmek gerek
C1:
Kod:
=YERİNEKOY(A1;B1;"")
 
Katılım
1 Aralık 2013
Mesajlar
44
Excel Vers. ve Dili
2007
Cevaplar için çok teşekkür ederim arkadaşlar. Korhan hocam bahsettiğiniz "Hızlı doldur" yöntemi çok uzun veri setlerimde maalesef hatalı sonuçlar verdi. Nedenini bilmiyorum. Formüllerde problem yok. Onlar çalışıyor. Ofis 365'li olanı ise bende olmadığı için deneyemedim. Teşekkürler tekrardan.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,979
Excel Vers. ve Dili
Office 365 Türkçe
Ekran görüntüsünü göremedim.

258447

Bu şekilde ise

B1

Kod:
=ARA(9,99999999999999E+307;--SOLDAN(A1;SATIR($1:$1024)))
C1

Kod:
=YERİNEKOY(A1;B1;"")
 
Üst