Ahmet Bey
Bronz Üye
Konuyu Başlatan
Merhaba değerli hocalarım; Örnek dosyada, A2:A11 Arasındaki Veriler başlıklı A sütununu, filtre ile (Z→A) büyükten küçüğe ve (A→Z) küçükten büyüğe sıraladığımızda, boş olan hücrelerin, her zaman hep en altta olmasını istiyoruz. Zaten (A→Z) küçükten büyüğe sıraladığımızda bu oluyor. Ama bize gerekli olan, (Z→A) büyükten küçüğe sıralamasında bu olmuyor ve boş hücreler, haksız yere, en büyük değere sahip hücreler gibi algılanıp, tüm sayıların üstünde sıralanıyor.
Doğru sıralama sonucu aynen böyle olacak:
A2 Hücresi: 3,00
A3 Hücresi: 2,00
A4 Hücresi: 1,00
A5 Hücresi: 0,00
A6 Hücresi: -1,00
A7 Hücresi: -2,00
A8 Hücresi: -3,00
A9 Hücresi:
A10 Hücresi:
A11 Hücresi:
Ama bunu, şu koşullarda yapmamız gerekiyor:
1) Makro kullanmadan,
2) A2:A11 arasındaki verileri, başka bir hücreye, SIRALA FİLTRE vs. gibi fonksiyonlarla yapılacak formüllerle büyükten küçüğe sıralamadan,
3) Orjinal dosya, çok formül içeren, büyük bir dosya boyutunda olduğu için, çalışmaları çok fazla kasıp yavaşlatan Koşullu Biçimlendirmeyi kullanmadan,
4) Boşluk içeren hücrelerin satırlarını gizlenmeden,
5) A2:A11 arasındaki formülleri silip değiştirmeden,
Örneğin: =EĞERHATA(1/0;"") formülü ile sonucun boş gelmesi gerekirken, formülü =EĞERHATA(1/0;"0") olarak değiştirip, sonucun 0 olmasını sağlamak suretiyle de, istediğimiz doğru sıralamaya gitme seçeneğimiz yok. Çünkü, A2:A11 arasındaki veriler, pozitif ve negatif sayılardan oluştuğu için sonucun, haksız yere değer ataması neticesinde 0 çıkmasıyla oluşacak Z→A sıralamasında 0'ın, haksız yere negatif sayıların üstünde, A→Z sıralamasında da negatif sayıların altında yer alacağı için ve böylece diğer sayıların olması gereken sıralarda olmasına da engel olacağından dolayı, bu da bizi doğru sıralamaya ulaştırmıyor.
Ama bu 4.koşulumuzun şöyle bir istisnası var: (Z→A) büyükten küçüğe sıralamada, excel'in en küçük değer olarak algıladığı özel bir işaret varsa, bu formül ile gelen boşluk yerine, =EĞERHATA(1/0;"") o özel işareti kullanabilir ve bu ilginç sorunu halledebiliriz. Ama özellikle belirtmek isterimki, bu boşluk getiren çift tırnak arasında, kesinlikle, en altta listelenmesi için, büyük eksi değerli (-999.999.999 gibi) negatif sayılarda kullanamayız. Çünkü, doğru sıralanmasını istediğimiz bu hücre sonuçları, başka hücrelerin sonuçlarının hesaplanmasında da kullanılıyor. Dolayısıyla da doğru sıralama yapmak için, binlerce yanlış hücre sonucuyla, karşılaşmamak gerekiyor. Yani daha doğrusu, EĞERHATA formülü ile, negatif veya pozitif, hiçbir sayıyı, boş yerine getiremeyiz.
Herkesin sıkça karşılaştığı bu konuda, lütfen acil yardım edermisiniz değerli üstadlarım, şimdiden çok teşekkürler, saygılarımı sunarım.
Doğru sıralama sonucu aynen böyle olacak:
A2 Hücresi: 3,00
A3 Hücresi: 2,00
A4 Hücresi: 1,00
A5 Hücresi: 0,00
A6 Hücresi: -1,00
A7 Hücresi: -2,00
A8 Hücresi: -3,00
A9 Hücresi:
A10 Hücresi:
A11 Hücresi:
Ama bunu, şu koşullarda yapmamız gerekiyor:
1) Makro kullanmadan,
2) A2:A11 arasındaki verileri, başka bir hücreye, SIRALA FİLTRE vs. gibi fonksiyonlarla yapılacak formüllerle büyükten küçüğe sıralamadan,
3) Orjinal dosya, çok formül içeren, büyük bir dosya boyutunda olduğu için, çalışmaları çok fazla kasıp yavaşlatan Koşullu Biçimlendirmeyi kullanmadan,
4) Boşluk içeren hücrelerin satırlarını gizlenmeden,
5) A2:A11 arasındaki formülleri silip değiştirmeden,
Örneğin: =EĞERHATA(1/0;"") formülü ile sonucun boş gelmesi gerekirken, formülü =EĞERHATA(1/0;"0") olarak değiştirip, sonucun 0 olmasını sağlamak suretiyle de, istediğimiz doğru sıralamaya gitme seçeneğimiz yok. Çünkü, A2:A11 arasındaki veriler, pozitif ve negatif sayılardan oluştuğu için sonucun, haksız yere değer ataması neticesinde 0 çıkmasıyla oluşacak Z→A sıralamasında 0'ın, haksız yere negatif sayıların üstünde, A→Z sıralamasında da negatif sayıların altında yer alacağı için ve böylece diğer sayıların olması gereken sıralarda olmasına da engel olacağından dolayı, bu da bizi doğru sıralamaya ulaştırmıyor.
Ama bu 4.koşulumuzun şöyle bir istisnası var: (Z→A) büyükten küçüğe sıralamada, excel'in en küçük değer olarak algıladığı özel bir işaret varsa, bu formül ile gelen boşluk yerine, =EĞERHATA(1/0;"") o özel işareti kullanabilir ve bu ilginç sorunu halledebiliriz. Ama özellikle belirtmek isterimki, bu boşluk getiren çift tırnak arasında, kesinlikle, en altta listelenmesi için, büyük eksi değerli (-999.999.999 gibi) negatif sayılarda kullanamayız. Çünkü, doğru sıralanmasını istediğimiz bu hücre sonuçları, başka hücrelerin sonuçlarının hesaplanmasında da kullanılıyor. Dolayısıyla da doğru sıralama yapmak için, binlerce yanlış hücre sonucuyla, karşılaşmamak gerekiyor. Yani daha doğrusu, EĞERHATA formülü ile, negatif veya pozitif, hiçbir sayıyı, boş yerine getiremeyiz.
Herkesin sıkça karşılaştığı bu konuda, lütfen acil yardım edermisiniz değerli üstadlarım, şimdiden çok teşekkürler, saygılarımı sunarım.