• DİKKAT

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

bir hücrede tekrarlayan karakterlere göre sıralatma yapmak ve saydırmak

  • Konbuyu başlatan Konbuyu başlatan makzen
  • Başlangıç tarihi Başlangıç tarihi
Katılım
25 Eylül 2008
Mesajlar
30
Excel Vers. ve Dili
EXCEL 2003 INGILIZCE (İŞ)

EXCEL 2003 TÜRKÇE (EV)
Merhaba,


Stok kodu listem var ve bu listedeki kodların içindeki karakterler tekrarlıyor.Yaptırmak istediğim şey tekrarlayan karakterlere göre listeyi sıralatabilmek ve o tekrarlayan karakterleri saydırabilmek.

İstediğimi örnekteki tabloda açıklamaya çalıştım.Umarım anlatabilmişimdir.

Şimdiden ilgilenen,emeği geçen herkese teşekkür ederim.
 

Ekli dosyalar

Bu karakterlerin ortak özelliği nedir? Anladığım kadarıyla tamamı 10 karakter. Text'in içinde tam olarak nereden başladığı önemli. Örneğin hepsi rakamla mı başlıyor? Text içinde görünün ilk rakam bu karakterlerin başlangıcı mıdır?
Yani şöyle bir genel kuraldan bahsedebilir miyiz? Text içinde soldan gelirken ilk rakamdan başla, 10 karakter say?
 
Maalesef standart bir durum yok. Başta tek karakter olduğu gibi 3 karakter olan da var; ayrılacak 10 karakter olduğu gibi 11 karakter olan da var.

Benim bulabildiğim ortak nokta ise bir rakamla başlaması ve _ işaretinden sonra 2 karakter bulunması.

Ona göre bir düzenleme yapılabilir mi bilmiyorum. Ben yapamadım maalesef.
 
Fonksiyon yazarak çok kolay olur aslında ama şimdi o yola girmeyelim. Söylediğiniz kuralların her zaman geçerli olduğunu kabul ediyorum. A2'de datalarınızın olduğunu varsayarsak birinci sütun (B2 hücresine yazılacak) için formül şu;

=+IF(AND(CODE(LEFT(A2;1))>47;CODE(LEFT(A2;1))<58)=TRUE;MID(A2;1;11);IF(AND(CODE(MID(A2;2;1))>47;CODE(MID(A2;2;1))<58)=TRUE;MID(A2;2;11);IF(AND(CODE(MID(A2;3;1))>47;CODE(MID(A2;3;1))<58)=TRUE;MID(A2;3;11);IF(AND(CODE(MID(A2;4;1))>47;CODE(MID(A2;4;1))<58)=TRUE;MID(A2;4;11);IF(AND(CODE(MID(A2;5;1))>47;CODE(MID(A2;5;1))<58)=TRUE;MID(A2;5;11);0)))))

C2 hücresine yazılacak formül de şu;

=+IF(MID(B2;8;1)="_";LEFT(B2;10);B2)

Böylece aradığınız karakterler ayrışmış olur. Ona göre istediğiniz işlemi yaparsınız.
 
Ben dışardan bakanım yalnız, soran başkası:)
 
Merhaba Sayın Tarumar,

Denemeniz için teşekkür ederim formülü uyguladım fakat sanırım tam olarak istediğimi anlatamadım çıkan sonuç istediğim gibi olmadı.Yazdığınız formülü tam olarak anlıyamadığım için belirttiğiniz hücrelere kopyaladım fakat hücrelerde birleştirme yaptı.Sadece tekrarlayan değere göre sıralatma oldu.Baştaki harfleri de içeren bir sıralatma gerekiyor çünkü,baştaki harfler işmerkezini belirtiyor benim için.İlginiz için teşekkür ederim.

Sayın Yusuf,

Evet kod sistematiğindeki dizilim standart olmadığı için sıkıntı yaşıyorum.Genel dizilimi şöyle düşünebiliriz:

P44ORG44_01 örneğine göre

harf+rakam+rakam+harf+harf+harf+rakam+rakam+alt tire+rakam+rakam

Bu bilgiye göre yapabilir miyiz ?İlginiz için teşekkür ederim
 
Sayın makzen, öyle değil maalesef. Bazıları öyle olsa da bazıları 3 harfle başlayabiliyor. Eğer her zaman tek harfle başlasaydı ve aranan kod da her zaman 10 gibi bir standart uzunlukta olsaydı çok kolaylıkla halledilebilirdi.

Dediğim gibi standart anladığım kadarıyla kodun her zaman bir sayıyla başlaması ve alt tireden sonra 2 karakter olması. yani formül yada makro "ilk sayıdan itibaren alt tireden sonraki iki karakter dahil al" şeklinde olmalı.

Maalesef benim bilgimle şu anda bu formülasyonu kuramıyorum. Sayın Tarumar'ın verdiği formül ingilizce olduğu için denemedim maalesef.
 
Geri
Üst