Çözüldü Hücredeki Değeri İBAN Formatına Çevirme

bychilavert

Normal Üye
Excel Versiyonu
Excel 365
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba
Elimde 2000 satırlık iban numarası var yazım şekli TR960006701000000012345678 şeklinde yazıyor bunu TR96 0006 7010 0000 0012 3456 78 şekline çevirmek istiyorum. Hücre biçimlendirme - İsteğe göre uyarlama sayfasından "TR"## #### #### #### #### #### ## yaparak tek tek elle yazdığım zaman istediğim gibi oluyor. Ama yazılmış bir iban numarasını otomatik bu formata nasıl çevirebilirim.
Fonksiyon olarak aşağıda yazdığımı kullanmak istediğim zaman bazen sıfırları eksik yazıyor.
Function IBAN(IbanNo As String)

IBAN = "TR" & Format(Right(IbanNo, 24), "## #### #### #### #### #### ##")

End Function
 

Ekli dosyalar

Selamlar,

Ekleme olması açısından yazıyorum.

Eğer ki, IBAN numaraları A2 : A20 aralığında olup da B2 ye yazacağınız Tek formülle dökülmeli isterseniz

@Mehmet formülünü

BYROW -LAMBDA ya da MAP - LAMBDA işlevlerine sarmanız yeterli olacaktır.. Yani

=BYROW(A2:A20;LAMBDA(s;METİNBİRLEŞTİR(" ";;PARÇAAL(s;SIRALI(;20;;4);4))))

Ayrıca,
2 no lu mesajda verilen @Mehmet formülünün (DEĞİŞTİR işlevi kullanılan formül)
eşdeğeri olarak 365 işlevleriyle Dizi olarak elde edilmesi

Her bir hücre için, (formül yazılıp aşağıya doğru kopyalama yapılarak)

=REDUCE("";SIRALI(UZUNLUK(A2));LAMBDA(x;y;x&PARÇAAL(A2;y;1)&EĞER(MOD(y;4);"";" ")))

A2 : A20 aralığındaki IBAN Numaraları için B2 ye yazacağınız Tek formülle dökülmeli isterseniz, yine BYROW ya da MAP işlevine sarabilirsiniz.

=BYROW(A2:A20;LAMBDA(s;REDUCE("";SIRALI(UZUNLUK(s));LAMBDA(x;y;x&PARÇAAL(s;y;1)&EĞER(MOD(y;4);"";" ")))))

ya da

Maxi uzunluk belirleyerek BYROW işlevine sarmadan da yapabilirsiniz.
Örneğin maxi karakter adedi 50 olsun. (ya da 50 yerine MAK(UZUNLUK(A2:A20)) formülünü de kullanabilirsiniz)

=REDUCE("";SIRALI(50);LAMBDA(x;y;x&PARÇAAL(A2:A20;y;1)&EĞER(MOD(y;4);"";" ")))
 
Son düzenleme:
Selamlar,

Ekleme olması açısından yazıyorum.

Eğer ki, IBAN numaraları A2 : A20 aralığında olup da B2 ye yazacağınız Tek formülle dökülmeli isterseniz

@Mehmet formülünü

BYROW -LAMBDA ya da MAP - LAMBDA işlevlerine sarmanız yeterli olacaktır.. Yani

=BYROW(A2:A20;LAMBDA(s;METİNBİRLEŞTİR(" ";;PARÇAAL(s;SIRALI(;20;;4);4))))

Ayrıca,
2 no lu mesajda verilen @Mehmet formülünün (DEĞİŞTİR işlevi kullanılan formül)
eşdeğeri olarak 365 işlevleriyle Dizi olarak elde edilmesi

Her bir hücre için, (formül yazılıp aşağıya doğru kopyalama yapılarak)

=REDUCE("";SIRALI(UZUNLUK(A2));LAMBDA(x;y;x&PARÇAAL(A2;y;1)&EĞER(MOD(y;4);"";" ")))

A2 : A20 aralığındaki IBAN Numaraları için B2 ye yazacağınız Tek formülle dökülmeli isterseniz, yine BYROW ya da MAP işlevine sarabilirsiniz.

=BYROW(A2:A20;LAMBDA(s;REDUCE("";SIRALI(UZUNLUK(s));LAMBDA(x;y;x&PARÇAAL(s;y;1)&EĞER(MOD(y;4);"";" ")))))

ya da

Maxi uzunluk belirleyerek BYROW işlevine sarmadan da yapabilirsiniz.
Örneğin maxi karakter adedi 50 olsun. (ya da 50 yerine MAK(UZUNLUK(A2:A20)) formülünü de kullanabilirsiniz)

=REDUCE("";SIRALI(50);LAMBDA(x;y;x&PARÇAAL(A2:A20;y;1)&EĞER(MOD(y;4);"";" ")))

Bu güzel bilgiler ve alternatifler için çok teşekkürler. Ellerinize sağlık.
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Genel Excel Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
7
Üst