Лучший способ добиться этого - использовать таблицу поиска в качестве промежуточной точки, либо где-нибудь на листе, либо в скрытых ячейках / листе, если предпочтительнее.
Таблица будет выглядеть примерно так:
|-----|-------|
| 101 | 27.5 |
|-----|-------|
| 151 | 21.34 |
|-----|-------|
| 201 | 26.07 |
|-----|-------|
etc...
Затем вы можете использовать поиск, чтобы найти значение на основе условия, скажем, эта таблица находится в Sheet2!A1:B3
:
=IFERROR(INDEX(Sheet2!$B$1:$B$3,SMALL(IF($D$2<Sheet2!$A$1:$A$3,ROW(Sheet2!$A$1:$A$3)-ROW(Sheet2!$A$1)+1),1)),"97.90")
- введено как формула массива( Ctrl + Shift + Ввод )
INDEX(Sheet2!$B$1:$B$3,
- Создать 1 основанный индекс (индекс, начинающийся с 1) для B1: B3
IF($D$2<Sheet2!$A$1:$A$3,ROW(Sheet2!$A$1:$A$3)-ROW(Sheet2!$A$1)+1
- Возвращает ссылку на позицию всех элементов в A1: A3, которые больше, чем D2, в виде массива (принимая номер строки минус номер строки первой строки плюс 1)
SMALL([If()],1)
- Возвращает первый, наименьший номер строки из массива, который INDEX()
затем ищет
IFERROR([Index(Small(If()))],"97.90")
- Поскольку любое число, превышающее наибольшее число в таблице, дастошибка, затем вместо этого выведите «97,90»