我编写了这个vba代码来排名
Sub RankArray()
With Range("Distribution").Offset(0, 1)
.FormulaArray = "=RANK(Distribution,Distribution)"
End With
End Sub但它给了我一个结果,就像:
1 2 3 4 4 6 7 7 7 10 11 12 12 14不按顺序排列,因为有些军衔正在重复
我想要的唯一的VBA代码,而不是excel公式的排名,将给我以下的结果:
1 2 3 4 4 5 6 7 7 7 8 9 10 10 11 12发布于 2016-09-06 10:19:21
对于这种排名,你需要一个不同的公式。类似于:
Sub RankArray()
With Range("Distribution").Offset(0, 1)
.Resize(1).FormulaArray = "=SUM(--ISNUMBER(MATCH(ROW(INDIRECT(""1:""&RANK(R[0]C[-1],Distribution))),RANK(Distribution,Distribution),0)))"
.FillDown
End With
End Subhttps://stackoverflow.com/questions/39345700
复制相似问题