Excel'de bir hücre içindeki sayılar nasıl sıralanır?
Excel ile çalışırken bir hücre aralığındaki ya da bir sütundaki sayıları sıralamak yaygın ve oldukça kolaydır. Ancak bazen tek bir hücre içinde yer alan sayıları sıralamanız gerekebilir; örneğin, birden fazla sayının ayrı hücrelere bölünmeden birlikte saklandığı içe aktarılmış veriler, birleştirilmiş raporlar veya dışa aktarılmış dosyalarla karşılaşabilirsiniz. Her bir hücredeki sayıları elle sıralamak, özellikle büyük veri setlerinde veya çok basamaklı sayılarla çalışırken hem verimsizdir hem de hata yapma riskini artırır. Uygun teknikleri kullanarak, veri düzenleme veya analiz ihtiyaçlarınıza en iyi şekilde uygun hale getirmek için hücrelerdeki sayıları hızla yeniden sıralayabilirsiniz.
Bu makalede, Excel’de hücrelerdeki sayıları sıralamak için formül tabanlı yöntemler, kullanıcı tanımlı işlevler ve VBA kodu gibi çeşitli pratik yaklaşımları keşfedeceksiniz. Her yöntemin kendine özgü avantajları bulunur ve farklı senaryolara hitap eder; böylece ihtiyaçlarınıza en uygun çözümü kolayca seçebilirsiniz.
Hücreler içindeki sayıları formülle sıralama
Hücreler içindeki sayıları Kullanıcı Tanımlı İşlev ile sıralama
Hücreler içinde virgülle ayrılmış sayıları VBA koduyla sıralama
Hücreler içindeki sayıları Excel’in Hızlı Doldurma özelliğini kullanarak sıralama
Hücreler içindeki sayıları formülle sıralama
Bir hücredeki tüm sayılar tek basamaklıysa ve ayırıcı (delimiter) içermiyorsa, bu basamakları otomatik olarak sıralamak için bir dizi formülü kullanabilirsiniz. Bu yöntem, kodlar, kimlikler veya hücredeki tek basamaklı sayıların sıraya konması gereken her türlü senaryoda idealdir.
Lütfen aşağıdaki adımları uygulayın:
1. Verilerinizin yanına yeni bir sütun ekleyin. Örneğin, sayılarınız A1 hücresindeyse, C1 hücresine tıklayıp aşağıdaki formülü girin:
=TEXT(SUM(SMALL(--MID(A1,ROW(INDIRECT("1:"&,LEN(A1))),1),ROW(INDIRECT("1:"&,LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&,LEN(A1))))),REPT("0",LEN(A1)))

2. Bu bir dizi formülü olduğundan, girişi onaylamak için Ctrl + Shift + Enter tuşlarına basın. Formülün etrafında kıvırcık parantezler belirecek ve bunun bir dizi olarak değerlendirildiğini gösterecektir.
Ardından, sıralama işlevini diğer hücrelere kopyalamak için doldurma tutamacını aşağı doğru sürükleyin. Böylece her hücredeki sayılar otomatik olarak artan sırada sıralanacaktır. Aşağıdaki örneğe göz atın:

Daha kolay kullanım için, doğru hücrelere başvurduğunuzdan ve orijinal verilerinizin yalnızca rakamlardan oluştuğundan emin olun; karışık metin veya ek karakterler sorunlara yol açabilir.
Notlar:
- Bir hücre 15’ten fazla basamak içeriyorsa, bu formül Excel’in varsayılan sayısal hassasiyet sınırı nedeniyle doğru sonuç vermeyebilir. Daha uzun dizgiler veya daha karmaşık basamak düzenlemeleri için VBA çözümlerini veya Kullanıcı Tanımlı İşlev’i kullanmanızı öneririz.
- Sayıları azalan sırada sıralamak istiyorsanız, formülde SMALLifadesini LARGEile değiştirin ve şu formülü kullanın:
=TEXT(SUM(LARGE(--MID(A1,ROW(INDIRECT("1:"&,LEN(A1))),1),ROW(INDIRECT("1:"&,LEN(A1))))*10^(LEN(A1)-ROW(INDIRECT("1:"&,LEN(A1))))),REPT("0",LEN(A1)))
Bu formül aynı şekilde çalışır, ancak basamakları en büyükten en küçüğe sıralar.
- Bu formüllerde, A1, sıralamak istediğiniz sayıları içeren hücreye işaret eder. Verileriniz farklı bir hücredeyse, başvuruyu buna göre güncelleyin.
- #DEĞER! hatası alırsanız, hücrenin yalnızca tek basamaklı rakamlar içermesine ve boşluk veya başka karakterler barındırmamasına dikkat edin.
- Bu yöntemi büyük bir veri kümesine uygularken, formül çıktılarının kopyaladığınızda veya verileri değiştirdiğinizde doğru şekilde güncellenmesi için hesaplama seçeneklerinizin otomatik olarak ayarlandığından emin olun.

KUTOOLS AI ile Excel'in Sihirli Gücünü Açığa Çıkarın
- Akıllı Yürütme: Hücre işlemlerini gerçekleştirin, verileri analiz edin ve hepsi basit komutlarla çalışan grafikler oluşturun.
- Özel formüller: İş akışlarınızı kolaylaştırmak için özelleştirilmiş formüller oluşturun.
- VBA Kodlama: VBA kodlarını zahmetsizce yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca çözmek artık çok daha basit!
- Metin Çevirisi: Elektronik tablolarınızda dil bariyerlerini aşın.
Hücreler içindeki sayıları Kullanıcı Tanımlı İşlev ile sıralama
15 basamaktan daha uzun sayılarla çalışırken ya da daha fazla esneklik gerektiğinde, Kullanıcı Tanımlı İşlev (UDF) güçlü bir alternatif sunar. Standart Excel formüllerinin ötesinde ihtiyaçlarınız varsa, UDF’ler hücre içi sıralamayı otomatikleştirmenin etkili bir yoludur.
Bu çözüm, genellikle tek hücrelere sıkıştırılmış içe aktarılmış veri sütunlarıyla veya kodlarla çalışan ve hücre uzunluğunun önemli olabileceği, ayrıca sayıların tekrar tekrar sıralanması gereken kullanıcılar için uygundur.
Uygulama adımları şöyledir:
1. ALT + F11 tuşlarına basılı tutarak Microsoft Visual Basic for Applications (VBA) penceresini açın.
2. VBA penceresinde, Ekle > Modül seçeneğine tıklayın ve aşağıdaki kodu oluşturulan yeni modül penceresine kopyalayıp yapıştırın:
VBA kodu: Hücreler içindeki sayıları sıralama
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'UpdatebyExtendoffice
Dim xOutput As String
For i = 0 To 9
For j = 1 To UBound(VBA.Split(pNum, i))
xOutput = IIf(pOrder, i & xOutput, xOutput & i)
Next
Next
SortNumsInCell = xOutput
End Function
3. Kodu yapıştırdıktan sonra VBA düzenleyicisini kaydedip kapatın. Çalışma sayfanıza dönün ve verilerinizin yanındaki boş bir hücreye (örneğin B1 veya C1) aşağıdaki formülü girin:
=sortnumsincell(A1)

4. İşlevi gerektiğinde diğer hücrelere genişletmek için doldurma tutamacını sürükleyin. Artık hedeflenen her hücredeki tüm sayılar aşağıdaki gibi artan sırada sıralanacaktır:

Not:Sayıların azalan sırada sıralanmasını istiyorsanız, bunun yerine aşağıdaki formülü girin:
=sortnumsincell(A1,1)
Ek bağımsız değişken ()1), işlevin azalan sıralama yapmasını sağlar.
Bu UDF tabanlı çözüm, daha büyük ve karmaşık veri kümelerinde artan esneklik ve doğruluk sunar; ayrıca basamak sınırlarından kaynaklanan yaygın formül hatalarını önlemenize yardımcı olur.
Derleme hatalarıyla karşılaşırsanız, modül kodunun doğru şekilde yapıştırıldığından ve işlev adının çalışma sayfası formülünüzle birebir eşleştiğinden emin olun.
Hücreler içinde virgülle ayrılmış sayıları VBA koduyla sıralama
Hücre içindeki sayılar virgül, noktalı virgül veya hatta nokta gibi belirli ayırıcılarla ayrılmışsa, yerleşik formül çözümleri yeterince etkili olmayabilir. Böyle durumlarda, işlemekte olduğunuz hücre sayısı ne olursa olsun, sayıları verimli bir şekilde sıralamak için özelleştirilmiş bir VBA kodu kullanabilirsiniz.
Uygulanabilir senaryolar arasında veritabanlarından dışa aktarılmış listeler, toplanmış anket yanıtları veya sayısal değerlerin tek bir hücrede tutulduğu ve aralarında tutarlı bir ayırıcı karakter bulunan her türlü veri kümesi yer alır.
Sıralama için VBA kodunu çalıştırmak üzere aşağıdaki adımları izleyin:

1. ALT + F11 tuşlarına basarak Microsoft Visual Basic for Applications penceresini açın.
2.Ekle>Modülseçeneğine tıklayın ve aşağıdaki kodu modül penceresine yapıştırın:
VBA kodu: Hücreler içinde virgülle ayrılmış sayıları sıralama
Sub SortNumsInRange()
'Update20140717Dim Rng As RangeDim WorkRng As RangeDim Arr As VariantOn Error Resume NextxTitleId = "KutoolsforExcel"
Set WorkRng = Application.SelectionSet WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set objArrayList = CreateObject("System.Collections.ArrayList")
For Each Rng In WorkRng Arr = VBA.Split(Rng.Value, ",")
For i =0 To UBound(Arr)
xMin = i For j = i +1 To UBound(Arr)
If Arr(xMin) > Arr(j) Then xMin = j End If Next j If xMin <> i Then temp = Arr(i)
Arr(i) = Arr(xMin)
Arr(xMin) = temp End If Next i Rng.Value = VBA.Join(Arr, ",")
NextEnd Sub 3. Kodu çalıştırmak için F5 tuşuna basın. Karşınıza çıkan iletişim kutusu, sıralamak istediğiniz hücreleri içeren aralığı seçmenize olanak tanır.

4. Tamam düğmesine bastıktan sonra, kod seçili tüm hücrelerdeki sayıları artan sırada sıralar ve değişiklikler, diğer hücre içeriklerini etkilemeden doğrudan uygulanır.
Not: Sayılarınız başka bir karakterle (örneğin noktalı virgül veya boşluk) ayrılmışsa, kodun içindeki her iki yerde de Split(Rng.Value, ",") ve Join(Arr, ",") ifadelerindeki virgül (“,”) karakterini tercih ettiğiniz ayırıcıyla değiştirin.
Bu kod yalnızca artan sırada sıralama yapar. Azalan sırada sıralamak istiyorsanız, VBA kodundaki sıralama mantığını değiştirmeniz gerekir. VBA kullanırken, değişikliklerin anında uygulanacağını ve Geri Al özelliğiyle geri alınamayacağını unutmayın; bu yüzden kodu çalıştırmadan önce dosyanızı mutlaka kaydedin.
Bir hücre sayısal olmayan içerik içeriyorsa, kod beklenen sonucu vermeyebilir; çalıştırmadan önce verilerinizde karışık içerik bulunup bulunmadığını kontrol edin.
Hücreler içindeki sayıları Excel’in Hızlı Doldurma özelliğini kullanarak sıralama
Küçük veri kümeleri için veya hücredeki sayılar tahmin edilebilir bir düzene sahipse, Excel’in Hızlı Doldurma özelliği hızlı ve pratik bir çözüm sunar. Bu yaklaşım, yalnızca birkaç hücredeki sayıları sıralamanız gerektiğinde ve yapı basit olduğunda özellikle etkilidir.
Hücreler içindeki sayıları sıralamak için Hızlı Doldurma özelliğini kullanma adımları şöyledir:
1. Verilerinizin yanındaki yeni bir sütunda, ilk hücrenizdeki sayının sıralanmış halini manuel olarak yazın (örneğin, A1 hücresi)8371 içeriyorsa, B1 hücresine 1378 yazın).
2. Aynı sütundaki bir sonraki hücreyi seçin ve bir sonraki girdi için sıralanmış halini yazmaya başlayın. Birkaç örnekten sonra Ctrl + E tuşlarına basın (Hızlı Doldurma kısayolu). Excel, kalıbı otomatik olarak tanıyacak ve kalan hücreleri sıralama örneğinize göre dolduracaktır.
Bu teknik hızlıdır ancak özellikle kısa listelerde veya veri kalıbı çok düzenliyse en iyi şekilde işe yarar. Excel’in amaçlanan dönüşümü doğru algılayabilmesi için en az birkaç sıralı sonucu elle girmeniz gerekir.
Hızlı Doldurma, veriler karmaşık kalıplar içeriyorsa veya sayılar özel karakterlerle ayrılmışsa güvenilir şekilde çalışmayabilir. Otomatik olarak oluşturulan sonuçları her zaman doğruluk açısından kontrol edin.
Not: Bu yöntem her durumda işe yaramayabilir.
Bir yaklaşım seçerken verilerinizin yapısını (tek haneli sayılar mı, yoksa ayırıcı içeren sayılar mı), veri dizisinin uzunluğunu ve işlenecek hücre sayısını dikkate alın. Formüle dayalı yöntemler, kısa ve ayırıcı içermeyen diziler için en iyisidir; buna karşın VBA veya kullanıcı tanımlı işlev (UDF) çözümleri, karmaşık ya da uzun veri dizileriyle çalışırken daha fazla esneklik ve güç sunar.
Herhangi bir çözüm uygulamadan önce, orijinal verilerinizi gizli boşluklar, metin veya biçimlendirme sorunları açısından mutlaka çift kontrol edin. Sayıları sıraladıktan sonra çıktıyı doğrulamak için birkaç örneği orijinal girdiyle karşılaştırmak, iyi bir uygulamadır.
Herhangi bir sorunla karşılaşırsanız, öncelikle Excel sürümünüzün dizi formüllerini desteklediğinden emin olun (Excel 2016 ve sonraki sürümler daha iyi uyumluluk sağlar) ve VBA yöntemlerini kullanıyorsanız makroların etkinleştirildiğinden emin olun. Sıralama işlemi beklenen şekilde çalışmazsa, formülünüzü veya VBA kodunuzu hücre yapınıza uygun şekilde özelleştirmeyi deneyin.
İlgili makaleler:
Excel'de tire ile ayrılmış sayıları nasıl sıralayabilirim?
Excel'de verileri en sık tekrarlanan değere göre nasıl sıralayabilirim?
Excel'de E-posta Adresi alan adlarına göre nasıl sıralanır?
Excel'de boş hücreleri üste taşıyacak şekilde satırları nasıl sıralayabilirim?
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