#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
формуле.
Кроме того, убедитесь, что в таблице запросов столбец почтового индекса находится в крайнем левом углу.