Excel'de dinamik ilk 10 veya n listesi nasıl oluşturulur?
Birçok proje ve iş sürecinde, bireyleri, kuruluşları, ürünleri veya performanslarına veya sayısal değerlere göre diğer varlıkları sıralamak genellikle gereklidir. Bir "üst liste", en yüksek not alan öğrenciler, en iyi satış elemanları veya en fazla gelire sahip departmanlar gibi en yüksek performans gösteren girdileri vurgulamak için kullanılır. Örneğin, bir öğrenci notları tablonuz olabilir ve aşağıdaki ekran görüntüsünde gösterildiği gibi ödüller, analiz veya eğitim sonuçlarının izlenmesi için dinamik olarak en iyi 10 puan alan öğrencileri çıkarmak isteyebilirsiniz. Excel'de dinamik bir ilk 10 veya ilk N listesi oluşturmak, verileriniz değiştiğinde otomatik olarak güncellenen sonuçları görmenizi sağlar, bu da zamandan tasarruf eder ve manuel sıralamadan kaynaklanan hataları azaltır. Bu kılavuz, formüller, pivot tablolar ve VBA makroları dahil olmak üzere size dinamik bir ilk 10 veya n listesi oluşturmanıza yardımcı olacak birkaç pratik çözüm tanıtır ve çeşitli veri analizi ihtiyaçlarını etkili bir şekilde karşılar.
Excel'de dinamik bir ilk 10 listesi oluşturun
- Dinamik bir ilk 10 listesi oluşturmak için formüller
- Kriterlere göre dinamik bir ilk 10 listesi oluşturmak için formüller
Office 365'te dinamik bir ilk 10 listesi oluşturun
- Dinamik bir ilk 10 listesi oluşturmak için formül
- Kriterlere göre dinamik bir ilk 10 listesi oluşturmak için formül
Excel'de dinamik bir ilk 10 listesi oluşturun
Excel 2019 ve önceki sürümlerde, dinamik bir ilk 10 (veya ilk N) listesi oluşturmak, hem en yüksek değerleri hem de bunlara karşılık gelen isimleri veya kimlikleri aynı anda çıkarmak için formüllerin birleştirilmesini içerir. Bu çözüm, verileriniz değiştiğinde listenin otomatik olarak güncellenmesini istediğiniz durumlar için yaygın olarak kullanılır ve uygundur. Aşağıdaki işlemler, klasik Excel formülleri kullanarak bunu nasıl başaracağınızı anlatmaktadır. Bu formüller esneklik sağlar ve özel Excel eklentileri gerektirmez, ancak bazı modern dinamik dizi fonksiyonlarına kıyasla kurulum işlemi biraz daha karmaşıktır.
Dinamik bir ilk 10 listesi oluşturmak için formüller
1. Başlamak için, değerler aralığınızdan en yüksek 10 değeri çıkarmalısınız. Boş bir hücreye (örneğin, G2 hücresi) aşağıdaki formülü girin. Formülü girdikten sonra, aşağı doğru sürükleyerek dinamik üst 10 değer listesini oluşturun. Ekran görüntüsüne bakın:
2. Daha sonra, bu üst değerlere karşılık gelen isimleri (veya kimlikleri) görüntülemek için F2 hücresine aşağıdaki formülü girin. Bu bir dizi formülüdür, bu yüzden girdikten sonra onaylamak için Ctrl + Shift + Enter tuşlarına basın. Bu formül, az önce çıkardığınız üst değerlere karşılık gelen isimleri bulur:
- A2:A20 isimleri çekeceğiniz aralıktır;
- B2:B20 puan veya değer aralığıdır;
- G2 yukarıdaki formülden elde edilen üst değerdir;
- B1 değer listesinin başlığıdır ve SATIR hesaplamalarında ofset için kullanılır.
Bu formül, en yüksek değerleri isimlerine dinamik olarak bağlar. Değer aralığınızda yinelenenler varsa, EĞERSAY her eşleşen ismin yalnızca bir kez görünmesini sağlar.
3. İlk sonucu çıkardıktan sonra, F2 hücresindeki formülü seçin ve aşağı doğru sürükleyerek ihtiyacınız olan satır sayısına kadar formülü kopyalayın. Bu, tüm üst girişlerin isimlerini dinamik olarak gösterecek şekilde sonucunuzu genişletecektir. Ekran görüntüsüne bakın:

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
Kriterlere göre dinamik bir ilk 10 listesi oluşturmak için formüller
Bazı analiz görevlerinde, yalnızca belirli kriterleri karşılayan girdileri gösteren bir üst liste oluşturmanız gerekebilir — örneğin, üst sonuçları belirli bir grup, takım veya kategoriyle sınırlamak. Örneğin, birden fazla sınıfın notlarını içeren toplam bir veri sayfasından yalnızca "Sınıf 1" için en yüksek 10 puanı belirlemek isteyebilirsiniz. İşte bu senaryo için formülleri nasıl kullanabileceğiniz:
1. Belirtilen kritere (örneğin, "Sınıf 1") uygun ilk 10 değeri (örneğin, J2 hücresi) veri setinden çıkararak başlayın:
2. Formülü girdikten sonra, bir dizi formülü olarak onaylamak için Ctrl + Shift + Enter tuşlarına basın ve ardından dolgu tutamacını aşağı çekerek diğer hücreleri doldurun. Formül, seçtiğiniz koşula (örneğin, "Sınıf 1"den tüm puanlar) uygun en yüksek 10 değeri döndürür.
3. Kriterleriniz altındaki bu üst değerlere karşılık gelen isimleri listelemek için aşağıdaki formülü I2 hücresine kopyalayıp yapıştırın ve bir dizi formülü olarak onaylamak için Ctrl + Shift + Enter tuşlarına basın. Ardından, tam isim listesini oluşturmak için aşağı doğru doldurun.
Formüllerdeki aralıkları gerçek veri düzeninize göre ayarladığınızdan emin olun. Büyük veri aralıklarıyla dizi formülleri kullanmanın performansı yavaşlatabileceğini unutmayın. Eğer üst 10 listenizde yinelenen değerler varsa, formül tekrar eden puanları uygun şekilde işleyecek ve eğer notları eşitse birden fazla öğrenci ismini verecektir.
Office 365'te dinamik bir ilk 10 listesi oluşturun
Daha önceki Excel sürümlerinde birkaç fonksiyonun dizi formülleriyle birleştirilmesi gerekirken, Office 365 (ve Excel 2021) INDEX, SORT, SEQUENCE ve FILTER gibi dinamik dizi fonksiyonlarını sunar ve bu da iş akışını büyük ölçüde basitleştirir. Bu fonksiyonlar, dinamik ilk 10 listeleri oluşturmayı kolaylaştırır, hataları azaltır ve özellikle sıkça büyüyen veya değişen tablolar için faydalıdır. Eğer sürekli güncellenen verilerle çalışıyorsanız, bu fonksiyonlar analizinizi hızlandırabilir ve daha hızlı iş kararları almanıza olanak tanır.
Dinamik bir ilk 10 listesi oluşturmak için formül
Office 365'de dinamik bir ilk 10 listesi çıkarmak ve görüntülemek için, istediğiniz çıktı hücresine aşağıdaki formülü girin. Yapmanız gereken tek şey, ihtiyaçlarınıza göre aralıkları ve sayıları ayarlamaktır ve formül, verileriniz değiştiğinde otomatik olarak en son ilk 10 sonuçlarını gösterir.
Sadece Enter tuşuna basın. Tamamlanan ilk 10 liste anında belirir ve dinamik kalır, böylece ek veriler veya değiştirilmiş puanlar sıralamanızda hemen yansıtılır.
SIRALA fonksiyonu:
=SIRALA(dizi, [sıralama_indeksi], [sıralama_sırası], [satırlara_göre])
- dizi: Sıralamak istediğiniz aralık.
- [sıralama_indeksi]: Sıralanacak sütunun numarası. Tipik bir not tablosu için bu genellikle ikinci sütundur.
- [sıralama_sırası]: Artan sıra için 1 veya azalan sıra için -1 kullanın. En yüksek puanları almak için -1 kullanın.
- [satırlara_göre]: Sütunlara göre sıralamak için (TRUE) veya satırlara göre sıralamak için (FALSE veya atlanmış).
Örnek: SIRALA(A2:B20,2,-1) A2:B20 aralığını ikinci sütuna göre azalan sırada sıralar.
DİZİ fonksiyonu:
=DİZİ(satırlar, [sütunlar], [başlangıç], [adım])
- satırlar: Döndürülecek satır sayısı, örneğin, ilk 10 listesi için 10.
- [sütunlar]: (Opsiyonel) Döndürülecek sütun sayısı.
- [başlangıç]: (Opsiyonel) Başlangıç değeri.
- [adım]: (Opsiyonel) Artış miktarı.
DİZİ(10) 1'den 10'a kadar olan sayıları üretir ve İNDEKS'in en üstteki 10 sıralı sonucu seçmesine izin verir.
Bunları birleştirerek, =İNDEKS(SIRALA(A2:B20,2,-1),DİZİ(10),{1,2}) size dinamik, iki sütunlu bir ilk 10 listesi verir.
Kriterlere göre dinamik bir ilk 10 listesi oluşturmak için formül
Örneğin "Sınıf 1" gibi belirli bir grup için ilk 10'u çıkarmak istiyorsanız, bu gelişmiş Office 365 fonksiyonları, kriterlerinizi karşılayan satırları içerecek şekilde bir üst N listesi oluşturabilir. Formülü istediğiniz konuma yerleştirin ve aralıkları ve kriter hücresini ihtiyaçlarınıza göre ayarlayın:
Formülü girdikten sonra, sadece Enter tuşuna basın. Belirlenen kriter için filtrelenmiş ve sıralanmış ilk 10 liste hemen görüntülenir ve verilerinizi veya kriterinizi değiştirdiğinizde her seferinde güncellenir.
FİLTRE fonksiyonu:
=FİLTRE(dizi, dahil_et, [boş_için])
- dizi: Filtrelenecek hücre aralığı.
- dahil_et: Dahil edilme koşulu (örneğin, belirli bir sınıfa eşit olma).
- [boş_için]: (Opsiyonel) Hiçbir sonuç kriterleri karşılamazsa ne görüntüleneceği.
=FİLTRE(A2:C25,B2:B25=F2) sütun B'nin F2'deki değere eşleştiği satırları döndürür.
Pivot Tablo ile dinamik bir ilk 10 listesi oluşturun
Pivot Tablo: Üst N sonuçlarını etkileşimli olarak otomatik olarak görüntüle
Dinamik bir üst N listesi oluşturmanın alternatif bir yolu, Excel'in Pivot Tablo özelliğini kullanmaktır. Bu yöntem, özellikle büyük veri setleri, etkileşimli analiz (örneğin, üst öğelerin sayısını hızlıca değiştirme veya filtreler uygulama) veya karmaşık formüllerden kaçınmak istediğinizde uygundur. Pivot tablolar kullanıcı dostudur ve veriler değiştiğinde otomatik olarak güncellenir, bu da başkalarıyla paylaşılan panolar veya raporlar için harika bir seçenektir.
Pivot tablo kullanarak dinamik bir üst N listesi oluşturmak için:
- Veri tablonuzun herhangi bir yerine tıklayın, ardından Ekle > PivotTable'a gidin.
- PivotTable iletişim kutusunda, pivot tablonun nereye yerleştirileceğini seçin ve Tamam'a tıklayın.
- "Ad" (veya benzer tanımlayıcı) alanını Satırlar alanına sürükleyin.
- "Puan" (veya değer sütunu) alanını Değerler alanına sürükleyin. Genellikle varsayılan olarak "Toplam" veya "Sayı" olacaktır — üst listeler için genellikle "Toplam" veya "Maksimum" istersiniz. Gerekirse değeri alan hesaplamasını değiştirmek için sağ tıklayın ve Değeri Özetle Seçeneği'ni seçin.
- "Puan" sütununu azalan sırada sıralamak için bir değere sağ tıklayın ve Sırala > En Büyükten En Küçüğe Sırala'yı seçin.
- Üst N sonuçlarına sınırlamak için, Satır Etiketleri üzerindeki açılır oku tıklayın, Değer Filtreleri > İlk 10... seçin, sayıyı (örneğin, İlk 10) ve filtrelenecek alanı ayarlayın ve ardından Tamam'a tıklayın.
Pivot tablonuz artık dinamik ilk 10'u (veya belirttiğiniz herhangi bir N) gösteriyor. Üst N'yi değiştirmek için sadece filtre ayarlarına geri dönün. Verileriniz değişirse, sıralamaları anında güncellemek için pivot tabloyu yenileyin.
Bu yaklaşımın avantajları arasında hızlı kurulum, kolay sıralama ve etkileşimli ayarlama bulunur. Ancak, pivot tablolar, ilgili satırları Satır veya Değerler alanına dahil etmedikçe otomatik olarak diğer sütunlardan eklemeler yapamaz. Gelişmiş kullanıcılar raporları daha da özelleştirebilir, gruplayabilir, kesiciler oluşturabilir veya Üst N filtreyi pano'lara entegre edebilir.
VBA kullanarak dinamik bir ilk 10 listesi oluşturun
VBA Makrosu: Otomatik olarak oluşturulan ve yenilenen bir üst N listesi
VBA makrosu kullanmak, geniş veya sıkça güncellenen verilerle uğraşan ve dinamik bir üst N listenin çıkarma ve yenilenmesini otomatikleştirmek isteyen kullanıcılar için uygundur. Makrolar tekrarlayan görevleri azaltmak ve tutarlılığı sağlamak için idealdir. Verilerinizi sıralayan ve her çalıştığında yalnızca üst N satırı belirli bir konuma kopyalayan bir rutin oluşturabilirsiniz.
Dinamik bir üst N listesi oluşturmak için VBA makrosu kullanmak için şu adımları izleyin:
- Geliştirici > Visual Basic'e tıklayarak VBA düzenleyicisini açın. (Geliştirici sekmesini görmüyorsanız, Dosya > Seçenekler > Şeridi Özelleştir'e gidin ve "Geliştirici"yi etkinleştirin.)
- VBA penceresinde, Ekle > Modül'e tıklayarak yeni bir modül ekleyin.
- Aşağıdaki VBA kodunu modüle yapıştırın:
Sub ExtractTopNList()
'Updated by Extendoffice 2025/7/24
Dim DataRange As Range
Dim OutputRange As Range
Dim N As Integer
Dim ws As Worksheet, tempWS As Worksheet
Dim xTitleId As String
Dim LastCol As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
Set DataRange = Application.InputBox("Select the full data range to analyze (including headers)", xTitleId, ws.UsedRange.Address, Type:=8)
Set OutputRange = Application.InputBox("Select the top-left cell of the output area", xTitleId, "", Type:=8)
N = Application.InputBox("How many top items to extract? (Enter a positive integer)", xTitleId, 10, Type:=1)
If DataRange Is Nothing Or OutputRange Is Nothing Or N < 1 Then Exit Sub
' Create a temporary worksheet to avoid sorting original data
Set tempWS = Worksheets.Add(After:=Worksheets(Worksheets.Count))
DataRange.Copy tempWS.Range("A1")
' Determine last column for sorting key
LastCol = DataRange.Columns.Count
' Sort in temporary sheet
tempWS.UsedRange.Sort Key1:=tempWS.Cells(1, LastCol), Order1:=xlDescending, Header:=xlYes
' Copy headers and top N rows to output
tempWS.Rows(1).Copy Destination:=OutputRange
tempWS.Range("A2").Resize(N, LastCol).Copy Destination:=OutputRange.Offset(1, 0)
' Optional: Delete temporary sheet
Application.DisplayAlerts = False
tempWS.Delete
Application.DisplayAlerts = True
Application.CutCopyMode = False
End Sub
4. Makroyu çalıştırmak için, verilerinizin tablo şeklinde düzgünce düzenlendiğinden emin olun. Sonra F5 tuşuna basın veya VBA düzenleyicisindeki düğmesine tıklayın. Size sorulacak:
- Doğru sıralama için başlıkları da içeren veri aralığınızı seçin.
- Sonuçları yapıştırmak için çıktı hücresini seçin.
- N sayısını girin (örneğin, İlk 10 için 10).
Makro, üst N girişlerini (başlıklar dahil) belirttiğiniz konuma kopyalayacaktır.
İlk test ederken çalışma kitabınızın bir yedeğini veya kopyasını kullanmanız önerilir. Hatalar oluşursa (örneğin, yanlış bir aralık seçmek gibi), yeniden çalıştırın ve aralıklarınızın ve veri düzeninizin doğru olduğundan emin olun.
Bu çözüm, tekrarlayan raporlama görevlerini otomatikleştirmek, panolar oluşturmak veya manuel formüller veya sıralama olmadan hızlıca üst N raporlarını güncellemek için idealdir. VBA komut dosyasını daha karmaşık sıralama mantığı için daha da özelleştirebilirsiniz, örneğin belirli bir sütuna göre sıralama veya sonuçları başka bir çalışma kitabına aktarma.
Sorun giderme: Eğer makro beklenen şekilde çalışmazsa, veri tablonuzun uygun başlıklara sahip olduğunu kontrol edin, sıralama sorunlarını önlemek için veri türlerini düzeltin ve her istemde hücre referanslarının doğru bir şekilde seçildiğinden emin olun. Makroları çalıştırmadan önce her zaman çalışmalarınızı kaydedin ve kazara veri değişikliklerini önlemek için önlem alın.
Özetle, Excel, geleneksel formüllerden güçlü Office 365 fonksiyonlarına, etkileşimli analiz için pivot tablolar ve gelişmiş otomasyon için VBA makrolarına kadar dinamik bir üst N listesi oluşturmak ve sürdürmek için çeşitli yöntemler sunar. İş akışınıza ve veri ölçeğinize en uygun yöntemi seçin. Formüller, çoğu manuel analiz için etkilidir, Office 365 fonksiyonları en büyük basitlik ve güç sunar, pivot tablolar hızlı ve esnek özetler için mükemmeldir ve VBA, büyük ve tekrarlayan sıralama görevlerini otomatikleştirmek için özellikle kullanışlıdır. Her zaman formüllerinizin veya kodunuzun bütünlüğünü doğrulayın ve projenizin ilerlemesiyle veri yapısındaki değişikliklere uygun olarak hücre referanslarını uyarlayın.
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi güçlendirin ve benzersiz bir verimlilik deneyimi yaşayın. Kutools for Excel, üretkenliği artırmak ve zamandan tasarruf etmek için300'den fazla Gelişmiş Özellik sunuyor. İhtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Ofis uygulamalarına sekmeli arayüz kazandırır ve işinizi çok daha kolaylaştırır.
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma işlevini etkinleştirin.
- Yeni pencereler yerine aynı pencerede yeni sekmelerde birden fazla belge açıp oluşturun.
- Verimliliğinizi %50 artırır ve her gün yüzlerce mouse tıklaması azaltır!
Tüm Kutools eklentileri. Tek kurulum
Kutools for Office paketi, Excel, Word, Outlook & PowerPoint için eklentileri ve Office Tab Pro'yu bir araya getirir; Office uygulamalarında çalışan ekipler için ideal bir çözümdür.





- Hepsi bir arada paket — Excel, Word, Outlook & PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans — dakikalar içinde kurulun (MSI hazır)
- Birlikte daha verimli — Ofis uygulamalarında hızlı üretkenlik
- 30 günlük tam özellikli deneme — kayıt yok, kredi kartı yok
- En iyi değer — tek tek eklenti almak yerine tasarruf edin