Подобные вопросы задавались на этом прекрасном форуме, но ни один из них не относится к моей проблеме, даже после небольшого покерного с моей стороны.

У меня есть два листа (Рейтинг, Панель инструментов), и мне нужно найти верхнее значение 'k' (1, 2, 3, 4 и т.д.) Для каждого критерия.

На листе "Рейтинг" у меня есть колонка в А, где перечислены газеты. В столбце D есть такие критерии, как "Великобритания", "ЕС" и "Промо".

В G3 у меня есть число, которое представляет значение 'k' для формулы LARGE - в данном случае это 1

Я помещаю формулу в H3.

{= INDEX(Dashboard!$ D $ 4:$ D $ 17143, MATCH(1, INDEX((LARGE(IF(Dashboard!$ A $ 4:$ A $ 17143 = A3, Приборная панель!$ O $ 4:$ O $ 17143), G3)= Приборная панель!$ O $ 4:$ O $ 17143)(Панель инструментов!$ A $ 4:$ A $ 17143 = A3)(Панель инструментов!$ I4:I $ 17143 = D3), 0), 0))}

Объяснение:

Dashboard D:D - это ссылка на рекламный тур - это то, что я хочу вернуть.

Панель A:A - это список из 17 000 названий бумаги (320 уникальных значений)

Панель инструментов O:O - это оценка каждой рекламы для каждой статьи. Лучшие 4 - это то, что я хочу.

Приборная панель I: Я - тип тура (Великобритания, ЕС, Промо)

То, что я хотел бы, чтобы формула смотрела на приборной панели верхний ранг k, который удовлетворяет тому, что имя бумаги совпадает, тип тура совпадает с указанным, а оценка равна k, как указано.

Есть идеи? Спасибо.

1 ответ1

0

Поработав с этим некоторое время, я обнаружил проблемы, когда результат, полученный с помощью LARGE с использованием имени (Dashboard A:A), не соответствовал типу (Dashboard I:I). Я думаю, что обнаружение большого значения - это только первый шаг, который должен использоваться как часть ваших критериев соответствия, а именно имя, тип и оценка. Попробуйте эту формулу массива вместо:

{=INDEX(Dashboard!$D$4:$D$17143,MATCH(1,(A3=Dashboard!$A$4:$A$17143)*(D3=Dashboard!$I$4:$I$17143)*(LARGE((Dashboard!$O$4:$O$17143)*(A3=Dashboard!$A$4:$A$17143)*(D3=Dashboard!$I$4:$I$17143),G3)=Dashboard!$O$4:$O$17143),0),0)}

Примечание: не забудьте ввести как Ctrl-Shft-Enter .

LARGE((Dashboard!$O$4:$O$17143)*(A3=Dashboard!$A$4:$A$17143)*(D3=Dashboard!$I$4:$I$17143),G3) возвращает n- ное (G3) наибольшее значение из массива, которое соответствует имени и типу.

Теперь, когда у вас есть LARGE значение, у вас есть все 3 критерия, необходимых для получения соответствия: имя, тип и оценка.

MATCH ищет значение TRUE в матричном умножении массивов, которые соответствуют имени, типу и количеству баллов (Dashboard O:O), и присваивает индекс строке Ad Ad Tour Reference (Dashboard D:D).

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

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