【问题标题】:Rank If Array FormulaRank If 数组公式
【发布时间】:2017-02-13 11:43:06
【问题描述】:

我需要一些帮助来为以下情况创建 RankIf 公式。

在我的表中,我有以下内容

|UniqueRank|LkUp|
|12        |0   |
|13        |1   |
|5         |0   |
|1         |2   | 

我正在尝试创建第三列,如果字段 LkUp 不 = 0,它将对字段 UniqueRank 进行排名。正如列标题所示,此列中的所有值都是唯一的。

我写了下面的数组公式;

=IF(tblPriorityMatrix[LkUp]<>0,RANK.EQ(tblPriorityMatrix[Unique Rank],tblPriorityMatrix[@[Unique Rank]]),0)

如果条件满足,则返回 0,但满足条件时返回 #N/A

有人对此有任何想法吗?

非常感谢

【问题讨论】:

    标签: excel-formula array-formulas


    【解决方案1】:

    使用 SUMPRODUCT:

    =IF(tblPriorityMatrix[@LkUp]<>0,SUMPRODUCT((tblPriorityMatrix[UniqueRank]>tblPriorityMatrix[@UniqueRank])*(tblPriorityMatrix[LkUp]<>0))+1,0)
    

    要将其更改为升序,只需将&gt; 更改为&lt;

    =IF(tblPriorityMatrix[@LkUp]<>0,SUMPRODUCT((tblPriorityMatrix[UniqueRank]<tblPriorityMatrix[@UniqueRank])*(tblPriorityMatrix[LkUp]<>0))+1,0)
    

    【讨论】:

    • 嗨,斯科特,感谢您的回复。这似乎可行,但是按降序排列,如何将其更改为升序?
    • 嗨,斯科特,当你指出这一点时很明显 :) 非常非常感谢您的帮助,这很有魅力!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2018-02-09
    • 2022-01-24
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多