Ошибка Excel в String VLOOKUP

У меня есть таблица, которая выглядит так:

   B   C
43 XS  6
44 S   11
45 M   16
46 L   21
47 XL  26
48 XXL 31

Я написал формулу:

`VLOOKUP("S",B43:C48,2)`

Возвращает значение 21. ЗАЧЕМ?! Он должен возвращать 11!

update Я воспроизвел эту точную ошибку в другой таблице. VLOOKUP работает, когда значение поиска является числом, но последовательно терпит неудачу, когда я использую строки.

Ответы

Ответ 1

VLOOKUP делает странные вещи, если вы не укажете "точное соответствие" с четвертым аргументом, например:

=VLOOKUP("S",B43:C48,2,FALSE)

Из файла справки Excel:

ВПР (искомое_значение, таблица_массив, номер_столбец, интервальный_просмотр)

Если range_lookup имеет значение TRUE, значения в первом столбце table_array должны быть помещены в порядке возрастания:..., -2, -1, 0, 1, 2,..., AZ, FALSE, TRUE; иначе VLOOKUP может не дать правильное значение. Если range_lookup - FALSE, table_array не нужно сортировать.

А также:

range_lookup - это логическое значение, указывающее, хотите ли вы, чтобы VLOOKUP находил точное совпадение или приблизительное соответствие. Если TRUE или опущено, возвращается приблизительное совпадение. Другими словами, если точное совпадение не найдено, возвращается следующее наибольшее значение, меньшее lookup_value. Если FALSE, VLOOKUP найдет точное совпадение. Если он не найден, возвращается значение ошибки #N/A.