• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Parçaal gibi ama değil

Katılım
30 Mart 2011
Mesajlar
61
Excel Vers. ve Dili
office 365 türkçe
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

Merhaba,

Kod:
=YERİNEKOY(PARÇAAL(B2;BUL("(";B2)+2;255);" )";"")

Bu şekilde deneyin.

.
 
Ö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

Sayı olan değerler her zaman metnin sonuda mı oluyor.
 
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

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.
 
.

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.
 
.

Yukarıdaki dosya güncellendi.

İki alternatif formül de verildi.

..
 
Ü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.?
 
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.
 
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.


.
 
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.
 
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.
 
Geri
Üst