«NA» зарезервировано или я схожу с ума?

«NA» зарезервировано или я схожу с ума?

Вот у меня есть таблица с красноречивым названием 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 – зачем мне ИСТИНА или ЛОЖЬ?

Связанный контент