Excel按字母数字字符串中的第二个字符排序

时间:2012-06-27 20:23:30

标签: regex excel sorting excel-vba excel-formula vba

我在Excel电子表格中有一列包含以下内容:

### - 3-digit number
#### - 4-digit number
A### - character with 3-digits
#A## - digit followed by character then 2 more digits

这些字符串右侧可能还有多余的字符。

我想按以下顺序(升序或降序)按此列对整个电子表格进行排序:

前三种类型的字符串按字母顺序排列(非ASCII-Betically!) 然后是字符#A ##,然后是第一个数字。

Example:
000...999, 0000...9999, A000...Z999, 0A00...9A99, 0B00...9B99...9Z99

我觉得有一个非常简单的解决方案,使用正则表达式或宏,但我的VBa和RegExp非常生锈(朋友问我这个,但这些天我更像是一个C-guy)。我已经阅读了一些解决方案,其中涉及将数据拆分为其他列,我会很好。

我愿意接受一个好导游的链接。提前给予永恒的感谢。

1 个答案:

答案 0 :(得分:1)

如果你想按第二个字符排序而不考虑前后的内容,那么正则表达式^.(.)代表第二个字符匹配......