Как найти строку в таблице на основе числового диапазона?

У меня есть таблица глав из книги «Игра престолов» и страница, с которой начинается эта глава. Я хочу взять заданный номер страницы, найти ближайшее числовое значение, уходящее вниз, а затем выбрать название главы для этой строки. Например:

Eddard II   -  104
Tyrion II   -  113
Catelyn III -  122

Учитывая ввод 119, я хочу найти следующее наименьшее число в правом столбце, то есть 113, а затем вывести название главы в левом столбце, поэтому Tyrion II. Я не могу понять, как это сделать формально: похоже, это должна быть работа для ВПР, но я не знаю, может ли ВПР учитывать диапазоны, меньшие или большие, чем при поиске строки. Как мне это сделать?

Решения на основе Excel также хороши, если они применимы к Libreoffice Calc.


person Lou    schedule 28.08.2014    source источник


Ответы (1)


Предполагая, что названия глав находятся в столбце A, а номера страниц — в столбце B, а данные входные данные — в C1, тогда

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

ВПР также умеет искать ближайшее значение в отсортированных столбцах - см. справку ВПР и там параметр "порядок сортировки". Но он не может смотреть налево, поэтому в этом случае вы должны использовать INDEX MATCH.

Привет

Аксель

person Axel Richter    schedule 29.08.2014
comment
Это здорово, отлично работает. Не могли бы вы объяснить, почему это работает? Я не знаком с MATCH. - person Lou; 29.08.2014
comment
Для каждой функции электронных таблиц в libreoffice есть страница справки. Пожалуйста, используйте его. help.libreoffice.org/Calc/Spreadsheet_Functions#MATCH - person Axel Richter; 29.08.2014