2

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

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

Я попытался сделать это с помощью VLOOKUP, в частности, с тестовым входом 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.

2 ответа2

1

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

1

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

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

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

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