Вот у меня есть таблица с красноречивым названием Table4
.
Я определил именованный диапазон на основе столбца идентификатора Table4
.
Здесь у меня есть пара одинаковых выпадающих списков рядом с полями, которые используют VLOOKUP
:
Выпадающий список проверяется с использованием list
основанного на Именованном диапазоне выше (PatientIds). А вот код для формул поиска:
=VLOOKUP(C9,Table4[[#All],[ID]:[Full Name]],4)
С данными выше все выглядит и работает отлично. Я могу изменить раскрывающиеся списки, и значение рядом с ними изменится. Вот пример:
ОДНАКО, если я попытаюсь изменить Z1
его на NA
, что имеет больше смысла для пользователя, начнется настоящий ад!
Вот результаты с несколькими дублирующимися полями:
А если я ничего не сделаю, кроме как вернусь NA
к Z1
:
решение1
=VLOOKUP(C9,Table4[[#All],[ID]:[Full Name]],4)
Vlookup принимает четыре аргумента
Vlookup(lookup_value, table_array, col_index_number, range_lookup)
Последний аргумент можно опустить, и он по умолчанию будет равен 1 или TRUE. Вы опустили четвертый аргумент, поэтому он по умолчанию равен TRUE. Это означает, что поиск вернет следующий наименьший элемент, если точное совпадение не будет найдено.
Чтобы это работало правильно, table_array должен быть отсортирован по возрастанию по первому столбцу. Если это не так, результаты будут разбросаны по всему, и правильный результат будет скорее случайным, чем преднамеренным.
Для получения дополнительной информации о Vlookup и обсуждения четвертого параметра см.VLOOKUP – зачем мне ИСТИНА или ЛОЖЬ?