• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excelde harfleri almadan sadece rakamları sıralama

Katılım
20 Aralık 2020
Mesajlar
5
Excel Vers. ve Dili
2016
Merhabalar yapmam gereken işten dolayı bazı kodlar girmek zorundayım bu kodlar genelde harf ve rakam karışık oluyor örnek vermek gerekirse;
VO 65.50 N001 yada WOTA 46.72 Y001 gibi kodlar bunların sadece sayılarına göre sıralanması gerek ve yapamıyorum.
Bunun formülü nedir acaba n'olur bana yardım edin.
 
65.50 ye göre mi? 001 e göre mi sıralama yapılacak?
iki sayıya göre de sıralama yapılacak ise hangisi öncelikli olacak?
kod yapısı standart mı?
karakterler boşluk sayılar nokta sayılar boşluk karakter sayılar
 
65.50 ye göre mi? 001 e göre mi sıralama yapılacak?
iki sayıya göre de sıralama yapılacak ise hangisi öncelikli olacak?
kod yapısı standart mı?
karakterler boşluk sayılar nokta sayılar boşluk karakter sayılar
VO (65.50 N001)
PARANTEZ İÇİNDEKİ KISMA GÖRE SIRALANACAK SADECE YAZI KISMI ALINMAYACAK
 
Veriler A sütununda B sütunu yardımcı sütun olarak kullanılmıştır.

C#:
Sub ozelsirala()
   'Asri Akdeniz - www.asriakdeniz.com - asriakdeniz@gmail.com
    sonsatir = Cells(Rows.Count, "A").End(3).Row
    Columns("B:B").ClearContents
    For i = 1 To sonsatir
      Cells(i, "B").Value = sayial(Cells(i, "A").Value)
    Next i
    Range("A:B").Sort key1:=Range("B1"), order1:=xlAscending
    Columns("B:B").ClearContents
End Sub

Function sayial(sadecesayistr) As String
  liste = "0123456789"
  gec = ""
  For k = 1 To Len(sadecesayistr)
    harf = Mid(sadecesayistr, k, 1)
    If InStr(liste, harf) > 0 Then
       gec = gec & harf
    End If
  Next k
  sayial = gec
End Function
 
Veriler A sütununda B sütunu yardımcı sütun olarak kullanılmıştır.

C#:
Sub ozelsirala()
   'Asri Akdeniz - www.asriakdeniz.com - asriakdeniz@gmail.com
    sonsatir = Cells(Rows.Count, "A").End(3).Row
    Columns("B:B").ClearContents
    For i = 1 To sonsatir
      Cells(i, "B").Value = sayial(Cells(i, "A").Value)
    Next i
    Range("A:B").Sort key1:=Range("B1"), order1:=xlAscending
    Columns("B:B").ClearContents
End Sub

Function sayial(sadecesayistr) As String
  liste = "0123456789"
  gec = ""
  For k = 1 To Len(sadecesayistr)
    harf = Mid(sadecesayistr, k, 1)
    If InStr(liste, harf) > 0 Then
       gec = gec & harf
    End If
  Next k
  sayial = gec
End Function
ÇOK TEŞEKKÜR EDERİM
 
ÇOK TEŞEKKÜR EDERİM
Veriler A sütununda B sütunu yardımcı sütun olarak kullanılmıştır.

C#:
Sub ozelsirala()
   'Asri Akdeniz - www.asriakdeniz.com - asriakdeniz@gmail.com
    sonsatir = Cells(Rows.Count, "A").End(3).Row
    Columns("B:B").ClearContents
    For i = 1 To sonsatir
      Cells(i, "B").Value = sayial(Cells(i, "A").Value)
    Next i
    Range("A:B").Sort key1:=Range("B1"), order1:=xlAscending
    Columns("B:B").ClearContents
End Sub

Function sayial(sadecesayistr) As String
  liste = "0123456789"
  gec = ""
  For k = 1 To Len(sadecesayistr)
    harf = Mid(sadecesayistr, k, 1)
    If InStr(liste, harf) > 0 Then
       gec = gec & harf
    End If
  Next k
  sayial = gec
End Function
PEKİ BU KODU E-TABLOLARA NASIL GEÇİRE BİLİRİM?
 
E-Tablo için aşağıdaki formülü deneyebilirsiniz.

Bu formül sonucunda oluşan değerlere göre sıralama yapabilirsiniz.

C++:
=REGEXREPLACE(A1;"[^0-9]+";"")
 
Aşağıdaki linkte bu sorunun Google Sheets'de formüllerle çözümünü ele aldım;


Capture.PNG

.
 
Geri
Üst