Excel'de bir hücre içindeki sayıları nasıl sıralayabilirim?
Sayıları bir sütun listesinde sıralamak bizim için kolay ve yaygındır, ancak sayıları tek bir hücrede sıralamayı denediniz mi? Bunları birer birer düzenlemek dışında sizin için iyi bir yol olmayabilir, burada Excel'deki hücrelerdeki sayıları nasıl sıralayacağımı konuşacağım.
Hücrelerdeki sayıları formülle sıralama
Kullanıcı Tanımlı İşleviyle hücrelerdeki sayıları sıralama
VBA kodu ile hücreler içinde virgülle ayrılmış sayıları sıralayın
Hücrelerdeki sayıları formülle sıralama
Bir ç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ında, lütfen aşağıdaki formülü girin, bu örnekte, 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. Daha sonra tuşuna basın. Ctrl + Üst Karakter + Enter tuşlarını bir araya getirin, ardından doldurma tutamacını bu formülü uygulamak istediğiniz aralığın üzerine 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 rakamı 15'ten fazlaysa, bu formül doğru sonucu almayacaktır.
2. Sayıları azalan düzende sıralamak istiyorsanız, ş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ın bulunduğu hücreyi belirtir, ihtiyacınıza göre değiştirebilirsiniz.
Kullanıcı Tanımlı İşleviyle hücrelerdeki sayıları sıralama
Formülün bazı sınırlamaları olduğundan, aşağıdakileri kullanabilirsiniz. Kullanıcı Tanımlı İşlev 15 basamaktan uzun hücrelerdeki sayıları sıralamak için.
1. Basılı tutun ALT + F11 anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic penceresi.
2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresi.
VBA kodu: Hücrelerdeki 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ü girin = sortnumsincell (A1) verilerinizin yanındaki boş bir hücreye, ekran görüntüsüne bakın:
4. Ve sonra doldurma tutamacını bu formülü içermesini istediğiniz hücrelere sürükleyin ve hücrelerdeki tüm sayılar aşağıda gösterilen ekran görüntüsü gibi artan sırada sıralanmıştır:
not: Sayıları azalan sırada sıralamak istiyorsanız, lütfen bu formülü girin = sortnumsincell (A1,1).
VBA kodu ile hücreler içinde virgülle ayrılmış sayıları sıralayın
Numaralarınız aşağıdaki ekran görüntüsünde olduğu gibi virgül, noktalı virgül, nokta vb. Gibi belirli karakterlerle ayrılmışsa, bunları hücrelerde nasıl sıralayabilirsiniz? Şimdi, onları sıralamanız için bir VBA kodu ekliyorum.
1. Basılı tutun ALT + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic penceresi.
2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresi.
VBA kodu: Sıralama numaraları hücreler içinde virgülle ayrılır
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. Daha sonra tuşuna basın. F5 Bu kodu çalıştırmak için tuşuna basın ve ardından açılan komut kutusundaki sayıları içeren hücrelerinizi seçin, ekran görüntüsüne bakın:
4. Ve sonra tıklayın OK, hücrelerdeki tüm sayılar orijinal aralıkta artan şekilde sıralanmıştır.
not: Yukarıdaki kodda ihtiyaç duyduğunuzda virgül "," yi diğer karakterlerle değiştirebilirsiniz. Ve bu kod sadece verileri artan şekilde sıralayabilir.
İlgili yazılar:
Sayıları Excel'de kısa çizgilerle nasıl sıralayabilirim?
Veriler Excel'de en sık kullanılan değere göre nasıl sıralanır?
Excel'de e-posta adresini etki alanına göre nasıl sıralayabilirim?
Boş hücreleri Excel'de en üste koymak için satırları nasıl sıralayabilirim?
En İyi Ofis Üretkenlik Araçları
Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar. En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...
Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir
- Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
- Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
- Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!