Excel'de verileri ters sırada nasıl sıralayabilirim?
Excel'de tipik =RANK(cell, range) formülünü kullanmak, en büyük değere 1. sırayı, en küçük değere ise en düşük sıra numarasını atayarak verilerinizi sıralar. Ancak bazen bu mantığı tam tersine çevirmeniz gerekebilir; yani en küçük değere en üst sırayı, en büyük değere ise en son sırayı vermek isteyebilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi, bu yaklaşım özellikle yarış süreleri, maliyetler veya hata sayıları gibi daha düşük değerlerin daha iyi performansı temsil ettiği durumlarda analiz yaparken son derece faydalıdır.
Verileri ters sırada sırala|VBA Kodu: Ters sıralamayı otomatik olarak ata
Verileri ters sırada sırala
Excel'de ters sıralama yapmak için standart RANK formülünü ek bir bağımsız değişken belirterek hafifçe değiştirebilirsiniz. Bu yaklaşım, varsayılan sıralama yerine verilerinizi en küçükten en büyüğe doğru sıralamanızı kolaylaştırır.
Ters sıralama sonucunu görüntülemek istediğiniz boş bir hücre seçin. Veri Aralığınızın B2 ile B10 hücreleri arasında olduğunu varsayarsak, verilerinizin hemen yanındaki ilk hücreye (örneğin C2’ye) aşağıdaki formülü girin:
=RANK(B2,$B$2:$B$10,1) Formülü girdikten sonra Enter tuşuna basın. Formülü sütununuzdaki diğer hücrelere uygulamak için doldurma tutamacını kullanın: Formülü girdiğiniz hücrenin (C2) sağ alt köşesine fareyle gelin; imleç artı işaretine dönüştüğünde, verilerinizin yanındaki aralığın kalan hücrelerini dolduracak şekilde aşağı doğru sürükleyin (bu örnekte C10’a kadar).
Veri aralığı farklıysa, formüldeki hücre referanslarını gerçek verilerinize uygun şekilde güncelleyin. Unutmayın: Yinelenen değerler varsa, RANK işlevi bu değerlere aynı sırayı atar ve sonraki sıralar atlanır (örneğin, ikinci sırada iki öğe berabereyse, bir sonraki sıra dördüncü olur).
Ters sıralama, en düşük değerleri veya en hızlı süreleri öne çıkarmak istediğinizde özellikle değerli olup, beraberliklerin kabul edilebilir veya beklenen olduğu veri kümelerinde mükemmel sonuçlar verir.
VBA Kodu: Ters sıralamayı otomatik olarak ata
Daha büyük veri kümeleriyle çalışırken veya verileriniz sıkça güncelleniyorsa ve daha otomatik bir çözüm gerekiyorsa, ters sıralamaları hızlı ve verimli bir şekilde atamak için VBA kodundan yararlanabilirsiniz. Bu yöntem, temel düzeyde programlama bilgisine sahip olan ve tekrarlayan manuel işlemleri ortadan kaldırmayı hedefleyen kullanıcılar için idealdir.
1. VBA düzenleyicisini açmak için Geliştirici Araçları > Visual Basic seçeneğine tıklayın. Visual Basic for Applications penceresinde Ekle > Modül seçeneğine tıklayıp aşağıdaki kodu Modül bölmesine yapıştırın:
Sub AssignReverseRank()
Dim dataRange As Range
Dim outputRange As Range
Dim i As Long
Dim j As Long
Dim temp As Variant
Dim arr As Variant
Dim sortedArr As Variant
Dim rankArr() As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set dataRange = Application.InputBox("Select the data range to rank (single column):", xTitleId, "", Type:=8)
If dataRange Is Nothing Then Exit Sub
Set outputRange = Application.InputBox("Select the first cell for output ranks:", xTitleId, "", Type:=8)
If outputRange Is Nothing Then Exit Sub
arr = dataRange.Value
ReDim rankArr(1 To UBound(arr, 1), 1 To 1)
sortedArr = arr
' Sort the array in ascending order
For i = 1 To UBound(sortedArr, 1) - 1
For j = i + 1 To UBound(sortedArr, 1)
If sortedArr(i, 1) > sortedArr(j, 1) Then
temp = sortedArr(i, 1)
sortedArr(i, 1) = sortedArr(j, 1)
sortedArr(j, 1) = temp
End If
Next j
Next i
' Assign reverse ranks
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(sortedArr, 1)
If arr(i, 1) = sortedArr(j, 1) Then
rankArr(i, 1) = j
Exit For
End If
Next j
Next i
outputRange.Resize(UBound(rankArr, 1), 1).Value = rankArr
End Sub 2. Makroyu çalıştırmak için
Çalıştır düğmesine tıklayın ya da F5 tuşuna basın. Ardından, ters sırada sıralamak istediğiniz Veri Aralığı’nı (ters sırada sıralamak istediğiniz tek bir sütunu seçin) ve sıralama sonuçlarının çıktı olarak görünmesini istediğiniz ilk hücreyi seçmeniz istenecektir. Her seçimden sonra Tamam’a tıklayın.
Bu makro, verilerinizi artan sırada sıralar ve en küçük değere 1 sırasını atayarak ters sıralamaları buna göre belirler. Binlerce girdiyi tek seferde sıralamak veya düzenli olarak yenilenen raporlarda sıralamayı otomatikleştirmek için özellikle uygundur.
Bu makroyu kullanırken verilerinizin bitişik ve yalnızca sayısal değerlerden oluştuğundan emin olun. Sayısal olmayan veya boş hücreler hatalı sonuçlara yol açabilir; bu yüzden verilerinizi önceden temizlemeniz en iyisidir. Ayrıca, istenmeyen değişiklikleri önlemek adına makroları çalıştırmadan önce çalışma kitabınızı kaydetmek iyi bir önlemdir.
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar