Сопоставление диапазонов в Excel

Сопоставление диапазонов в Excel

У меня есть столбец данных в Excel с числами [0..100]. Мне нужен новый столбец, который сопоставляет их с новым набором значений, таким образом:

  • > 90 : 4
  • 80-90 : 3
  • 70-79 : 2
  • 60-69 : 1
  • < 60 : 0

Я попытался сделать это сВПР, в частности, с тестовым вводом 77и вызовом функции VLOOKUP(77, A10:B19, 2, TRUE), где A10 — верхний левый элемент в этом диапазоне:

99 4
90 4
89 3
80 3
79 2
70 2
69 2
60 1
59 0
0 0

Однако я получаю результат #N/A. Согласно документации, это происходит потому, что

...значение в lookup_value меньше наименьшего значения в первом столбце table_array...

Однако это явно не так, поскольку я передаю 77. Однако если я использую тестовые входные данные 79, значение, которое явно присутствует в таблице поиска, я получаю правильный результат.

Является ли VLOOKUP здесь неправильным подходом? Каков наилучший способ сделать такое отображение?

Я должен отметить, что и мое входное значение, и таблица поиска имеют тип Number.

решение1

Если вы используете Index/Match вместо VLOOKUP, вы можете сохранить таблицу поиска отсортированной по убыванию, как указано в вашем вопросе. Формула:

=INDEX(B1:B10,MATCH(77,A1:A10,-1))

Сопоставление с -1 в качестве третьего параметра вернет значение, большее или равное искомому значению, если таблица отсортирована по убыванию.

решение2

После долгого копания в этом я узнал, что таблица поиска должна быть отсортирована по возрастанию. В документации указано, что она должна быть отсортирована, но не указан порядок сортировки. Все, что не по возрастанию, приводит к ошибке #N/A.

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