Extre Bilgisindeki İsimleri ve Miktarları Almak

mustafa1205

Altın Üye
Katılım
23 Ekim 2010
Mesajlar
1,261
Excel Vers. ve Dili
Office 2016 / 64 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
18-07-2026
Örnek dosyamda da açıklama yapmaya çalıştım. Bankadan aldığımız extre de standart bilgiler içeren ve içinde örnek dosyada anlatmaya çalıştığım ad soyadları ve para miktarları yan sütuna almak istiyorum. Teşekkür ederim
 

Ekli dosyalar

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
İlk aklıma geleni yaptım, daha iyisi yapılabilir..
B1 hücresine:
Kod:
=PARÇAAL(A1;MBUL(":";A1;100)+1;MBUL(" ";A1;11))
C1 hücresine:
Kod:
=PARÇAAL(A1;MBUL("TL";A1;100)+3;5)
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
RegExp kullanarak VBA ile alternatif;

C++:
Function getAmount(str As String)
    With CreateObject("VBscript.RegExp")
        .Global = True
        .Pattern = "TL\s\d+(\,\d+)?"
        str = Replace(WorksheetFunction.Trim(str), ".", "")
        If .Test(str) Then
            getAmount = Replace(.Execute(str)(0), "TL ", "") + 0
        Else
            getAmount = vbNullString
        End If
    End With
End Function
'
Function getName(str As String)
    With CreateObject("VBscript.RegExp")
        .Global = True
        .Pattern = "(Gönderen:|Borçlu Hesap Sahibi)(.+)(\sBankası:|\sHesap Şubesi:)"
        str = WorksheetFunction.Trim(str)
        If .Test(str) Then
            getName = Replace(Replace(.Execute(str)(0), "Gönderen:", ""), " Bankası:", "")
            getName = Replace(Replace(getName, "Borçlu Hesap Sahibi:", ""), " Hesap Şubesi:", "")
        Else
            getName = vbNullString
        End If
    End With
End Function
 
Moderatör tarafında düzenlendi:

mustafa1205

Altın Üye
Katılım
23 Ekim 2010
Mesajlar
1,261
Excel Vers. ve Dili
Office 2016 / 64 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
18-07-2026
İlk aklıma geleni yaptım, daha iyisi yapılabilir..
B1 hücresine:
Kod:
=PARÇAAL(A1;MBUL(":";A1;100)+1;MBUL(" ";A1;11))
C1 hücresine:
Kod:
=PARÇAAL(A1;MBUL("TL";A1;100)+3;5)
Sayın Greenblacksea53. Emeğinize sağlık. İsmi alıyor ancak para miktarı değişince yeni miktarı almıyor sadece 1050 olarak alıyor.
 

Greenblacksea53

Altın Üye
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
Para kırmızından sonrakini aldım onu da değiştirmen gerekmez mi ?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aşağıdaki fonksiyonları deneyiniz.

C++:
Function getAmount(str As String)
    With CreateObject("VBscript.RegExp")
        .Global = True
        .Pattern = "TL\s\d+(\,\d+)?"
        str = Replace(WorksheetFunction.Trim(str), ".", "")
        If .Test(str) Then
            getAmount = Replace(.Execute(str)(0), "TL ", "") + 0
        Else
            getAmount = vbNullString
        End If
    End With
End Function
'
Function getName(str As String)
    With CreateObject("VBscript.RegExp")
        .Global = True
        .Pattern = "(Gönderen:|Borçlu Hesap Sahibi:)(.+)(\sBankası:|\sHesap Şubesi:|Bankası/Şubesi:)"
        str = WorksheetFunction.Trim(str)
        If .Test(str) Then
            getName = Replace(Replace(.Execute(str)(0), "Gönderen:", ""), " Bankası:", "")
            getName = Replace(Replace(getName, "Borçlu Hesap Sahibi:", ""), " Hesap Şubesi:", "")
            getName = Replace(getName, "Bankası/Şubesi:", "")
            
            
        Else
            getName = vbNullString
        End If
    End With
End Function
 
Moderatör tarafında düzenlendi:

mustafa1205

Altın Üye
Katılım
23 Ekim 2010
Mesajlar
1,261
Excel Vers. ve Dili
Office 2016 / 64 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
18-07-2026
Hocam çok teşekkür ederim. Elinize sağlık.Harikasınız
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,228
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Biraz formül antrenmanı yaptım. Alternatif olsun..

Not: Dosyanızdaki kişisel bilgiler gerçekse forumdan kaldırırsanız iyi olur.

B2;
C++:
=EĞER(C2=0;"";EĞERHATA(KIRP(YERİNEKOY(YERİNEKOY(YERİNEKOY(YERİNEKOY(YERİNEKOY(PARÇAAL(KIRP(A2);İNDİS(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));""));0));İNDİS(EĞERHATA(MBUL({"Alacaklı Hesap:";"Bankası:";"Hesap Şubesi:";"No:";"hesabına"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"Alacaklı Hesap:";"Bankası:";"Hesap Şubesi:";"No:";"hesabına"};KIRP(A2));""));0))-İNDİS(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));""));0)));"Hesap Sahibi:";"");"Gönderen:";"");"Alacaklı Adı:";"");"Kurum Adı:";"");"-";""));""))
C2;
C++:
=EĞERHATA(SAYIYAÇEVİR(PARÇAAL(KIRP(A2);MBUL("TL ";KIRP(A2))+3;İNDİS(EĞERHATA(MBUL({"- H";"+ H";"- V"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"- H";"+ H";"- V"};KIRP(A2));""));0))-MBUL("TL ";KIRP(A2))-3));0)
 

mustafa1205

Altın Üye
Katılım
23 Ekim 2010
Mesajlar
1,261
Excel Vers. ve Dili
Office 2016 / 64 Bit - Türkçe
Altın Üyelik Bitiş Tarihi
18-07-2026
Biraz formül antrenmanı yaptım. Alternatif olsun..

Not: Dosyanızdaki kişisel bilgiler gerçekse forumdan kaldırırsanız iyi olur.

B2;
C++:
=EĞER(C2=0;"";EĞERHATA(KIRP(YERİNEKOY(YERİNEKOY(YERİNEKOY(YERİNEKOY(YERİNEKOY(PARÇAAL(KIRP(A2);İNDİS(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));""));0));İNDİS(EĞERHATA(MBUL({"Alacaklı Hesap:";"Bankası:";"Hesap Şubesi:";"No:";"hesabına"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"Alacaklı Hesap:";"Bankası:";"Hesap Şubesi:";"No:";"hesabına"};KIRP(A2));""));0))-İNDİS(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"Hesap Sahibi:";"Gönderen:";"Alacaklı Adı:";"Kurum Adı:";"-"};KIRP(A2));""));0)));"Hesap Sahibi:";"");"Gönderen:";"");"Alacaklı Adı:";"");"Kurum Adı:";"");"-";""));""))
C2;
C++:
=EĞERHATA(SAYIYAÇEVİR(PARÇAAL(KIRP(A2);MBUL("TL ";KIRP(A2))+3;İNDİS(EĞERHATA(MBUL({"- H";"+ H";"- V"};KIRP(A2));"");KAÇINCI(DOĞRU;ESAYIYSA(EĞERHATA(MBUL({"- H";"+ H";"- V"};KIRP(A2));""));0))-MBUL("TL ";KIRP(A2))-3));0)

Teşekkür ederim Korhan Hocam . Çok başarılı olmuş. Harika çalışıyor
 
Üst