• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Sıralama formülü

Bu sorun verilen destek sayesinde çözüme ulaştırılmıştır.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

ERDALOZ

Yeni Üye
Kullanıcı Bilgileri
Katılım
14 May 2023
Mesajlar
219
Aldığı beğeni
25
Excel Versiyonu
Office 2016 EN
Konuyu Başlatan
Merhaba ekte daha önceden hazırlanmış ve çalışan bir formül var; A2 hücresine bir isim yazınca sheet2 deki yerden C sütununa listeleme yapıyor. Benim istediğim bu sıralamayı 8.satıra işaretlenen hücrelere yapması, yardımlarınızı rica ederim.
 

Ekli dosyalar

  • liste.xlsx
    12.2 KB · Gösterim: 11
Kullanılandan farklı bir formülle,

B8 hücresine yazın ve G8 ve L8 hücrelerine kopyalayın.
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • liste.xlsx
    13.4 KB · Gösterim: 3
Çözüm
TOPLAMA işlevinin söz dizimi TOPLAMA(işlev_No ; Seçenek ; Dizi ; k) şeklindedir. Ve DİZİ formül olmadan Standart formül şeklinde hücreye girişi yapılır. Çalışma mantığı ise tıpkı dizi formüllerinde olduğu gibidir.

TOPLAMA işlevini formül çubuğuna yazmaya başladığınızda
Yani
=TOPLAMA(
yazdığınızda işlem numaraları listesi açılacaktır,
R129.png
Buradan 15 seçtik... Bu KÜÇÜK işlevine karşılık gelir. Gerek 14-Büyük ve gerekse 15-Küçük işlevleriyle, genellikle, Listeleme, Sıralama, Filtreleme ... işlemleri yapılır.

=TOPLAMA(15;
yazdığımızda ise Seçenekler tablosu açılacaktır.
R130.png
Buradan da 6 no lu seçeneği seçtik. Anlamı ise, listeleme, filtreleme vs yaparken Hata değerlerini yok sayarak işlem yapacaktır.

Şimdi, formülümüze bakarsak,
TOPLAMA(15;6;SATIR(Sheet2!$B$2:$D$5)/(Sheet2!$B$2:$D$5=$A$2);1);B7)
15 ile Küçük işlevi
6 ile Hatalar yok sayılacak
SATIR(Sheet2!$B$2:$D$5)/(Sheet2!$B$2:$D$5=$A$2) bu bizim dizimiz olup, Sheet2!$B$2:$D$5=$A$2 olduğunda, SATIR(Sheet2!$B$2:$D$5) ile satır numaralarını verecek, Sheet2!$B$2:$D$5=$A$2 Eşitliği olmadığında ise "/" bölü olayından dolayı HATA verecektir. Ve de 6 ile Hatalar Yok sayıldığından bu eşitsizlik hataları değerlendirme dışı tutulacaktır.
1 ile de 1. küçük değeri alıyoruz. Yani alt satırda da Ömer bulunsaydı, biz ilk karşılaşılan yani 1. Küçük olan satır numarasını alacağız demektir.

Umarım anlatabilmişimdir...
 
Belki, Biraz daha NET anlaşılabilmesi amacıyla
TOPLAMA(15;6
olayını Filtreleme amaçlı olarak kullanacak olursak

  • Her şeyin aynı sayfada görünebilmesi için Sheet2 deki listenizi Sheet1 O-P-Q-R kolonlarına alalım.
  • Sizin listede, isimler tekrar etmiyordu. Bu yeni listede isimler tekrarlı olsun.
  • A2 hücresinde açılır listeden isim seçelim.
  • A2 de seçtiğimiz isim, O-P-Q-R kolonlarındaki listede hangi satırlarda yer alıyorsa o satırların (araya boş satır bırakmadan) listesini yapalım. Yani, O-P-Q-R kolonlarındaki listede A2 de seçtiğimiz ismin bulunduğu satırları FİLTRE edelim ve listesini yazalım.
Resim olarak şöyle,
R131.png
B8 hücresine yazdığımız ve aşağıya doğru kopyaladığımız / sürüklediğimiz formül şöyle...
=EĞERHATA(İNDİS($P:$R;TOPLAMA(15;6;SATIR($P$2:$R$16)/($P$2:$R$16=$A$2);SATIRSAY($A$2:$A2));B$7);"")

İng. versiyonunuzdaki karşılığı
=IFERROR(INDEX($P:$R;AGGREGATE(15;6;ROW($P$2:$R$16)/($P$2:$R$16=$A$2);ROWS($A$2:$A2));B$7);"")

Formülün çalışmasına bakarsak
TOPLAMA(15;6; ile
15 : Küçük işlevini kullanıyoruz.
6 : Hataları YOK sayıyoruz.

Dizimiz şöyle : SATIR($P$2:$R$16)/($P$2:$R$16=$A$2)
A2 hücresinde Ömer seçildi.
$P$2:$R$16 Ömer ' e EŞİT olan hücrelerin Satır Numaralarını elde etmek istiyoruz. Ve , satır numaralarını , EŞİT ise (1), değilse (0) değerlerine böldürüp diziyi elde ediyoruz.
Sonuçta dizimiz şöyle olacak (Resimde de görebilirsiniz)
{#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;4\#SAYI/0!;#SAYI/0!;#SAYI/0!\6;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;10;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\14;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!\#SAYI/0!;#SAYI/0!;#SAYI/0!}
(Bu dizi, 15 satır ve 3 sütunun her bir hücresi için değer döndürür.)
Dikkat ederseniz, değerler arasında " ; " ve " \ " ayraçları kullanılmakta. (Sizin İng versiyonda belki bunlar, "," ve ";" Virgül ve Noktalı virgüldür)
Anlamları ise " ; " : Sütun ayracı ve " \ " : Satır ayracıdır.

TOPLAMA (15;6 ibaresindeki 6 seçeneğinden dolayı #SAYI/0! hataları YOK sayılacak ve dizimiz şöyle olacaktır. {4\6\10\14}
Bu demektir ki, 4 adet satırda Ömer bulunmakta ve bunların satır numaraları da 4, 6, 10 ve 14 tür.

Dizimiz elde edildi. Şimdi, TOPLAMA(15 ile KÜÇÜK işlemini yapıyoruz.
4 adet satırda olduğundan, 1.nci Küçük, 2.nci Küçük, 3.ncü Küçük ve 4.ncü Küçük olarak değerleri bulacağız.
Burada, Küçük olayını 15 nolu işlevle ve 1. nci, 2. nci.... şeklinde sayımı ise SATIRSAY($A$2:$A2) şeklinde satır saydırarak yapıyoruz.
{4\6\10\14} dizisinin 1. küçük değeri 4, 2. nci küçük değeri 6, 3.ncü küçük değeri 10 ve 4.ncü küçük değeri de 14 olmaktadır.

Buradan hareketle de INDIS işleviyle de bu satır numaralarını kullanarak , satırdaki isimleri getiriyoruz...

Anlatmak çok daha karışık oluyor. En kolay ve görsel yol ise, Formüllü hücreyi seçin ve Formüller >>> Formülü Değerlendir menüsünde Değerlendir butonuna her basışta formül parçacığının adım adım sonuçları gözlemlenebilir.

Dosyayı ekliyorum... İncelersiniz....
 

Ekli dosyalar

  • liste.xlsx
    15.5 KB · Gösterim: 2
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Konuyu okuyanlar

Geri
Üst