排名如果数组公式

时间:2017-02-13 11:43:06

标签: excel-formula array-formulas

我需要一些帮助,为以下情况创建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 符合条件。

有没有人对此有任何想法?

非常感谢

1 个答案:

答案 0 :(得分:1)

使用SUMPRODUCT:

{
    _id: '1234567',
    name: 'Event One',
    description: 'This is the default description',
    defaultDate: '2017-02-15T12:00:00.000Z',
    userData: [
        { 
            userId: '8765432',
            userDate: '2017-06-10T12:00:00.000Z',    
            userDescription: 'My personalised description',
        },
        { 
            userId: '461938',
            userDate: '2017-03-21T12:00:00.000Z',    
            userDescription: 'I have a description too!',
        },       
    ]
}

要将其更改为升序,只需将=IF(tblPriorityMatrix[@LkUp]<>0,SUMPRODUCT((tblPriorityMatrix[UniqueRank]>tblPriorityMatrix[@UniqueRank])*(tblPriorityMatrix[LkUp]<>0))+1,0) 更改为>

<

enter image description here