1

Мы хотим найти строку с самым высоким приоритетом.

У нас есть около 30000 строк данных в 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 столбец - TRUE если в строке нет Group или в той же группе она имеет самый высокий приоритет. В приведенном выше примере элемент C принадлежит группе P но не имеет наивысшего приоритета. Элементы E и G относятся к группе Q но не имеют наивысшего приоритета.

Я пробовал следующую формулу массива (также видел здесь):

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

Однако по какой-то причине мы не принимаем формулу массива. Сортировка также не принимается, так как исходный порядок важен в других расчетах. Тогда как мы можем установить формулу?

1 ответ1

1

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

С другой стороны, мне очень интересно узнать причину, по которой вы не можете использовать формулы массива. Не могли бы вы поделиться этим?

С уважением

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .