У меня проблемы с созданием необычной формулы поиска в Excel.
Обычно я бы использовал VLOOKUP (), но ловушкой является то, что я хочу найти число в столбце из таблицы, отсортированной по другому столбцу . Vlookup может выполнять поиск только в самом отсортированном столбце.
Сценарий выглядит следующим образом:
- Таблица отсортирована по возрастанию в столбце B.
- Для данного параметра P теперь я хочу найти первое значение A, начиная сверху и снизу, которое больше или равно этому параметру P.
- Функция должна затем вернуть соответствующее значение B.
Таблица (частично, полная таблица намного больше):
A B
1 640 4.5
2 1600 7.0
3 640 7.5
4 1280 12.0
5 1920 16.5
6 2560 21.0
7 1600 19.8
8 3200 26.8
9 4800 33.8
Например, , скажем, мой параметр 1100, тогда я хочу, чтобы моя формула вернула 7.0, потому что первая запись при поиске вниз в столбце А, который больше или равен 1100, это 1600, который имеет соответствующее значение B 7,0
Я попытал счастья с Формула массива (также известная как "формула ctrl-shift-enter") и построил что-то вроде этого:
{=INDEX(table;
MATCH(MIN(IF(columnA-$C1>=0;columnA;FALSE));
IF(columnA-$C1>=0;columnA;FALSE);
0);
2)}
с C1 , содержащим мой параметр, таблица диапазон A1: B9 и столбец A диапазон B1: B9
Но это не работает (в приведенном выше примере возвращается 12.0, потому что 1280 выбирается функцией MIN ()).
Решение, которое я не хочу использовать:
Я мог бы написать какой-нибудь VBA-файл для просмотра таблицы, но я не хочу этого делать (из-за надоедливых «предупреждений о макросах» и из-за того, что Excel на Mac больше не поддерживает VBA)
У кого-нибудь есть подсказки?