Excel'de bir hücre içindeki sayıları nasıl sıralarız?
Bir sütun listesindeki sayıları sıralamak bizim için kolay ve yaygındır, ancak bir hücre içindeki sayıları sıralamayı denediniz mi? Belki tek tek düzenlemekten başka iyi bir yolunuz yoktur. Burada, Excel'deki hücrelerdeki sayıları nasıl sıralayacağınızı anlatacağım.
Formül ile hücre içindeki sayıları sıralama
Kullanıcı Tanımlı İşlev ile hücre içindeki sayıları sıralama
Virgülle ayrılmış hücre içindeki sayıları VBA kodu ile sıralama
Formül ile hücre içindeki sayıları sıralama
Çalışma sayfasındaki hücrelerdeki sayıları sıralamak için aşağıdaki uzun formülü uygulayabilirsiniz, lütfen şu şekilde yapın:
1. Verilerinizin yanına aşağıdaki formülü girin, bu örnekte onu C1 hücresine yazacağım, ekran görüntüsüne bakın:
=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. Ardından Ctrl + Shift + Enter tuşlarına birlikte basın, ardından bu formülü uygulamak istediğiniz aralığa sürükleyin ve sayıların küçükten büyüğe sıralandığını göreceksiniz. Ekran görüntüsüne bakın:
Notlar:
1. Hücredeki sayının basamak sayısı 15'ten fazla ise, bu formül doğru sonucu vermeyecektir.
2. Sayıları azalan düzende sıralamak isterseniz, şu formülü kullanabilirsiniz: =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))).
3. Yukarıdaki formüllerde A1, sıralamak istediğiniz sayıları içeren hücreyi belirtir, ihtiyacınıza göre değiştirebilirsiniz.

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
Kullanıcı Tanımlı İşlev ile hücre içindeki sayıları sıralama
Formülün bazı sınırlamaları olduğundan, hücrelerdeki 15'ten fazla basamaklı sayıları sıralamak için aşağıdaki Kullanıcı Tanımlı İşlevi kullanabilirsiniz.
1. ALT + F11 tuşlarını basılı tutun ve Microsoft Visual Basic for Applications penceresi açılacaktır.
2. Ekle Insert > Module'e tıklayın ve aşağıdaki kodu Modül Penceresine yapıştırın.
VBA Kodu: Hücre içindeki sayıları sıralama
Function SortNumsInCell(pNum As String, Optional pOrder As Boolean) As String
'Update 20140717
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. Ardından bu kodu kaydedip kapatın, çalışma sayfanıza geri dönün ve bu formülü =sortnumsincell(A1) verilerinizin yanındaki boş bir hücreye girin, ekran görüntüsüne bakın:
4. Ve ardından doldurma tutamacını bu formülü içermesini istediğiniz hücrelere sürükleyin ve hücrelerdeki tüm sayılar aşağıdaki ekran görüntüsünde gösterildiği gibi artan düzende sıralanacaktır:
Not: Sayıları azalan düzende sıralamak isterseniz, lütfen bu formülü girin =sortnumsincell(A1,1).
Virgülle ayrılmış hücre içindeki sayıları VBA kodu ile sıralama
Sayılarınız virgül, noktalı virgül, nokta vb. gibi belirli karakterlerle ayrılırsa, aşağıdaki ekran görüntüsünde olduğu gibi, bunları hücrelerde nasıl sıralarsınız? Şimdi size bunları sıralamak için bir VBA kodu tanıtacağım.
1. Microsoft Visual Basic for Applications penceresini açmak için ALT + F11 tuşlarını basılı tutun.
2. Ekle Insert > Module'e tıklayın ve aşağıdaki kodu Modül Penceresine yapıştırın.
VBA Kodu: Virgülle ayrılmış hücre içindeki sayıları sıralama
Sub SortNumsInRange()
'Update 20140717
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set 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, ",")
Next
End Sub
3. Ardından bu kodu çalıştırmak için F5 tuşuna basın ve ardından açılan istem kutusunda sayıları içeren hücrelerinizi seçin, ekran görüntüsüne bakın:
4. Ve ardından Tamam'a tıklayın, hücrelerdeki tüm sayılar orijinal aralıkta artan düzende sıralanacaktır.
Not: Yukarıdaki kodda virgülü “,” ihtiyacınıza göre başka herhangi bir karakterle değiştirebilirsiniz. Ve bu kod yalnızca verileri artan düzende sıralayabilir.
İlgili makaleler:
Excel'de tire ile ayrılmış sayılar nasıl sıralanır?
Excel'de en sık görülen değere göre veriler nasıl sıralanır?
Excel'de e-posta adresleri etki alanına göre nasıl sıralanır?
Excel'de boş hücreleri üstte olacak şekilde satırlar nasıl sıralanır?
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!