Parçaal gibi ama değil

Katılım
30 Mart 2011
Mesajlar
61
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
20.06.2019
Arkadaşlar merhaba,

yardımınıza ihtiyacım var. Ekteki örnekte Müşteri No ve Müşteri Adı alanları var, Müşteri Adı alanında hem müşteri adı hem de müşteri no'lar yer alıyor tek bir metin içerisinde. Ben o metnin içinden Müşteri no'ları çekmek istiyorum, bunu "parçaal" ile yapamıyorum zira isimlerin uzunluk-kısalıkları sorun oluyor. Bunun kolay bir yolu var mıdır?

Teşekkürler..
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Kod:
=YERİNEKOY(PARÇAAL(B2;BUL("(";B2)+2;255);" )";"")
Bu şekilde deneyin.

.
 
Katılım
30 Mart 2011
Mesajlar
61
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
20.06.2019
Ömer Bey merhaba,

dediğiniz formülü kopyaladım, örnek olarak eklediğim excel yaklaşık 5,000 satırlık bir verinin küçük bir kısmı idi. Şimdi genele uyguladığımda ekteki gibi bir durumla karşılaşıyorum. Sanırım aynı metinde 2 ayrı parantez olmasından kaynaklanıyor. Bakmanız mümkün müdür?
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sayı olan değerler her zaman metnin sonuda mı oluyor.
 
Katılım
30 Mart 2011
Mesajlar
61
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
20.06.2019
Evet, her zaman sonda.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Arkadaşlar merhaba,

yardımınıza ihtiyacım var. Ekteki örnekte Müşteri No ve Müşteri Adı alanları var, Müşteri Adı alanında hem müşteri adı hem de müşteri no'lar yer alıyor tek bir metin içerisinde. Ben o metnin içinden Müşteri no'ları çekmek istiyorum, bunu "parçaal" ile yapamıyorum zira isimlerin uzunluk-kısalıkları sorun oluyor. Bunun kolay bir yolu var mıdır?

Teşekkürler..
.

Dosyanız ekte.

KTF ile yapılmıştır.

.
 

Ekli dosyalar

Katılım
30 Mart 2011
Mesajlar
61
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
20.06.2019
Sayın Yurttaş, teşekkür ediyorum, lakin VBA, Makro gibi konuları bilmiyorum ve sadece excel formülleri ile yapmam lazım :(

çok sayfalı bir çalışma kitabımın bir sayfasının bir bölümü bu örnek. Diğer tüm sayfalar bu rakamlar ile formülize edilebiliyor.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Fornksiyonla:

Kod:
=LOOKUP(9,9E+307;1*LEFT(MID(B2;MIN(FIND({0;1;2;3;4;5;6;7;8;9};B2&"0123456789"));999);ROW($1:$999)))

Kod:
=ARA(9,9E+307;1*SOLDAN(PARÇAAL(B2;MİN(BUL({0;1;2;3;4;5;6;7;8;9};B2&"0123456789"));999);SATIR($1:$999)))
şeklinde deneyin.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Yukarıdaki dosya güncellendi.

İki alternatif formül de verildi.

..
 
Katılım
9 Temmuz 2008
Mesajlar
277
Excel Vers. ve Dili
2007
Üstadlar gibi tek formülde değilde 2 formülde yapabildim.

B2 YE
Kod:
=MID(B2;FIND("(";B2);FIND(")";B2))
B3 E
Kod:
=VALUE(SUBSTITUTE(SUBSTITUTE(C2;"(";"");")";""))
Yazılarak buluyorum. Bu 2 formülü birleştirilebilir mi bilmiyorum.?
 
Katılım
30 Mart 2011
Mesajlar
61
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
20.06.2019
Sayın Yurttaş,

çok teşekkür ediyorum. Bir küçük sorunum daha var; sizin formülünüzü ekledim, çalışıyor. Bununla birlikte şöyle bir sıkıntım var; Müşteri ismi "adres 34" olan müşterim var mesela veya "4D İnşaat". Böyle olunca bu isimlerdeki rakamları alıyor ve metnin sonundaki asıl müşteri noyu almıyor. Sizin formüldeki "soldan" ibaresini "sağdan" olarak değiltirdim. Böyle olunca da müşteri nonun başına (-) ibaresi geldi; -6251432 gibi. Bu konuda bir yardımınız dokunur mu?

Kusura bakmayın parça parça soruyorum ama, örneklemim 5,000 kişilik, içinden seçip eklemiştim buraya, sorunla karşılaştıkça paylaşıyorum.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Sayın Yurttaş,

çok teşekkür ediyorum. Bir küçük sorunum daha var; sizin formülünüzü ekledim, çalışıyor. Bununla birlikte şöyle bir sıkıntım var; Müşteri ismi "adres 34" olan müşterim var mesela veya "4D İnşaat". Böyle olunca bu isimlerdeki rakamları alıyor ve metnin sonundaki asıl müşteri noyu almıyor. Sizin formüldeki "soldan" ibaresini "sağdan" olarak değiltirdim. Böyle olunca da müşteri nonun başına (-) ibaresi geldi; -6251432 gibi. Bu konuda bir yardımınız dokunur mu?

Kusura bakmayın parça parça soruyorum ama, örneklemim 5,000 kişilik, içinden seçip eklemiştim buraya, sorunla karşılaştıkça paylaşıyorum.
.

Eğer verilerinizde bir standartlık yoksa iş zorlaşır. O zaman bunları belirli standartları olan gruplar oluşturacaksınız ve buna göre sorunuzu soracaksınız.

Her seferinde standartın dışına çıkan bir durumla; bir de bu vardı, birde şu vardı derseniz, bir formülle hepsini karşılayan bir çözüm bulmak zor.

Yani her derde deva bir ilaç yok.


.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sayın yurttas konuyu özetlemiş. Eğer çalışmanızdaki yapıların tümü bilinmiyorsa her yeni şart için formüle yeniden ilave gerekir, buda formülün işleyişini ortada kaldırır.

Formülde eksi değer almanızdaki neden; Exceldeki parantez içerisinde yazılan rakamlar eksi olarak kabul görür.
Örneğin boş bir hücreye (5) yazarsanız -5 e döndüğünü görebilirsiniz.

Eğer parantez içinde veriler hiç bir zaman eksi değer olmayacaksa;

Kod:
=-ARA(9,99999999999999E+307;SAĞDAN(B2;SATIR($1:$255))+0)
Eğer olma ihtimali varsa;

Kod:
=ARA(9,99999999999999E+307;SAĞDAN(YERİNEKOY(YERİNEKOY(B2;"(";"");")";"");SATIR($1:$255))+0)
Formüllerini kullanabilirsiniz.
 
Katılım
30 Mart 2011
Mesajlar
61
Excel Vers. ve Dili
office 365 türkçe
Altın Üyelik Bitiş Tarihi
20.06.2019
Sayın Yurttaş, Sayın Ömer,

Her ikinize de çok teşekkür ediyorum. Şu anda sorunum çözüldü. Daha önce de bahsettiğim gibi 5,000 satırlık bir veriyi buraya yüklemektense örnekleme yapayım istedim ama onda da böyle bir sorunla karşılaştım. Amacım "bu da vardı, bu da vardı" değildi ama böyle oldu maalesef.

Tekrardan çok teşekkür ediyorum. Sağolun.
 
Üst