过滤与主要标准和子标准

考虑一个包含三列A,B和C的表。我想使用以下两个条件对此表进行sorting。

  1. 主要标准:根据列C对整个表进行sorting,使C中的条目增加。 例如, 2009200920102010年等
  2. 子标准:当列C中的条目是相同的,比如说, 2009 ,我想sorting表,使列B中的条目减less。 例如,如果C中有两个2009 ,那么我想B有10099

我如何在Excel中实现这个function?

这个代码是从Recorded代码改编的。 从数据开始,如:

在这里输入图像说明

运行这个macros:

 Sub Macro1() With ActiveWorkbook.Worksheets("Sheet1").Sort .SortFields.Clear .SortFields.Add Key:=Range("C1:C20"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal .SortFields.Add Key:=Range("B1:B20"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal .SetRange Range("A1:C20") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub 

会产生:

在这里输入图像说明