首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >excel中统一排名的VBA代码

excel中统一排名的VBA代码
EN

Stack Overflow用户
提问于 2016-09-06 09:40:37
回答 1查看 789关注 0票数 0

我编写了这个vba代码来排名

代码语言:javascript
复制
Sub RankArray()
    With Range("Distribution").Offset(0, 1)
        .FormulaArray = "=RANK(Distribution,Distribution)"
    End With
End Sub

但它给了我一个结果,就像:

代码语言:javascript
复制
 1 2 3 4 4 6 7 7 7 10 11 12 12 14

不按顺序排列,因为有些军衔正在重复

我想要的唯一的VBA代码,而不是excel公式的排名,将给我以下的结果:

代码语言:javascript
复制
1 2 3 4 4 5 6 7 7 7 8 9 10 10 11 12
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-06 10:19:21

对于这种排名,你需要一个不同的公式。类似于:

代码语言:javascript
复制
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 Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39345700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档