Kritere Göre Tekrarsız Sıklık Sıralaması

Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Merhabalar. asagidaki linkte yuklemis oldugum excel dosyasinda acikladigim uzere, elimde ziyaret edilen adreslerin oldugu A sutunu ve o adreslere yapilan ziyaret sayilarinin yazili oldugu B sutunu var. C1 hucresine el ile girilen bir ziyaret sayisina bagli olarak (ornegin 7 ) , yapmak istedigim D sutununda ziyaret sayisi 7 veya 7den buyuk olan A sutunundaki adresleri en cok ziyaret edilenden en az ziyaret edilene kadar (7 kez ziyaret edilen adrese kadar) kendisini tekrar eden adres olmaksizin siralamak istiyorum. bu konuda yardimci olabileceklere tesekkur ederim. Saygilar.
Dosya LINK>>> http://s6.dosya.tc/server6/xhpcup/hayaletinizi.xlsx.html
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhabalar.

-- D2 hücresine (yardımcı sütun olarak kullanılmak üzere liste boyunca kopyalayın)
Kod:
=EĞER(VE(EĞERSAY($A$2:A2;A2)=1;EĞERSAY($A$2:$A$20;A2)>=$B$2);EĞERSAY($A$2:$A$20;A2);"")

C2 hücresine (liste boyunca kopyalayın)
Kod:
=EĞER(EĞERSAY($D$2:$D$20;">0")<SATIRSAY($C$1:C1);"";İNDİS($A$2:$A$20;KAÇINCI(BÜYÜK($D$2:$D$20;SATIR()-1);$D$2:$D$20;0);0))
B2 hücresindeki değeri değiştirerek sonucu gözlemleyin.
.
 
Son düzenleme:
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Tek seferde s1kl1k listesi siralamasini su sekilde yaptim fakat bunu belli bir hucreye yazilan sayiya gore (tipki ornek dosyada C2 hucresine girilen sayiyi baz alarak) , 7 ve 7den fazla ziyaret edilmis olanlari siralamayi beceremedim. Bunu tek islemde asagida paylastigim dosyada ornek olarak E2 Hucresinde koydugum ve asagida yine paylastigim s1kl1k siralamasi formulunu kullanarak yapabilmenin bir yolu var midir ?

Cok tesekkur ederim cozumler icin.
ORNEK DOSYA (tek seferde TEKRARSIZ coktan aza dogru islem yapan s1kl1k formulu ile yapmak mumkun mu?) >>> http://s6.dosya.tc/server6/e8dtmn/2-hayaletinizi.xlsx.html

E2 HUCRESINE
Kod:
=EĞERHATA(İNDİS($A$2:$A$20;ENÇOK_OLAN(EĞER(($A$2:$A$20<>"")*EYOKSA(KAÇINCI($A$2:$A$20;E$1:E1,0)),KAÇINCI($A$2:$A$20;$A$2:$A$20;0)*{1;1}))); "")
 
Son düzenleme:
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Merhabalar,
İstediğiniz böyle bir şey mi ?
D2 hücresine girip gerektiği kadar çoğaltınız.
Kod:
=İNDİS(A$2:A$20;
  KÜÇÜK(EĞER(KAÇINCI(A$2:A$20;A$2:A$20;)=
    SATIR(A$1:A$19);EĞER(EĞERSAY(A$2:A$20;A$2:A$20)>=
  C$2;SATIR(A$2:A$20)));SATIRSAY(A1:A$1)))
[COLOR="Blue"]Formül dizi formülüdür.CTRL+SHIFT+ENTER ile tamalayınız.[/COLOR]
Saygılar,
Wuic
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Beklediğiniz sonucu yardımcı sütun kullanarak ulaştım. Yardımcı sütun kullanmanızda herhangi bir sakınca yoksa daha sonra açıklama yaparım.
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Su formul ile tek seferde cozume ulasiyorum s1kl1k listesini cikartmak istedigimde. fakat bunu bir turlu B2 hucresine el ile girilen sayiyla iliskilendiremedim. Soyle ki o sayi kadar A sutununda tekrarlanan, veya o sayidan fazla tekrarlananlari unique ve yogundan aza dogru C sutununda siralatmak..
Yani duz dusunup su formulde cikan sonucu a sutununda eger say ile saydirip, B2 hucresinden buyuk veya esitse ayni formulu tekrardan yazip islem yapabiliyorum fakat bu islem kalabaligi oluyor. daha zekice bir yol ariyorum.

C sutunundaki s1kl1k formulum su >> (noktali virgul yerine virgul kullaniyorum ben.)

=EĞERHATA(İNDİS($A$2:$A$20;ENÇOK_OLAN(EĞER(($A$2:$A$20<>"")*EYOKSA(KAÇINCI($A$2:$A$20;C$1:C1;0));KAÇINCI($A$2:$A$20;$A$2:$A$20;0)*{1;1}))); "…")

yukaridaki formulde formulun EGERHATA haric sonucunu B2 ile iliskilendirmek fakat tum formulu egersay yazip saydirip B2 ile iliskilendirip yoklamak islem kalabaligi yaratiyor tipki soyle oldugu gibi (AYNI formul egersaydan sonra ve sonuc dogruysa islem yapilan kisimda da aynen kopyala yapistir, egersay eger B2deki sayidan kucuk ise bosluk koyuyorum. daha zekice bir yolu varmidir yukaridaki formul ile B2deki sayiyi iliskilendirmenin?)>>>
=EĞERHATA(EĞER(EĞERSAY($A$2:$A$20;İNDİS($A$2:$A$20;ENÇOK_OLAN(EĞER(($A$2:$A$20<>"")*EYOKSA(KAÇINCI($A$2:$A$20;C$1:C1,0));KAÇINCI($A$2:$A$20;$A$2:$A$20;0)*{1;1}))))>=$B$2;İNDİS($A$2:$A$20;ENÇOK_OLAN(EĞER(($A$2:$A$20<>"")*EYOKSA(KAÇINCI($A$2:$A$20;C$1:C1;0));KAÇINCI($A$2:$A$20;$A$2:$A$20;0)*{1;1})));"");"…")
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

Önceki cevabımı, son eklediğiniz dosyaya göre güncelledim.

Yardımcı sütun kullanarak çözüm isterseniz; yeni formüller istediğiniz sonucu verecektir.
.
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Maalesef sonuc s1kl1k listesi olarak gelmedi. ? Baska cikis yolu var midir?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Verdiğim formüllerin uygulandığı dosyaya BURADAN ulaşabilirsiniz.
 
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Omer.Baran , her ne kadar yardimci sutun kullanmadan cozume ulasmaya calismis olsam da, formul sorunsuz calisiyor. :) Bu formulu kullanacagim . Cok tesekkur ederim vakit ayirip yardimci oldugunuz icin.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Omer.Baran , her ne kadar yardimci sutun kullanmadan cozume ulasmaya calismis olsam da, formul sorunsuz calisiyor. :) Bu formulu kullanacagim . Cok tesekkur ederim vakit ayirip yardimci oldugunuz icin.


Bu tür durumlarda benim tercihim genellikle yardımcı sütun kullanmaktır.
Dizi formüllerini sadece birkaç hücrelik işlemlerde kullanıyorum.
Bunun nedeni de hesaplamanın yapılma süresi.
Malum dizi formülleri; hele bir de veri yığını büyükse oldukça yavaş çalışıyor.
Birkaç hücrede elbette mesele değil veya süre farkı olmayabilir.
Ancak; örneğin bin satırda arama/sayma yapan bin adet dizi formülü yerine
yardımcı sütun kullanıp ikiben tane normal formül kullanmak daha hızlı sonuç verir bence.

İhtiyacınız görüldüğüne göre mesele yok.
İyi günler dilerim.
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Ömer Bey,

Önerdiğiniz dosyada A sütununda Mechanicville olan iki değeri Clifton Park olarak değiştirip tekrar kontrol eder misiniz?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Ömer Bey,

Önerdiğiniz dosyada A sütununda Mechanicville olan iki değeri Clifton Park olarak değiştirip tekrar kontrol eder misiniz?
Merhabalar Sayın bzace.

Örnek belge bir'den fazla olduğu için tam anlamadım ama uyarınız ile eşitlik seçeneğini dikkate almadığımı fark ettim.
Sizin uyarınız da bununla ilgili ise dikkatiniz için tebrik ve teşekkürler.

Verdiğim formül yapısında eşitlik halini hiç düşünmemiştim doğrusu.

Bu durumu da gidermek için D2 hücresi için önerdiğim formülde eşitliği bozmak için
(listede önce yer alma kriteri kullanılabilir düşünerek)
aşağıdaki şekilde değişiklik yapmak yerinde olur.
Kod:
=EĞER(VE(EĞERSAY($A$2:A2;A2)=1;EĞERSAY($A$2:$A$20;A2)>=$B$2);EĞERSAY($A$2:$A$20;A2)[B][COLOR="Blue"]+1/SATIR()[/COLOR][/B];"")
 
Son düzenleme:
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Oh wow.. Hakikaten hatayi ben de fark etmedim. bzace gercekten vakit ayirip fark edip, hatirlattigin icin tesekkurler. Son onerdiginiz cozume baktim omer bey, sorunsuz calisiyor.
Dizi formuleriyle ilgili onerinizi cok aci bir sekilde ogrendim gectigimiz sene adreslerden parca almak ile ilgili ugrastigim zamanlarda. Yaklasik 2 saat sonra excel islemi tamamladi :).

--Yine ayni bu konuyla ilgili Cok benzer bir baska sorum olacak. Bu nedenle yeni bir konu acmayi gerekli gormedim fakat yine de dilerseniz yeni konu acip sorabilirim.
Sorum ise; AynI listeyi goz onune aldigimizda, tek sefer yazdirmak sartiyla en cok tekrarlayandan en az tekrarlayana dogru B2de yazan rakami da goz onune alarak listeleme yaptik.
Bu defa, En az tekrarlayandan en cok tekrarlayana dogru tek sefer yazdirmak sartiyla TEK formulde listelemeyi nasil yapabiliriz ? Bu defa B2de yazan rakami goz onune almak zorunda degiliz. Omer bey sizin paylasmis oldugunuz formulde buyuk kucuk degisikligiyle B2yi goz onune alarak en az tekrarlayandan en cok tekrarlayana dogru formulu yaptim fakat merak ettigim B2 yi goz onune almadan en azdan en cok'a dogru tek dizi formulu ile siralatmak mumkun mu?

Bu da son sorum olsun hazir bu konuyla ilgili beni cozume gotururken.Cok cok tesekkur ederim.
 
Son düzenleme:
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Asıl ben teşekkür ederim.

Tekrar sayısı küçükten büyüğe doğru sıralamak için deneyiniz.
Kod:
=İNDİS(A$2:A$20;MOD(KÜÇÜK(
  EĞER(KAÇINCI(A$2:A$20;A$2:A$20;)=
    SATIR(A$2:A$20)-1;(SATIR(A$2:A$20)-1)/100+
  EĞERSAY(A$2:A$20;A$2:A$20));
SATIRSAY(A1:A$1))*100;100))
[COLOR="Blue"]Fomül dizi formülüdür. CTRL+SHIFT+ENTER ile tamamlayınız.[/COLOR]
Kafe
 
Son düzenleme:
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
A2den A20ye kadar aktif olarak yeni adresler eklenebilir. ve bos olan hucreler de var. Vermis oldugunuz dizi formulu icin tesekkurler . fakat denedigimde secilen aralik olan A$2:A$20 degerler olmasina ragmen eger arasinda bosluk da var ise sonuc vermiyor. ?
 
Son düzenleme:
Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
A2den A20ye kadar aktif olarak yeni adresler eklenebilir. ve bos olan hucreler de var. Vermis oldugunuz dizi formulu icin tesekkurler . fakat denedigimde secilen aralik olan A$2:A$20 degerler olmasina ragmen eger arasinda bosluk da var ise sonuc vermiyor. ?
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
İlave yer kırmızı alandır.

Kod:
=İNDİS(A$2:A$20;MOD(KÜÇÜK([COLOR="Red"]EĞER(A$2:A$20<>""[/COLOR];
  EĞER(KAÇINCI(A$2:A$20;A$2:A$20;)=
    SATIR(A$2:A$20)-1;(SATIR(A$2:A$20)-1)/100+
  [COLOR="Blue"]EĞERSAY(A$2:A$20;A$2:A$20)[/COLOR][COLOR="Red"][B][SIZE="4"])[/SIZE][/B][/COLOR][COLOR="Blue"])[/COLOR];
SATIRSAY(A1:A$1))*100;100))
Dizi formülü olduğunu unutmayınız.
 
Üst