Note: The other languages of the website are Google-translated. Back to English

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


ok mavi sağ balon 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)))

doc-sort-numbers-in-hücreler-1

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:

doc-sort-numbers-in-hücreler-1

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.


ok mavi sağ balon 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:

doc-sort-numbers-in-hücreler-1

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:

doc-sort-numbers-in-hücreler-1

not: Sayıları azalan sırada sıralamak istiyorsanız, lütfen bu formülü girin = sortnumsincell (A1,1).


ok mavi sağ balon 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.

doc-sort-numbers-in-hücreler-1

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:

doc-sort-numbers-in-hücreler-1

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 Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

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!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (13)
Henüz derecelendirme yok. İlk değerlendiren siz olun!
Bu yorum sitedeki moderatör tarafından en aza indirildi
efendim, lütfen önce kopya için verileri küçük veya büyük olup olmadığına göre sıralamaya yardımcı olabilir misiniz? Örnek 1211 ---> 1112 9495 ---> 9945 7379 ---> 7739 Yardımınız için çok teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bu UDF'nin nasıl olduğunu merak ediyordum, = sortnumsincell (A1,1), daha genel olarak değiştirilebilir, örneğin =sıralamasayısı(A1," "," ",,1) ilk argüman nerede, A1, hedef hücre, ikinci argüman,"", üçüncü argümanla herhangi bir karakter veya boşluk alabilen veya hiçbir şey alamayan bir sınırlayıcıdır, "", farklı veya aynı sınırlayıcı ve dördüncü argüman, 1 ya 0, artan veya azalan bir sıralamayı belirtir, sonuç dizesi bir hücre içinde doğru şekilde sıralanır ve sınırlayıcı varsayılanı üçüncü terimde belirtilmedikçe orijinal dizeyle aynıdır. Hem dize hem de sayısal olarak çalışmasını istiyorum ve bazen ikinci veya üçüncü argüman, alt-enter ile manuel olarak girileceği gibi bir satır besleme olabilir. Bunu yapabilseydin, benim ayın kahramanı olurdun. Denedim ama sefil bir şekilde başarısız oldum. Teşekkür ederim.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Sıralamak istediğim bir boşlukla ayrılmış sayılar içeren bir dizi hücrem var. örneğin 8 4 5 1 6 3 olarak sıralamak istiyorum 1 3 4 5 6 8 Herhangi bir yardım için teşekkür ederiz
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bir hücreden aynı anda daha fazla sayıyı sıralamanın bir yolu var mı? Örneğin, elimde A50000, A1234 gibi 1235 varlık numarası var... ve değişiklik yapmak ve kaydetmek için 500 belirli sayı çekmem gerekiyor ve aynı anda 500 çekmem gerekiyor.Teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
84-12-74-26-98 herhangi bir siparişi 12-26-74-84-98 veya 98-84-74-26-12 olarak sıralamanız gerekir teşekkür ederim
Bu yorum sitedeki moderatör tarafından en aza indirildi
CInt(Arr(xMin)) > CInt(Arr(j)) ise ve çalışırsa
Bu yorum sitedeki moderatör tarafından en aza indirildi
çeşitli satırlardan toplam 14000 ila 20000 tutarını sıralamak istiyorum Örnek:- 2000,1500 bir satır ve bunun gibi tüm satır miktarını düzenlemek
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, VBA kodu hatalı çıktı gibi görünüyor, örneğin 13,50,47,7,39'dan önce ve 13-39-47-50-7'den sonra. Herhangi bir fikir neden?
Bu yorum sitedeki moderatör tarafından en aza indirildi
hOLA, MI SORUN ES QUE TENGO EXEL 2019 EN ESPAÑOL COMO SERIA LA FORMÜL?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Excel'de bir hücre içindeki AZ metni nasıl sıralanır?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, VBA kodlu hücrelerde virgülle ayrılmış sayıları sıralamak için güzel bir iyilik için teşekkürler
Sadece kodla ilgili bir sorunla karşılaştım.
Kod, üç basamaklı sayıyı algılayamıyor. örneğin sayılar (65, 93, 53, 72, 64, 85, 103, 48, 77, 81, 54) kodu uyguladıktan sonra yeni sıra (103, 48, 53, 54, 64, 65, 72, 77, 81, 85, 93)
Sorun için herhangi bir çözümünüz var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba omer, Aşağıdaki kod size yardımcı olabilir, lütfen deneyin:
Public Function CellSort(r As Range) As String
Dim bry() Kadar Uzun, L Kadar Uzun, U Kadar Uzun
ch = r(1).Metin
ary = Böl(ch, ",")
L = LBound(ary)
U = UBound(ary)
ReDim bry(L'den U'ya)
i = LBound(ary) için UBound(ary) için
bry(i) = CLng(ary(i))
I Sonraki
Çağrı BubbleSort(bry)
i = LBound(bry) için UBound(bry) için
ary(i) = CStr(bry(i))
I Sonraki
CellSort = Birleştir(ary, ",")
son İşlevi

Alt BubbleSort(arr)
Varyant Olarak Dim strTemp
Dim i As Long
Dim j As Uzun
Dim IngMin As Long
LngMax'i Uzun Süre Kısın
lngMin = LBound(dizi)
lngMax = UBound(arr)
i = lngMin için lngMax - 1
j = i + 1 için lngMax için
arr(i) > arr(j) ise
strTemp = dizi(i)
dizi(i) = dizi(j)
dizi(j) = strTemp
Eğer son
Sonraki j
I Sonraki
End SubYukarıdaki kodu ekledikten sonra lütfen şu formülü uygulayın: =HücreSırala(A1).Ve ihtiyacınız olan sonucu alacaksınız.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Hola, se pueden ordenar letras en una sola celda por orden alfabético? Mac'te çok başarılısınız. lütuflar
Buraya henüz hiç yorum yapılmamış
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır