У меня очень простая ситуация:

Column I  Column J
S         0
M         1
X         2
XL        3

Мне нужно, чтобы поиск возвращал число на основе размера, который вводится в ячейку D6:

=LOOKUP(D6;I:I;J:J)

Это показывает или неправильные значения или N/A В чем может быть проблема здесь?

2 ответа2

2

Согласно документации ваши значения должны быть отсортированы.

Важно: значения в lookup_vector должны быть расположены в порядке возрастания: ..., -2, -1, 0, 1, 2, ..., AZ, FALSE, TRUE; в противном случае LOOKUP может не вернуть правильное значение. Прописные и строчные буквы эквивалентны.

M   1
S   0
X   2
XL  3
0

LOOKUP требует, чтобы список был отсортирован в алфавитном порядке. Однако, если вы не хотите сортировать список, можно использовать функции OFFSET и MATCH .

=OFFSET(I1,MATCH(D6,I1:I4,0),1)
  • I1 - это место, где начинается первый список (S, M, X, XL)
  • D6 - это значение, которое вы хотите найти
  • I1:I4 - диапазон первого списка
  • Последнее 1 означает, что возвращаемое значение находится на один шаг слева от списка для поиска. Поскольку htey находятся рядом друг с другом, значение равно 1.

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