vlookup вернулся #N/A

#excel #vlookup

Вопрос:

Я хочу, чтобы vlookup название почтового региона использовалось Postcode для приведенной ниже таблицы:

     Year    Postcode  Value 
 0  2015    886       500 
 1  2015    2170      25 
 2  2015    3056      2.5 
 3  2015    3057      0
 

Я пытался:

 =VLOOKUP(C2, Sheet1!A2:F18276, 3, FALSE)
 

Таблица, содержащая название почтового региона:

 ID      Postcode    Locality                        State   Long        Lat DC 
230     0200        ANU                             ACT     149.119     -35.2777     ... (more columns)
218     0200        Australian National University  ACT     149.1189    -35.2777     ...
232     0800        DARWIN                          NT      130.83668   -12.458684   ...
233     0801        DARWIN                          NT      130.83668   -12.458684   ...
 

и оно вернулось #N/A .

Это работало на небольшой выборке, набранной вручную, но не работало в реальных таблицах. Я также попытался изменить тип данных с text на general , но ничего не изменилось.


Обновить:

Я обнаружил, что это было вызвано типом данных: хотя я изменил тип на text , похоже, это не так. Я должен преобразовать в text вручную, добавив ' перед почтовым индексом. Итак, новый вопрос: как преобразовать весь столбец в text ?

Комментарии:

1. Вероятно, вы хотите убедиться, что на ваш диапазон таблиц есть абсолютная ссылка, например $A$2:$F$18276 … Также в вашей верхней таблице есть 0 , 1 , 2 , … строки или столбец A? Если это из-за строк, разве ты не хочешь посмотреть вверх B2 , нет C2 ?

2. Привет @BruceWayne спасибо за предложение. Я преобразовал таблицу в абсолютный диапазон; и для позиции столбца я перепечатал формулу, выбрав каждый нужный мне столбец из таблицы, чтобы имена столбцов заполнялись автоматически, а результаты были одинаковыми

Ответ №1:

В примере, который вы показываете, он показывает почтовый индекс 886 (без ведущего нуля), тогда как в нижней таблице он показывает ведущие нули. Скорее всего, это означает, что у вас есть числа в одном месте и строки в другом, и сравнение не удается.

Если вы можете отредактировать нижнюю таблицу, попробуйте это:

  • Введите ноль в запасную ячейку
  • Выделите и скопируйте ячейку (CTRL-C).
  • Выберите столбец «почтовый индекс» в нижней таблице и вставьте специальный -> добавить. Это должно по возможности преобразовать строки в числа.

Если вы не можете отредактировать нижнюю таблицу, измените C2 с 886 на '0886 и посмотрите, попытается ли это сделать.

Комментарии:

1. Спасибо за ваш ответ Даниэль, я не смог получить свой первый метод работы — я не уверен, если я не то, что вы имели в виду; второй способ, я не смог добавить 0 в присутствии почтовый индекс как формат данных General , я изменил его на text (Также таблицы поиска почтовый индекс столбца), что позволяет 0 быть добавлены, но ничего не происходит

2. Формат не изменяет то, что находится в ячейках, только то, как они отображаются, поэтому он не должен здесь ни на что влиять. Что вы имеете в виду, когда говорите «ничего не происходит»? Вы не можете добавить ноль спереди? Или вы есть, и поиск все еще не удается?

3. Да, я думаю, что мог бы добавить 0 после преобразования типа данных text в, но поиск все равно не удался.

4. Я не знаю, что вы имеете в виду, когда говорите, что преобразовали тип данных в текст. Я подозреваю, что на самом деле вы изменили формат на текст, что является поверхностным изменением, которое на самом деле не изменяет базовые значения. Кроме того, здесь вы говорите, что поиск не работает, тогда как выше в правке вопроса вы говорите, что он работает сейчас. Какова ситуация?

Ответ №2:

Создайте новый столбец почтового индекса, используя:

 =TEXT(postcode_col , "0000")
 

Используйте это, как lookup_value в VLOOKUP формуле.

Кроме того, убедитесь, что в таблице запросов столбец почтового индекса находится в крайнем левом углу.