确定每一行是否具有另一列中指定的组内的最高值

确定每一行是否具有另一列中指定的组内的最高值

我们想要找到优先级最高的行。

我们有大约 30,000 行数据,如下Table所示:

Item  Group  Priority  Highest(formula wanted)
A                              TRUE
B     P           2.2          TRUE
C     P             1          FALSE
D                              TRUE
E     Q             2          FALSE
F     Q             4          TRUE
G     Q             1          FALSE

(注意:当且仅当存在一个组时,才会存在优先级。我们的数据中不存在平局。)

如果行中没有,或者在同一个组中,则列为Highest,它具有最高优先级。在上面的例子中,项目属于组,但不是最高优先级。项目和属于组,但没有最高优先级。TRUEGroupCPEGQ

我已经尝试过以下数组公式(也看到这里):

=IF([@Group]="",TRUE,MAX(([Group]=[@Group])*[Priority]))

然而,出于某种原因,我们不是接受数组公式。排序也不被接受,因为原始排序在其他计算中很重要。那么,我们如何设置公式呢?

答案1

=OR([@Group]="",LOOKUP(1,0/FREQUENCY(0,1/(1+([Group]=[@Group])*[Priority])),[Priority])=[@Priority])

另一方面,我非常想知道您不允许使用数组公式的原因。您介意分享一下吗?

问候

相关内容