Я должен рассчитать "очки" для каждой строки на основе категории и списков

и я могу получить данные из этой таблицы ниже.

Например, первая строка:

Категория: Жесткие линии

Объявления: 165

результат для столбцов "баллы" должен быть -> Баллы: 2

Вы знаете, как сделать это в Excel? Я не могу изменить структуру исходной таблицы

2 ответа2

2

Используйте формулу, подобную этой:

=INDEX(B:D,MATCH(H2,A:A,0)+2,MATCH(G2,INDEX(--(LEFT(INDEX(B:D,MATCH(H2,A:A,0)+1,0),FIND("-",INDEX(B:D,MATCH(H2,A:A,0)+1,0))-1)),)))

1

Сначала нормализуйте вашу справочную таблицу. Это проще сделать, когда вам не нужно ссылаться на диапазон значений (1-19).

Hardlines   Tier 0  | 150   | 2
Hardlines   Tier 1  | 20    | 1
Hardlines   Tier 2  | 1     | 0.5
Softlines   Tier 0  | 100   | 2
Softlines   Tier 1  | 20    | 1
Softlines   Tier 2  | 1     | 0.5
Media       Tier 0  | 500   | 2
Media       Tier 1  | 20    | 1
Media       Tier 2  | 1     | 0.5

Обратите внимание, что диапазоны значений отсортированы по убыванию (150> 20> 1)

После этого вставьте эту формулу в свой столбец Очки.

=INDEX($N$1:$N$9, MATCH(1, (B1 >= $M$1:$M$9) * (C1 = $K$1:$K$9), 0))

и нажмите Ctrl+Shift+Enter вместо Enter, чтобы вставить формулу массива.

Пример данных

Формула ищет Points , указанные в столбце N, которые соответствуют двум критериям:

  1. B1 >= $M$1:$M$9 Значение при поиске выше, чем ссылочные значения в столбце M.

  2. C1 = $K$1:$K$9 Значение при поиске совпадает со ссылочной строкой в столбце K.

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