• DİKKAT

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

Veri / Metin Ayırma Fonksiyonu

Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Saygıdeğer Arkadaşlar..! Aşağıda kullanmış olduğum (KTF) fonksiyon ile, belirlenen bir karakterin solundan itibaren
yine belirtilen sıradaki veriyi almak/ayırmak için kullanıyorum.
Ancak, sütunlarda tarih ile sayı arasında ( "-", "/", " " ) üç ayrı karışık karakterler kullanılmış..
Aşağıdaki kodu, birden fazla karakteri tanıyarak ayrıştırmaya revize edebilir miyiz?

Farklı sütunlara ayırmak istediğim veriler şu formatta:
01.11.2019-121
02.11.2019/122
03.11.2019 123

Kod:
Function VERİAYIR(Txt, n, Ayırıcı) As String 'Metnin solundan itibaren 1.nci "/" karaktere kadar kelime alma örn.=BİLGİAYİR(A3;1;"/")
Dim Txt1 As String, temperament As String
Dim Elemansayısı As Integer, i As Integer
Dim Karakter As String
    Txt1 = Txt
If Ayırıcı = Chr(32) Then Txt1 = Application.Trim(Txt1)
If Right(Txt1, Len(Txt1)) <> Ayırıcı Then Txt1 = Txt1 & Ayırıcı
    Elemansayısı = 0
    Karakter = ""
For i = 1 To Len(Txt1)
If Mid(Txt1, i, 1) = Ayırıcı Then
    Elemansayısı = Elemansayısı + 1
If Elemansayısı = n Then
    VERİAYIR = Karakter
Exit Function
Else
    Karakter = ""
End If
Else
    Karakter = Karakter & Mid(Txt1, i, 1)
End If
Next i
    VERİAYIR = ""
End Function
 
KTF şart değil.. A sütununda (tarih/sayı, tarih-sayı, tarih sayı) şeklinde listelenen verileri, yandaki iki sununa ayırmak suretiyle listeleme imkanı olur mu?
 
Merhaba,

B1;
Kod:
=EĞER(UZUNLUK(A1)=5;A1;SOLDAN(A1;10))

C1;
Kod:
=EĞER(UZUNLUK(A1)=3;A1;PARÇAAL(A1;12;UZUNLUK(A1)-11)
 
Değerli hocam, (gecenin bu vaktinde) çok teşekkürler.. bu işimi görecek..
 
Korhan hocam, bazı hücrelerde sadece tarih var, veya sadece numara var.. Sadece tarih olanların karşılığı #DEĞER! hatası veriyor. Tek tarih var ise, tarihi alsın veya sadece sayı varsa, sayıyı alsın.. şeklinde yapabilir miyiz?
 
Son düzenleme:
Üstteki mesajımda ki formülleri revize ettim.

Yalnız sayıların uzunluğu standart 3'müdür?
 
İşte o asıl sıkıntı, sayı uzunluğu standart değil, hocam..
 
Korhan hocam bu kadar için çok teşekkürler.. Sizi daha fazla meşgul etmiyeyim, uygun olmayan sonuçları tek tek elden geçiriyorum..
 
Dilerseniz bir örnek dosya paylaşın. Onun üzerinden çözüm üretelim.
 
Değerli hocam.. Dosyayı ekliyorum.. Yukarıdaki konuyu sizin verdiğiniz formüllerle aktardım. Sonra da (Özel yapıştır-Değerleri) yolu ile formülleri kaldırdım. Ancak bu defa rakamlar, sola yaslanmış (metin) formatında.. Bunları sağa yaslamanın (sayı formatında) yolu yokmu.?
(M-N sütununu manuel yasladım. P-Q-S-TV-W-Y-Z-AB-AC sütunları kaldı.)
 

Ekli dosyalar

Merhaba,

Sayıya çevirmek için formüllerin başına "--" işareti ekleyin.
Tarih olan sütünlarda bu işlemi yaparsınız sayı görünür, hücre biçimlendir ekranından sütunu tarih olarak biçimlendirin.
 
Merhaba,

Dosyanızda ki veriler çok düzensiz. Bu sebeple ortak bir koşul bulamadım. Formüller uzamak zorunda kaldı.

Elimden geldiğince kontrolleri minimize etmeye çalıştım.

Mavi renkli sütunlardaki formüller test amaçlıdır. Silebilirsiniz.

"N" sütunundan sonraki veriler ayrıştırılmış verilerdir. Bu alandaki sarı renkli hücreleri kontrol etmeniz gerekiyor. Tabi bu sarı renkliler benim tespit ettiklerim. Sizde ayrıca göz kontrolünüzü yapınız. Tarihleri bilerek sayısal formata çevirmedim. Kontrollerinizden sonra çevirirsiniz.

Umarım faydası olur. Kolay gelsin...
 

Ekli dosyalar

Saygıdeğer Korhan hocam.. Gerçekten de veriler çok düzensiz, paçavra sallar gibi veri girilmiş.. Veriler, Kuruma ait, bir şekilde üstümüzde kaldı.. Düzenlediğiniz dosya en alası olmuş.. Elinize sağlık, çok çok teşekkür ediyorum. Muvaffakiyetler dilerim.
 
Geri
Üst