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

пример

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). Поэтому я хотел бы получить это число из строки в ячейке F6 рядом с E6. У меня около 500 чисел, и они также включают десятичные числа в столбцах B, D и E, а столбец A содержит только целые числа.

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

2 ответа2

2

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

Сортируйте таблицу по столбцу 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 индекса строки таблицы диапазон поиска должен быть указан с абсолютными ссылками.

0

попробуйте это в 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

чтобы покрыть «пропущенный диапазон».

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