1

У меня есть две колонки A и B.

 A          B
 20        100
 40        200
 60        300
 80        400
140        500
190        600
240        700

Пользователь вводит значение в ячейку. Мне нужно проверить введенное пользователем значение по сравнению со значениями в столбце A и вывести значение в столбце B, соответствующее ближайшему более высокому значению в A. ex. если у пользователя есть ввод 90, вывод должен быть 500. Если пользователь вводит 41, вывод должен быть 300.

3 ответа3

1

Самым простым способом может быть вставка 0 в A2 (выделение места для этого путем шунтирования остальных) и затем применение =VLOOKUP(C2,A:B,2) (при условии, что значение, которое нужно найти, находится в C2). Это вернуло бы 0 для 240 или больше.

1

Не делайте VLOOKUP. Используйте INDEX-MATCH:

=INDEX(Return_value_range, MATCH(Lookup_value, Lookup_value_range, Match_type))

Return_value_range - диапазон, который содержит возвращаемые значения

Lookup_value - значение, которое вы хотите найти в массиве значений поиска

Lookup_value_range - диапазон, содержащий значения поиска

Match_type - Точный (0), Ближайший больше (-1) или Ближайший меньше (1)

Итак, в вашем примере ваше уравнение будет выглядеть примерно так:

=INDEX(B1:B7,MATCH(NUMBERYOUARELOOKINGFOR,A1:A7,-1))

Единственное предостережение в том, что когда вы используете -1 (ближайший больше), ваш список должен быть в порядке убывания. Хотя при использовании хитрой функции это может быть подорвано.

-1

Синтаксис для функции LOOKUP:

LOOKUP(значение, lookup_range, [result_range])

значение - это значение для поиска в lookup_range.

lookup_range - это одна строка или один столбец данных, которые сортируются в порядке возрастания. Функция LOOKUP ищет значение в этом диапазоне.

result_range не является обязательным. Это одна строка или один столбец данных того же размера, что и lookup_range. Функция LOOKUP ищет значение в lookup_range и возвращает значение из той же позиции в result_range. Если этот параметр не указан, функция LOOKUP вернет первый столбец данных.

Заметки

  • Если функция LOOKUP не может найти точное совпадение, она выбирает самое большое значение в lookup_range, которое меньше или равно значению.

  • Если значение меньше всех значений в lookup_range, функция LOOKUP вернет # N/A.

  • Если значения в LOOKUP_range не отсортированы в порядке возрастания, функция LOOKUP вернет неправильное значение.

Использование VLOOKUP

VLOOKUP(значение, массив_ таблиц, номер_индекса, [not_exact_match])

Добавление аргумента поиска диапазона

Аргумент Range_lookup - это логическое значение (только TRUE или FALSE), которое указывает, хотите ли вы, чтобы VLOOKUP нашел точное или приблизительное совпадение с Lookup_value.

Если TRUE или этот аргумент пропущен, VLOOKUP будет использовать приблизительное совпадение, если не может найти точное совпадение с Lookup_value. Если точное совпадение не найдено, VLOOKUP возвращает следующее наибольшее значение, которое меньше значения Lookup_value.

Если FALSE, VLOOKUP будет использовать только точное совпадение с Lookup_value. Если в первом столбце Table_array есть два или более значений, соответствующих значению Lookup_value, используется первое найденное значение. Если точное совпадение не найдено, возвращается ошибка # N/A.

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