Ранг If Array Формула

Мне нужна помощь в создании RankIf формула для следующей ситуации.

В моей таблице у меня есть следующее

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

Я пытаюсь создать третий столбец, который будет ранжировать поле UniqueRank, если поле LkUp не = 0. Как видно из заголовка столбца, все значения в этом столбце являются уникальными.

Я написал следующую формулу массива;

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

Возвращает 0, если критерии не выполнены, но #N/A, если они выполнены.

У кого-нибудь есть идеи по этому поводу?

Большое спасибо

1 ответ

Решение

Используйте SUMPRODUCT:

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

Чтобы изменить его в порядке возрастания, просто измените > в <:

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

введите описание изображения здесь

Другие вопросы по тегам