Bu dosya, SORT gibi dinamik dizi fonksiyonlarının bulunmadığı Excel sürümlerinde bir listeyi formüllerle alfabetik sıralamak için hazırlanmıştır. Sıralama makro veya Excel'in Sırala komutu ile değil, hücre formülleriyle yapılır; kaynak liste değiştiğinde sıralı liste de güncellenir.
K sütunu, her kaydın alfabetik sırasını hesaplar. SUMPRODUCT ile kendisinden küçük kayıtlar sayılır, ikinci SUMPRODUCT ile aynı değerlere tekrar eden sıra numarası verilmesi engellenir:
M sütunundaki formül, sıra numarasına göre SMALL ile k. en küçük değeri bulur, MATCH ile satırını belirler, INDEX ile kaydı getirir. Kayıt sayısını aşan satırlar COUNT ile boş bırakılır:
Dosyanın içeriği
- Sheet1: B2:T201 aralığında çalışan tek sayfadır. Sol tarafta kaynak liste yer alır; sütun başlıkları Adı, Koşul1 ve Koşul3 biçimindedir. Sağ tarafta aynı başlıklarla formüllerle sıralanmış liste bulunur.
- J, I ve K sütunları ara hesaplama içindir. J sütunu sıralanacak değeri, K sütunu her kaydın sıra numarasını üretir.
- Formüller 3. satırdan 201. satıra kadar hazırdır; liste en fazla 199 kayıt için yapılandırılmıştır.
Kullanılan formüller
J sütununda koşul sütunu dolu olan satırların değeri alınır:K sütunu, her kaydın alfabetik sırasını hesaplar. SUMPRODUCT ile kendisinden küçük kayıtlar sayılır, ikinci SUMPRODUCT ile aynı değerlere tekrar eden sıra numarası verilmesi engellenir:
=EĞER(J23="";"";TOPLA.ÇARPIM(--(I23&J23>$I$3:$I$201&$J$3:$J$201))+TOPLA.ÇARPIM(--($I$3:I23&$J$3:J23=I23&J23)))
=IF(J23="","",SUMPRODUCT(--(I23&J23>$I$3:$I$201&$J$3:$J$201))+SUMPRODUCT(--($I$3:I23&$J$3:J23=I23&J23)))
Nasıl kullanılır
- Sheet1 sayfasında sol taraftaki kaynak listeye adları ve koşul değerlerini girin.
- Sağ taraftaki M sütunundan başlayan alanda sıralı sonuç otomatik oluşur.
- Kayıt sayısı 199'dan fazlaysa, 201. satırdaki formülleri aşağı kopyalayıp formüllerdeki $201 aralıklarını genişletin.
- Kendi verinizi kullanırken formüllerin başvurduğu sütunların sizin sütunlarınızla örtüştüğünden emin olun.