2014-06-16 135 views
0

我想知道是否有方法,無論是在VBA或Excel中,按照數值遞增的順序對字母數字字符列表進行排序?字母數字排序按照升序排列數值?

例如:

鑑於號碼列表:

  • 40T1000
  • 40T989
  • 40T421
  • 40T654
  • 40T532

我怎樣才能對它們進行排序爲:

  • 40T421
  • 40T532
  • 40T654
  • 40T989
  • 40T1000
+0

是否有這個字符串的一致性進行排序的cols 一個&乙? XXZXXXX?它總是以「40T」或3個字符,或一個字母或......開始的。 – Ken

+0

該字符串總是以40T形式表示(與「------」不同數量的尾隨值)。 – VBAnoob

+0

有意願的地方有一種方法。你有沒有考慮嘗試一些? –

回答

0

你可以只在另一列中提取的最後一個數字部分和根據該列中的值對整個範圍進行排序。

例如,如果您的數據列在列A中,則可以使用列B中的此公式來提取字符串值的最後部分。也就是說,部分以「T」,右邊不管有多少個字符中有「T」的前面:

=MID(A1,FIND("T",A1)+1;LEN(A1)-FIND("T",A1)) 
1

欄中將A中的數據,B1進入:

=--MID(A1,4,9999) 

並複製下來。

然後通過

+1

我建議的一個改進:使公式=值(MID(A1,4,9999))。在排序時,它將刪除「按數字提示排序」,並清楚地突出顯示可能具有無效值的任何內容(如尾隨字符) – Ken

+0

@Ken:.........好主意! –