[Yardım]  Hücre içeriğini farklı hücrelere dağıtmak

Excel sayfalarında kullandığımız yerleşik fonksiyonlar ya da kendi yazabileceğiniz fonksiyonlar ile ilgili bilmek istedikleriniz, sorunlar ve çözümleri

Hücre içeriğini farklı hücrelere dağıtmak

İleti#1)  hsayar » 22 Haz 2022 00:11

A sütununda
Kod: Tümünü seç
(SN:15451234596) feride kuşkonmaz : HALİT Kızı
(SN:154789023) SEZİN SEHER AKINCI KUŞKONMAZ : HASAN HÜSEYİN Kızı
(SN:1545434) AHMET SALİM SAKAR: RASİM Oğlu

şeklinde verilerimiz var.

yani a2 hücre değeri
Kod: Tümünü seç
(SN: SİCİLNO) AD SOYAD : BABAADI Oğlu

ise
B2 Hücresine SİCİLNO yani birinci ":" karakteri ile birinci ")" karakteri arasında ilk ve son boşluklar kırparak yazan değeri
C2 Hücresine AD SOYAD yani birinci ")" karakteri ile ikinci ":" karakteri arasında ilk ve son boşluklar kırparak yazan değeri
D2 Hücresine BABAADI yani ikinci ":" karakteri ile "Oğlu" ya da "kızı" metni arasında kalan ilk ve son boşluklar kırparak yazan değeri
yazacak bir KTF için yardımlarınızı bekliyorum.
KTF ADI olarak DEĞEROKU olabilir.

yardımlarınız için teşekkür ederim.
Felaket Başa Gelmeden Evvel Önleyici ve Koruyucu Tedbirler Düşünmek Lazım.

Felaket Geldikten Sonra Dövünmenin Yararı Yoktur.

Mustafa Kemal ATATÜRK
Kullanıcı avatarı
hsayar
Site Dostu
 
Adı Soyadı:Hüseyin SAYAR
Kayıt: 18 Eyl 2008 11:30
Meslek: Çalışma Ekonomisti
Yaş: 42
İleti: 630
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Edirne/İpsala

Yıllık Maaş Bordrosu Hesaplama 2022

Cevap: Hücre içeriğini farklı hücrelere dağıtmak

İleti#2)  hsayar » 22 Haz 2022 01:18

D2 Hücresine BABAADI yani ikinci ":" karakteri ile "Oğlu" ya da "kızı" metni arasında kalan ilk ve son boşluklar kırparak yazan değeri

yazmıştım, şöyle de düşünebiliriz
D2 Hücresine BABAADI yani ikinci ":" karakteri ile sonuncu " " yani (boşluk) karakterleri arasında kalan ilk ve son boşluklar kırparak yazan değeri

düzeltme seçeneği kaldırılmış, o yüzden böyle yazdım.
birde bağlı olarak
a2 hücresinde kaçtane mesela ":" geçtiğini saymak için KAÇTANEVAR(HÜCRE, "METİN") yani KAÇTANEVAR(a2, ":") şeklinde bir KTF nasıl yazılır?
Felaket Başa Gelmeden Evvel Önleyici ve Koruyucu Tedbirler Düşünmek Lazım.

Felaket Geldikten Sonra Dövünmenin Yararı Yoktur.

Mustafa Kemal ATATÜRK
Kullanıcı avatarı
hsayar
Site Dostu
 
Adı Soyadı:Hüseyin SAYAR
Kayıt: 18 Eyl 2008 11:30
Meslek: Çalışma Ekonomisti
Yaş: 42
İleti: 630
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Edirne/İpsala

Cevap: Hücre içeriğini farklı hücrelere dağıtmak

İleti#3)  Tarkan VURAL » 22 Haz 2022 11:16

Hüseyin bey selamlar, uzun zaman oldu.
Aşağıdaki modelde bir KTF işinizi çözer.

Kod: Tümünü seç
Public Function KACTANE(ByVal Metin As String, ByVal Karakter As String) As Long
Dim say As Long
say = Len(Metin) - Len(Replace(Metin, Karakter, ""))
KACTANE = say
End Function
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 48
İleti: 27526
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Cevap: Hücre içeriğini farklı hücrelere dağıtmak

İleti#4)  hsayar » 22 Haz 2022 14:39

Tarkan VURAL yazdı:Hüseyin bey selamlar, uzun zaman oldu.
Aşağıdaki modelde bir KTF işinizi çözer.

Kod: Tümünü seç
Public Function KACTANE(ByVal Metin As String, ByVal Karakter As String) As Long
Dim say As Long
say = Len(Metin) - Len(Replace(Metin, Karakter, ""))
KACTANE = say
End Function


Selamlar, ilginize teşekkür ederim.
Kod: Tümünü seç
Function siradakini_bul(aralik As Range, aranan$, sira&) As Long
    Dim Sayi&
    siradakini_bul = 0
    Sayi = 0

    Do
        siradakini_bul = InStr(siradakini_bul + 1, aralik.Cells(1).Value, aranan, vbTextCompare)
        Sayi = Sayi + 1
    Loop While siradakini_bul > 0 And Sayi < sira

    Sayi = Empty
End Function


Function Kactekrar(aralik As Range, Metin As String)
Kactekrar = Len(aralik) - Len(Replace(aralik, Metin, ""))
End Function

bende yukarıdaki kodları buldum/uyarladım.
SN için:
Kod: Tümünü seç
=PARÇAAL(B2;siradakini_bul(B2;":";1)+1;siradakini_bul(B2;")";1)-siradakini_bul(B2;":";1)-1)
SN veriyor sıkıntı yok
ADI için:
Kod: Tümünü seç
=PARÇAAL(B2;siradakini_bul(B2;")";1)+2;siradakini_bul(B2;":";2)-siradakini_bul(B2;")";1)-3)
ADI veriyor sıkıntı yok
BABAADI için:
Kod: Tümünü seç
=PARÇAAL(B2;siradakini_bul(B2;":";2)+2;25)
kodlarını kullanıyorum BABAADI Kızı şeklinde dönüyor. burada kızı olsun istemiyorum.
BABAADI İÇİN
Kod: Tümünü seç
=PARÇAAL(B2;siradakini_bul(B2;":";2)+2;siradakini_bul(B2;" ";1)-siradakini_bul(B2;":";1)-4)
deniyorum AD SOYAD olanlarda bazen BABAADI bir karakter eksik (TARKAN yerine TARKA gb) dönüyor.
AD SOYAD BABAADI İKİNCİBABADI olanlarda sadece BABAADI dönüyor.
Felaket Başa Gelmeden Evvel Önleyici ve Koruyucu Tedbirler Düşünmek Lazım.

Felaket Geldikten Sonra Dövünmenin Yararı Yoktur.

Mustafa Kemal ATATÜRK
Kullanıcı avatarı
hsayar
Site Dostu
 
Adı Soyadı:Hüseyin SAYAR
Kayıt: 18 Eyl 2008 11:30
Meslek: Çalışma Ekonomisti
Yaş: 42
İleti: 630
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Edirne/İpsala

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Hücre içeriğini farklı hücrelere dağıtmak

İleti#5)  hsayar » 22 Haz 2022 14:52

Tarkan bey birde
Kod: Tümünü seç
116999999 RENGİN RENK KIRSE 37800 302400
gibi yazan hücreler var bu hücreleri de TCNO, AD SOYAD, PAY, PAYDA diye ayıklamam gerekiyor. yani hem
Kod: Tümünü seç
(SN:154789023) SEZİN SEHER AKINCI KUŞKONMAZ : HASAN HÜSEYİN Kızı
yazanları ayıklayabileceğim mümkün olan en basit KTF ye ihtiyacım var...
Felaket Başa Gelmeden Evvel Önleyici ve Koruyucu Tedbirler Düşünmek Lazım.

Felaket Geldikten Sonra Dövünmenin Yararı Yoktur.

Mustafa Kemal ATATÜRK
Kullanıcı avatarı
hsayar
Site Dostu
 
Adı Soyadı:Hüseyin SAYAR
Kayıt: 18 Eyl 2008 11:30
Meslek: Çalışma Ekonomisti
Yaş: 42
İleti: 630
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Edirne/İpsala

Cevap: Hücre içeriğini farklı hücrelere dağıtmak

İleti#6)  Tarkan VURAL » 23 Haz 2022 11:30

Merhaba,
Bana çok basit bir dosya üzerinden, "veriler şurada, şuraya şu şekilde gelmeli" gibi örnek hazırlarsanız elimden geldiğince çözmeye çalışırım.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ?
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: @tarkanvural73
Meslek: LUU, Database Expert, Senior Software Specialist, Developer
Yaş: 48
İleti: 27526
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Cevap: Hücre içeriğini farklı hücrelere dağıtmak

İleti#7)  hsayar » 24 Haz 2022 20:05

Tarkan VURAL yazdı:Merhaba,
Bana çok basit bir dosya üzerinden, "veriler şurada, şuraya şu şekilde gelmeli" gibi örnek hazırlarsanız elimden geldiğince çözmeye çalışırım.

İş yoğunluğundan bakamadım, pazar günü örnek dosya hazırlayacağım.
Ancak tercihim sütunları makro ile dağıtmak yerine, ktf ile dağıtmaktır.

Basitçe ifade etmek gerekirse
b Sütununa
(SN:15451234596) feride kuşkonmaz : HALİT Kızı
(SN:154789023) SEZİN SEHER AKINCI KUŞKONMAZ : HASAN HÜSEYİN Kızı
(SN:1545434) AHMET SALİM SAKAR: RASİM Oğlu

verilerinden oluşuyor
h sütununa birinci ":" karakteri ile birinci ")" karakteri arasındaki rakamlar.
i sütununa birinci ")" karakteri ile ikinci ":" karakteri arasındaki AD SOYAD
j sütununa ikinci ":" karakteri ile "kızı" ve ya "oğlu" ibaresinden önceki değerler diğer bir ifadeyle ikinci ":" karakterinden sonraki metnin sondan beş karakter eksiği
yazılacak
Felaket Başa Gelmeden Evvel Önleyici ve Koruyucu Tedbirler Düşünmek Lazım.

Felaket Geldikten Sonra Dövünmenin Yararı Yoktur.

Mustafa Kemal ATATÜRK
Kullanıcı avatarı
hsayar
Site Dostu
 
Adı Soyadı:Hüseyin SAYAR
Kayıt: 18 Eyl 2008 11:30
Meslek: Çalışma Ekonomisti
Yaş: 42
İleti: 630
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Edirne/İpsala

Cevap: Hücre içeriğini farklı hücrelere dağıtmak

İleti#8)  halily » 25 Haz 2022 00:33

aşağıdaki kod işinize yarayabilir
veriler A sütununda ise B sütununa =bol(A1) yazıp CTRL+SHIFT+ENTER tuşlarına basmalısınız
Kod: Tümünü seç
Function bol(Rng As Range) As String()
Dim Degerler(2) As String
ilkNokta = InStr(Rng.Value, ":")
SonNokta = InStrRev(Rng.Value, ":")
ilkParan = InStr(Rng.Value, ")")
  SonBos = InStrRev(Rng.Value, " ")
Degerler(0) = Mid(Rng.Value, ilkNokta + 1, ilkParan - ilkNokta - 1)
Degerler(1) = Mid(Rng.Value, ilkParan + 1, SonNokta - ilkParan - 1)
Degerler(2) = Mid(Rng.Value, SonNokta + 1, SonBos - SonNokta - 1)
bol = Degerler
End Function
Kullanıcı avatarı
halily
Site Dostu
 
Kayıt: 23 May 2019 13:16
Meslek: yok
Yaş: 42
İleti: 912
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: adana


Forum Kullanıcı Tanımlı Fonksiyonlar ( KTF )

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe