Çözüldü Bir, İki ve Üç kelimeden oluşan isimlerin kısaltılması

Katılım
1 Şubat 2021
Mesajlar
18
Excel Vers. ve Dili
2007 Türkçe
Merhaba,

Bir, iki ve üç kelimeden oluşan mahalle isimlerim var.
Bunları A1 den aşağı doğru karışık bir şekilde yazıyorum.
B1 deki formülü aşağı doğru çekince
kelimeler arasındaki boşluklara bakarak kaç kelimeden oluştuğunu kontrol edip
aşağıdaki şekilde kısaltmasını istiyorum.

Atatürk = Atatürk
Mustafa Kemal = M. Kemal
Mustafa Kemal Atatürk = M. K. Atatürk

Zafer = Zafer
Murathan = Murathan
Çamlıpınar = Çamlıpınar

Yahya Kemal = Y. Kemal
Yahya Kemal Beyatlı = Y. K. Beyatlı

gibi.

Yardımcı olursanız çok sevinirim.
Teşekkürler
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,746
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde dener misiniz ?
Kod:
=SOLDAN(A1;1) &"." & PARÇAAL(A1;MBUL(" ";A1)+1;1)&"."&SAĞDAN(A1;MBUL(" ";A1)+1)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,007
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

5 isimli kişilere kadar sonuç verecektir.

C++:
=EĞER(A1="";"";EĞER(EHATALIYSA(BUL(" ";A1));A1;EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=1;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=2;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));3*30;30));EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=3;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));3*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));4*30;30));EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=4;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));3*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));4*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));5*30;30))))))))
 
Katılım
1 Şubat 2021
Mesajlar
18
Excel Vers. ve Dili
2007 Türkçe
Bu şekilde dener misiniz ?
Kod:
=SOLDAN(A1;1) &"." & PARÇAAL(A1;MBUL(" ";A1)+1;1)&"."&SAĞDAN(A1;MBUL(" ";A1)+1)
İlginiz için teşekkür ederim. Formülünüzü uyguladım. Aldığım sonuç şöyle oldu.

MUSTAFA KEMAL ATATÜRK

M.K.L ATATÜRK

MUSTAFA KEMAL

M.K.AFA KEMAL

ATATÜRK

#DEĞER!

  

YAHYA KEMAL BEYATLI

Y.K.BEYATLI

 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,801
Excel Vers. ve Dili
Microsoft 365 Tr-64
Korhan bey, sırf uğraşınız bile takdir görüyor.
Yorulmadan, usanmadan. Tebrik ederim.

224962
 
Katılım
1 Şubat 2021
Mesajlar
18
Excel Vers. ve Dili
2007 Türkçe
Deneyiniz.

5 isimli kişilere kadar sonuç verecektir.

C++:
=EĞER(A1="";"";EĞER(EHATALIYSA(BUL(" ";A1));A1;EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=1;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=2;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));3*30;30));EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=3;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));3*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));4*30;30));EĞER(UZUNLUK(A1)-UZUNLUK(YERİNEKOY(A1;" ";""))=4;SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));1*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));2*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));3*30;30));1)&". "&SOLDAN(KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));4*30;30));1)&". "&KIRP(PARÇAAL(YERİNEKOY(" "&PARÇAAL(A1;1;UZUNLUK(A1));" ";YİNELE(" ";30));5*30;30))))))))
Tam istediğim sonucu verdi.
Epeyce uzun bir formül olmuş. Zaman harcamışsınız.
Elinize sağlık. Hakkınızı helal edin.
Umarım başkalarının da işine yarayacaktır.
Çok teşekkür ederim.

MUSTAFA KEMAL ATATÜRK

=

M. K. ATATÜRK

MUSTAFA KEMAL

=

M. KEMAL

ATATÜRK

=

ATATÜRK

YAHYA KEMAL BEYATLI

=

Y. K. BEYATLI

 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,398
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Alternatif olarak; 3'e kadar çalışır...

Kod:
=BÜYÜKHARF(SOLDAN(A1;1) & "." & EĞERHATA(PARÇAAL(A1;MBUL(" ";A1)+1;1);"") & "." & EĞERHATA(PARÇAAL(A1;MBUL(" ";A1;MBUL(" ";A1)+1)+1;99);""))
.
 
Üst