Ранг 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)