使用主要标准和子标准进行过滤

时间:2015-10-04 10:56:20

标签: excel sorting filter

考虑一个包含三列A,B和C的表。我想使用以下两个标准对此表进行排序。

  1. 主要标准:根据C列对整个表进行排序,以便C中的条目增加。例如,2009201020102009
  2. 子标准:当C列中的条目相同时,例如2009,我想对表进行排序,以便B列中的条目减少。例如,如果C中有两个100,那么我希望B有99和{{1}}。
  3. 我如何在Excel中实现此目的?

1 个答案:

答案 0 :(得分:1)

此代码改编自 Recorded 代码。从以下数据开始:

enter image description here

运行此宏:

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

将产生:

enter image description here