Banka Açıklama Kısmından İsim Soyisimi Almak

Katılım
17 Nisan 2024
Mesajlar
4
Excel Vers. ve Dili
Excel, Power BI
Merhaba, Banka ekstrelerinden sadece isimlerini yan sütuna almak istiyorum ve virman açıklamalarının ise aynı şekilde gelmesini istiyorum.
Örneğin:
Aşağıdaki gibi sıralanan bir banka ekstresi var. Yan hücreye Sadece isim soy isimlerin geçmesini istiyorum, virmanların ise aynı kalmasını.
Şöyle düşündüm, virman hücreleri her zaman sayı ile başlıyor, o yüzden eğer formülünü kullanarak "hücre eğer sayı ile başlıyorsa, doğru ise hücreyi al yanlış ise, (yani diğer hücreler için, birinci boşluktan üçüncü boşluk arası parça al, kes.." diye bir formül kurguladım fakat yapamadım, yardımcı olur musunuz?

SN:8949866 Ahmet Yılmaz Elif Kaya GönBanka:46 FastRef:2518242 Fast Otomatik Muhasebe

SN:7039624 Murat Öztürk Ayşe Demir GönBanka:205 FastRef:2555977 Fast Otomatik Muhasebe

60 NOLU HESABIN 76 NOLU HESABA VİRMANI 56 - 2510774 - 76 Hesaba Virman

SN:813281499 Fatma Arslan GönBanka:111 FastRef:2506351 Fast Otomatik Muhasebe

60 NOLU HESABIN 76 NOLU HESABA VİRMANI 56 - 2510774 - 76 Hesaba Virman

 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,126
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
Yazdığınız mantığa göre formülünüz aşağıdadır, ancak çift isimlerde istediğiniz sonucu alamazsınız.
Kod:
=EĞER(ESAYIYSA(--SOLDAN(A1;1));A1;DEĞİŞTİR(DEĞİŞTİR(A1;BUL("#";YERİNEKOY(A1;" ";"#";3));UZUNLUK(A1);"");1;BUL(" ";A1);""))
Eğer her satırda GönBanka ifadesi varsa aşağıdaki şekilde daha doğru sonuç elde edersiniz.
Kod:
=EĞER(ESAYIYSA(--SOLDAN(A1;1));A1;DEĞİŞTİR(DEĞİŞTİR(A1;BUL("#";YERİNEKOY(A1;" Gön";"#"));UZUNLUK(A1);"");1;BUL(" ";A1);""))
 

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,674
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
Merhaba,
Deneyiniz.
Kod:
=EĞERHATA(PARÇAAL(PARÇAAL(A1;BUL(" ";A1)+1;UZUNLUK(A1));1;BUL("Gön";PARÇAAL(A1;BUL(" ";A1)+1;UZUNLUK(A1)))-1);A1)
 
Katılım
17 Nisan 2024
Mesajlar
4
Excel Vers. ve Dili
Excel, Power BI
Merhaba,
Yazdığınız mantığa göre formülünüz aşağıdadır, ancak çift isimlerde istediğiniz sonucu alamazsınız.
Kod:
=EĞER(ESAYIYSA(--SOLDAN(A1;1));A1;DEĞİŞTİR(DEĞİŞTİR(A1;BUL("#";YERİNEKOY(A1;" ";"#";3));UZUNLUK(A1);"");1;BUL(" ";A1);""))
Eğer her satırda GönBanka ifadesi varsa aşağıdaki şekilde daha doğru sonuç elde edersiniz.
Kod:
=EĞER(ESAYIYSA(--SOLDAN(A1;1));A1;DEĞİŞTİR(DEĞİŞTİR(A1;BUL("#";YERİNEKOY(A1;" Gön";"#"));UZUNLUK(A1);"");1;BUL(" ";A1);""))

Çok teşekkür ederim büyük ölçüde çözüldü, Ayrıca her satırda "GönBanka" var mı diye sormuştunuz, bazı satırlarda "Açıklama" var. ama formül yine de doğru çalışıyor.
fakat;
bazı virman satırları "VİRMAN" olarak başladığı için formül onu da parçalıyor. Onu nasıl yapabiliriz?
örneğin:

56 2510774 76 Nolu Hesaba Transfer

SN:1034623474 BÜŞRA HASAN Açıklama: Karaca GönBanka:15 FastRef:2516071 Fast Otomatik Muhasebe

VİRMAN 56 - 2510774 - 47 Hesaba Virman


çıktı:

56 2510774 76 Nolu Hesaba Transfer

BÜŞRA HASAN

56 -

 
Son düzenleme:
Katılım
17 Nisan 2024
Mesajlar
4
Excel Vers. ve Dili
Excel, Power BI
Merhaba,
Deneyiniz.
Kod:
=EĞERHATA(PARÇAAL(PARÇAAL(A1;BUL(" ";A1)+1;UZUNLUK(A1));1;BUL("Gön";PARÇAAL(A1;BUL(" ";A1)+1;UZUNLUK(A1)))-1);A1)
içeriğinde "açıklama" olan satırlarda sonuca açıklama ada aldı :(
örneğin aşıdaki satıra formül eklediğimde sonuç sadece "Emre GÜRBÜZ" olmasını isterken, "Emre GÜRBÜZ Açıklama: Emre GÜRBÜZ" veriyor

SN:2645131842 Emre GÜRBÜZ Açıklama: Emre GÜRBÜZ GönBanka:10 FastRef:2513071 Fast Otomatik Muhasebe

 
 
 
 
 
Son düzenleme:

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,126
Excel Vers. ve Dili
2007 Türkçe
bazı virman satırları "VİRMAN" olarak başladığı için formül onu da parçalıyor. Onu nasıl yapabiliriz?
Kod:
=EĞER(YADA(ESAYIYSA(--SOLDAN(A1;1));SOLDAN(A1;6)="VİRMAN");A1;DEĞİŞTİR(DEĞİŞTİR(A1;BUL("#";YERİNEKOY(A1;" ";"#";3));UZUNLUK(A1);"");1;BUL(" ";A1);""))
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,310
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Veriler A2 hücresinden başlayarak aşağıya doğru devam ediyorsa, alternatif olarak VBA'de "Regular Expressions" kullanarak bu iş yapılabilir;

C#:
Sub Test()
'   Haluk - 17/04/2024
    Dim NoA As Long
    Dim regExp As Object
    Dim myStr As String, i As Long

    NoA = Range("A" & Rows.Count).End(xlUp).Row
    Range("B2:B" & NoA) = ""

    Set regExp = CreateObject("VBScript.RegExp")

    regExp.IgnoreCase = True
    regExp.Global = True
    regExp.Pattern = "(SN:\d+)\s*(.+?)\s*(GönBanka|Açıklama)"

    For i = 2 To NoA
        myStr = Range("A" & i)
        If regExp.Test(myStr) Then
            Range("B" & i) = regExp.Execute(myStr)(0).submatches(1)
        End If
    Next

    Set regExp = Nothing
End Sub


Screenshot.png


.
 
Son düzenleme:

Mahir64

Destek Ekibi
Destek Ekibi
Katılım
19 Nisan 2006
Mesajlar
6,674
Excel Vers. ve Dili
Excel 2013-Türkçe
Excel 2016-Türkçe
Sorunuz çözülmüş buna sevindim. Ancak tüm olasılıkları baştan yazmalısanız, ilk mesajda açıklama ile ilgili örnek yok.
İyi çalışmalar.
 
Üst