Excel SORT işlevi - formül kullanarak verileri otomatik sıralama

  • Bunu Paylaş
Michael Brown

Bu eğitimde, veri dizilerini dinamik olarak sıralamak için SORT işlevinin nasıl kullanılacağı gösterilmektedir. Excel'de alfabetik olarak sıralamak, sayıları artan veya azalan sırada düzenlemek, birden çok sütuna göre sıralamak ve daha fazlası için bir formül öğreneceksiniz.

Sıralama işlevi uzun zamandır kullanılıyor. Ancak Excel 365'te dinamik dizilerin kullanılmaya başlanmasıyla birlikte, formüllerle sıralama yapmanın inanılmaz derecede basit bir yolu ortaya çıktı. Bu yöntemin güzelliği, kaynak veriler değiştiğinde sonuçların otomatik olarak güncellenmesidir.

    Excel SORT işlevi

    Excel'deki SORT işlevi, bir dizinin veya aralığın içeriğini artan veya azalan sırada sütunlara veya satırlara göre sıralar.

    SORT, Dinamik dizi işlevleri grubuna aittir. Sonuç, kaynak dizinin şekline bağlı olarak komşu hücrelere dikey veya yatay olarak otomatik olarak dökülen dinamik bir dizidir.

    SORT fonksiyonunun sözdizimi aşağıdaki gibidir:

    SORT(dizi, [sort_index], [sort_order], [by_col])

    Nerede?

    Dizi (gerekli) - sıralanacak bir değer dizisi veya hücre aralığıdır. Bunlar metin, sayı, tarih, saat vb. dahil olmak üzere herhangi bir değer olabilir.

    Sort_index (isteğe bağlı) - hangi sütun veya satıra göre sıralama yapılacağını belirten bir tamsayı. Atlanırsa, varsayılan dizin 1 kullanılır.

    Sort_order (isteğe bağlı) - sıralama düzenini tanımlar:

    • 1 veya atlanmış (varsayılan) - artan sıra, yani en küçükten en büyüğe
    • -1 - azalan sıra, yani en büyükten en küçüğe doğru

    By_col (isteğe bağlı) - sıralamanın yönünü gösteren mantıksal bir değer:

    • FALSE veya atlanmış (varsayılan) - satıra göre sıralama. Bu seçeneği çoğu zaman kullanacaksınız.
    • TRUE - sütuna göre sırala. Verileriniz bu örnekteki gibi sütunlar halinde yatay olarak düzenlenmişse bu seçeneği kullanın.

    Excel SORT işlevi - ipuçları ve notlar

    SORT yeni bir dinamik dizi işlevidir ve bu nedenle bilmeniz gereken birkaç özelliği vardır:

    • Şu anda SORT işlevi yalnızca Microsoft 365 ve Excel 2021'de kullanılabilir. Excel 2019, Excel 2016 dinamik dizi formüllerini desteklemez, bu nedenle SORT işlevi bu sürümlerde kullanılamaz.
    • Bir SIRALA formülü tarafından döndürülen dizi nihai sonuçsa (yani başka bir işleve aktarılmamışsa), Excel dinamik olarak uygun boyutta bir aralık oluşturur ve sıralanmış değerlerle doldurur. Bu nedenle, formülü girdiğiniz hücrenin altında ve/veya sağında her zaman yeterince boş hücre olduğundan emin olun, aksi takdirde #SPILL hatası oluşur.
    • Kaynak veriler değiştikçe sonuçlar dinamik olarak güncellenir. dizi formüle sağlanan yeni girişler, başvurulan formülün dışına eklenen yeni girişleri içerecek şekilde otomatik olarak genişletilmez. dizi Bu tür öğeleri dahil etmek için ya dizi formülünüzde başvuruda bulunun veya kaynak aralığı bu örnekte gösterildiği gibi bir tabloya dönüştürün ya da dinamik bir adlandırılmış aralık oluşturun.

    Temel Excel SORT formülü

    Bu örnekte, Excel'de verileri artan ve azalan sırada sıralamak için temel bir formül gösterilmektedir.

    Verilerinizin aşağıdaki ekran görüntüsünde gösterildiği gibi alfabetik olarak düzenlendiğini varsayalım. B sütunundaki sayıları, verileri bozmadan veya karıştırmadan sıralamak istiyorsunuz.

    Artan sırada sıralamak için formül

    B sütunundaki değerleri en küçükten en büyüğe doğru sıralamak için kullanılacak formül aşağıda verilmiştir:

    =SIRALA(A2:B8, 2, 1)

    Nerede?

    • A2:B8 kaynak dizisidir
    • 2, sıralanacak sütun numarasıdır
    • 1 artan sıralama düzenidir

    Verilerimiz satırlar halinde düzenlendiğinden, son bağımsız değişken atlanarak varsayılan olarak FALSE - satırlara göre sıralama yapılabilir.

    Formülü herhangi bir boş hücreye (bizim durumumuzda D2) girin, Enter tuşuna basın ve sonuçlar otomatik olarak D2:E8'e dökülür.

    Azalan sırada sıralamak için formül

    Verileri azalan şekilde, yani en büyükten en küçüğe doğru sıralamak için sort_order argümanını bu şekilde -1'e ayarlayın:

    =SORT(A2:B8, 2, -1)

    Hedef aralığın sol üst hücresine formülü girdiğinizde bu sonucu elde edersiniz:

    Benzer şekilde, metin değerlerini alfabetik sırayla A'dan Z'ye veya Z'den A'ya sıralayabilirsiniz.

    Excel'de formül kullanarak verileri sıralama

    Aşağıdaki örnekler, Excel'de SORT işlevinin birkaç tipik kullanımını ve önemsiz birkaç kullanımını göstermektedir.

    Excel Sütuna göre sıralama

    Excel'de verileri sıraladığınızda, çoğunlukla satırların sırasını değiştirirsiniz. Ancak verileriniz, etiketleri içeren satırlar ve kayıtları içeren sütunlarla yatay olarak düzenlendiğinde, yukarıdan aşağıya yerine soldan sağa sıralamanız gerekebilir.

    Excel'de sütuna göre sıralamak için by_col argümanını TRUE olarak ayarlayın, sort_index bir sütunu değil, bir satırı temsil edecektir.

    Örneğin, aşağıdaki verileri Miktar'a göre en yüksekten en düşüğe doğru sıralamak için bu formülü kullanın:

    =SORT(B1:H2, 2, 1, TRUE)

    Nerede?

    • B1:H2 sıralanacak kaynak verilerdir
    • 2, ikinci satırdaki sayıları sıraladığımız için sıralama indeksidir
    • -1 azalan sıralama düzenini gösterir
    • DOĞRU, satırları değil sütunları sıralamak anlamına gelir

    Birden fazla sütuna göre farklı sıralama (çok seviyeli sıralama)

    Karmaşık veri modelleriyle çalışırken, genellikle çok seviyeli bir sıralamaya ihtiyaç duyabilirsiniz. Bu bir formülle yapılabilir mi? Evet, kolayca! Yapmanız gereken, dizi sabitlerini sort_index ve sort_order Argümanlar.

    Örneğin, aşağıdaki verileri önce aşağıdakilere göre sıralamak için Bölge (A sütunu) A'dan Z'ye ve sonra Miktar (C sütunu) en küçükten en büyüğe doğru, aşağıdaki argümanları ayarlayın:

    • Dizi A2:C13'teki verilerdir.
    • Sort_index dizi sabiti {1,3} olduğundan, ilk olarak Bölge (1. sütun) ve ardından Miktar . (3. sütun).
    • Sort_order dizi sabiti {1,-1}'dir, çünkü 1. sütun artan sırada ve 3. sütun azalan sırada sıralanacaktır.
    • By_col atlanır çünkü varsayılan olarak satırları sıralarız.

    Argümanları bir araya getirdiğimizde bu formülü elde ederiz:

    =SORT(A2:C13, {1,3}, {1,-1})

    Ve mükemmel çalışıyor! İlk sütundaki metin değerleri alfabetik olarak, üçüncü sütundaki sayılar ise büyükten küçüğe doğru sıralanıyor:

    Excel'de sıralama ve filtreleme

    Verileri bazı kriterlere göre filtrelemek ve çıktıyı sıraya koymak istediğinizde, SORT ve FILTER fonksiyonlarını birlikte kullanın:

    SORT(FILTER(dizi, criteria_range = kriterler ), [sort_index], [sort_order], [by_col])

    FILTER işlevi, tanımladığınız ölçütlere göre bir değerler dizisi alır ve bu diziyi SORT'un ilk bağımsız değişkenine aktarır.

    Bu formülle ilgili en iyi şey, Ctrl + Shift + Enter tuşlarına basmanıza veya kaç hücreye kopyalayacağınızı tahmin etmenize gerek kalmadan sonuçları dinamik bir dökülme aralığı olarak çıkarmasıdır. Her zamanki gibi, en üstteki hücreye bir formül yazıp Enter tuşuna basarsınız.

    Örnek olarak, A2:B9'daki kaynak verilerden miktarı 30'a eşit veya daha büyük olan (>=30) öğeleri ayıklayacağız ve sonuçları artan sırada düzenleyeceğiz.

    Bunun için, önce aşağıdaki resimde gösterildiği gibi E2 hücresinde koşulu ayarlıyoruz. Ardından, Excel SORT formülümüzü bu şekilde oluşturuyoruz:

    =SORT(FILTER(A2:B9, B2:B9>=E2), 2)

    Bunun dışında dizi FILTER işlevi tarafından oluşturulduğunda, yalnızca sort_index Kalan iki argüman atlanmıştır çünkü varsayılanlar tam olarak ihtiyacımız olan şekilde çalışır (satıra göre artan şekilde sıralama).

    N en büyük veya en küçük değeri alın ve sonuçları sıralayın

    Büyük bilgi yığınlarını analiz ederken, genellikle belirli sayıda üst değeri ayıklamaya ihtiyaç vardır. Belki sadece ayıklamakla kalmaz, aynı zamanda bunları istenen sıraya göre düzenler. Ve ideal olarak, sonuçlara hangi sütunların dahil edileceğini seçin. Kulağa zor mu geliyor? Yeni dinamik dizi işlevleriyle değil!

    İşte genel bir formül:

    INDEX(SORT(...), SEQUENCE( n ), { column1_to_return , column2_to_return , ...})

    Nerede n döndürmek istediğiniz değerlerin sayısıdır.

    Aşağıdaki veri setinden, C sütunundaki sayıları temel alan bir ilk 3 listesi elde etmek istediğinizi varsayın.

    Bunu yapmak için, önce A2:C13 dizisini 3. sütuna göre azalan sırada sıralarsınız:

    SORT(A2:C13, 3, -1)

    Ve sonra, yukarıdaki formülü ilk ( dizi ) argümanını kullanarak dizinin en büyükten en küçüğe doğru sıralanmasını sağlar.

    İkincisi için ( row_num ) bağımsız değişkeni, kaç satır döndürüleceğini belirtir, SEQUENCE işlevini kullanarak gerekli sıralı sayıları üretir. 3 üst değere ihtiyacımız olduğundan, formülde doğrudan dikey bir dizi sabiti {1;2;3} sağlamakla aynı olan SEQUENCE(3) kullanırız.

    Üçüncüsü için ( col_num ) argümanı, kaç sütun döndürüleceğini tanımlar, sütun numaralarını yatay bir dizi sabiti biçiminde sağlar. B ve C sütunlarını döndürmek istiyoruz, bu yüzden {2,3} dizisini kullanıyoruz.

    Sonunda aşağıdaki formülü elde ederiz:

    =INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})

    Ve tam da istediğimiz sonuçları üretiyor:

    Geri dönmek için 3 alt değerleri için, orijinal verileri en küçükten en büyüğe doğru sıralayın. Bunun için sort_order argümanını -1 ile 1 arasında değiştirir:

    =INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})

    Belirli bir konumda sıralanmış bir değer döndürür

    Başka bir açıdan bakıldığında, ya yalnızca belirli bir sıralama konumunu döndürmek istiyorsanız? Diyelim ki, sıralanmış listeden yalnızca 1., yalnızca 2. veya yalnızca 3. kaydı? Bunu yapmak için, yukarıda tartışılan INDEX SORT formülünün basitleştirilmiş sürümünü kullanın:

    INDEX(SORT(...), n , { column1_to_return , column2_to_return , ...})

    Nerede n ilgilenilen konumdur.

    Örneğin, üstten belirli bir konumu almak için (yani azalan şekilde sıralanmış verilerden) bu formülü kullanın:

    =INDEX(SORT(A2:C13, 3, -1), F1, {2,3})

    Alttan belirli bir konum almak için (yani artan şekilde sıralanmış verilerden) bunu kullanın:

    =INDEX(SORT(A2:C13, 3, 1), I1, {2,3})

    Burada A2:C13 kaynak veri, F1 üstten konum, I1 alttan konum ve {2,3} döndürülecek sütunlardır.

    Sıralama dizisinin otomatik olarak genişlemesini sağlamak için Excel tablosunu kullanma

    Bildiğiniz gibi, orijinal verilerde herhangi bir değişiklik yaptığınızda sıralanmış dizi otomatik olarak güncellenir. Bu, SORT dahil tüm dinamik dizi işlevlerinin standart davranışıdır. Ancak, başvurulan dizinin dışına yeni girişler eklediğinizde, bunlar otomatik olarak bir formüle dahil edilmez. Formülünüzün bu tür değişikliklere yanıt vermesini istiyorsanız, kaynak aralığını tamişlevsel Excel tablosu ve formülünüzde yapılandırılmış referanslar kullanın.

    Pratikte nasıl çalıştığını görmek için lütfen aşağıdaki örneği göz önünde bulundurun.

    A2:B8 aralığındaki değerleri alfabetik sıraya göre düzenlemek için aşağıdaki Excel SIRALAMA formülünü kullandığınızı varsayalım:

    =SIRALA(A2:B8, 1, 1)

    Ardından, 9. satıra yeni bir giriş yaparsınız... ve yeni eklenen girişin dökülme aralığının dışında kaldığını görerek hayal kırıklığına uğrarsınız:

    Şimdi, kaynak aralığı bir tabloya dönüştürün. Bunun için, sütun başlıklarını (A1:B8) içeren aralığınızı seçin ve Ctrl + T tuşlarına basın. Formülünüzü oluştururken, fareyi kullanarak kaynak aralığı seçin ve tablo adı formüle otomatik olarak eklenecektir (buna yapılandırılmış başvuru denir):

    =SORT(Tablo1, 1, 1)

    Son satırın hemen altına yeni bir giriş yazdığınızda, tablo otomatik olarak genişleyecek ve yeni veriler SIRALA formülünün yayılma aralığına dahil edilecektir:

    Excel SORT işlevi çalışmıyor

    SORT formülünüz bir hatayla sonuçlanırsa, bunun nedeni büyük olasılıkla aşağıdaki nedenlerdir.

    #İSİM hatası: eski Excel sürümü

    SORT yeni bir işlevdir ve yalnızca Excel 365 ve Excel 2021'de çalışır. Bu işlevin desteklenmediği eski sürümlerde #NAME? hatası oluşur.

    #SPILL hatası: bir şey dökülme aralığını engelliyor

    Dökülme aralığındaki bir veya daha fazla hücre tamamen boş değilse veya birleştirilmemişse, bir #SPILL! hatası görüntülenir. Düzeltmek için tıkanıklığı kaldırmanız yeterlidir. Daha fazla bilgi için lütfen Excel #SPILL! hatası - ne anlama gelir ve nasıl düzeltilir bölümüne bakın.

    #VALUE hatası: geçersiz argümanlar

    Bir #VALUE! hatası ile karşılaştığınızda sort_index ve sort_order Argümanlar. Sort_index sütun sayısını geçmemelidir. dizi ve sort_order ya 1 (artan) ya da -1 (azalan) olmalıdır.

    #REF hatası: kaynak çalışma kitabı kapalı

    Dinamik dizilerin çalışma kitapları arasındaki başvurular için sınırlı desteği olduğundan, SORT işlevi her iki dosyanın da açık olmasını gerektirir. Kaynak çalışma kitabı kapalıysa, bir formül #REF! hatası verir. Düzeltmek için, başvurulan dosyayı açın.

    Excel'de formül kullanarak veri sıralama bu şekilde yapılır. Okuduğunuz için teşekkür eder, gelecek hafta blogumuzda görüşmek dileğiyle!

    İndirmek için pratik çalışma kitabı

    Excel'de formüllerle sıralama (.xlsx dosyası)

    Michael Brown, yazılım araçlarını kullanarak karmaşık süreçleri basitleştirme tutkusuna sahip, kendini adamış bir teknoloji meraklısıdır. Teknoloji endüstrisinde on yılı aşkın deneyimiyle Microsoft Excel ve Outlook'un yanı sıra Google E-Tablolar ve Dokümanlar'daki becerilerini geliştirdi. Michael'ın blogu, bilgisini ve uzmanlığını başkalarıyla paylaşmaya, üretkenliği ve verimliliği artırmaya yönelik takip etmesi kolay ipuçları ve eğitimler sağlamaya adamıştır. İster deneyimli bir profesyonel, ister yeni başlayan olun, Michael'ın blogu, bu temel yazılım araçlarından en iyi şekilde yararlanmak için değerli bilgiler ve pratik tavsiyeler sunar.