Как взять набор значений и сравнить его с несколькими строками критериев

Как взять набор значений и сравнить его с несколькими строками критериев

Пример того, чего я хотел бы достичь:

пример

A  B  C   D  E  F
1  1  <=  2  2  1
2  2  <=  4  23 8
3  4  <=  7  5  3
4  7  <=  10 40 10
5  10 <=  12 7  3
6  12 <=  17 8  4
7  17 <=  19 12 5

Я хотел бы взять каждое число из столбца E, а затем определить, к какой строке A оно принадлежит, если критерий заключается в том, что число E >B и <=D (используя весь диапазон B1:D999, который имеет разные значения в каждой строке).

Столбец F затем вернет номер строки A для чисел из столбца E.

Если каждая строка столбцов B и D соответствует моим критериям, например B1<=D1, B2<=D2, B3<=D3 и т. д., я хотел бы сравнить каждое число в столбце E и посмотреть, в какой диапазон они попадают. Например, E6=40, это число попадает в диапазон B12<=D12, который имеет значение 10 в строке A12). Поэтому я хотел бы получить это число из строки A в ячейке F6 рядом с E6. У меня есть около 500 чисел, и они также включают десятичные числа в столбцах B, D и E, а столбец A содержит только целые числа.

Строка A3 означает числа от 1 до 2 включительно, строка A4 означает числа от 2 до 4 включительно. Таким образом, число E3 больше числа в столбце B3 и меньше или равно числу в столбце D3, поэтому оно попадает в диапазон в строке 3, поэтому значение F такое же, как A3 = 1.

решение1

Это вариация на тему стр.фидотПодход . Выполнение поиска в восходящем направлении захватывает неправильный диапазон, а корректировка для значений в середине диапазона сбрасывает результаты для значений на границе диапазона. Обычный MATCH работает, если вы выполняете нисходящий поиск.

Отсортируйте таблицу по убыванию по столбцам A, B или D. Формула в F3 будет следующей:

=INDEX(A:A,MATCH(E3,D:D,-1),)

Если в этих столбцах есть другой контент, сделайте диапазон ссылок на абсолютные адреса, например, $A$3:$A$12 и $D$3:$D$12. Для поиска нужны только столбцы A и D, поэтому я не стал заполнять содержимое столбцов B или C в своем примере:

введите описание изображения здесь

Если ваш столбец A — это просто идентификатор строки таблицы, и он может оставаться в порядке возрастания, это можно даже упростить. MATCH возвращает порядковый номер в таблице, который соответствует столбцу A в порядке возрастания, поэтому формулу можно сократить до:

=MATCH(E3,$D$3:$D$12,-1)

введите описание изображения здесь

Обратите внимание: чтобы результат MATCH соответствовал индексу строки таблицы столбца A, диапазон поиска необходимо указать с абсолютными ссылками.

решение2

попробуйте это в F3:

=IFERROR(INDEX(A:A,MATCH(E3,D:D,0)),INDEX(A:A,MATCH(E3,D:D,1))+1)

но я думаю, вам придется добавить:

A1  ---> -1
A2  ---> 0
D1  ---> 0
D2  ---> 1

для покрытия «недостающего диапазона».

Связанный контент