Excel VBA Excel如何对重复值进行排序?

时间:2015-11-09 21:55:38

标签: excel vba excel-vba sorting

我想知道Excel如何排序相同的值。我有身份证号码,但有些身份会有重复的身份证号码。我不确定Excel将如何决定如何订购这些产品?它只是查看相邻行中的信息,然后将这些值作为部分或排序进行比较吗?

如果我有:

Column A | Column B
166          C
166          A
166          B

然后按照降序排列在A列上,我会得到:

Column A | Column B
166          C
166          A  
166          B

或者我会得到:

Column A | Column B
166          A
166          B
166          C

感谢。

1 个答案:

答案 0 :(得分:2)

Excel的排序应该是一个稳定的排序,因此应该保留相等元素的顺序。您应该能够执行类似于基数排序的操作,对多个行进行排序,从最不重要的列到最重要的列。您可以一次按3列对行进行排序。

如果使用Visual Basic进行排序,请注意选择排序和快速排序不稳定。请改用插入排序(稳定)或冒泡排序(稳定)。我不知道是否可以用VBA实现合并排序(稳定)。

通过将比较中的行号作为最不重要的比较器(如果可以使用VBA),可以使非稳定的排序稳定。