2016-09-28 1 views
0

У меня есть простая деловая проблема. Когда я пытаюсь использовать функцию vlookup для поиска значений на основе идентификатора пользователя.Excel Vlookup не работает при использовании индекса ячейки

=VLOOKUP(12345,'[Data copy.csv]users'!$A$1:$B$6605,2,FALSE) 

идентификатор = 12345 он возвращает соответствующее значение. Однако, когда я использую A2 вместо реального userid, я получил значение #NA. Я дважды проверял формат данных, они одинаковы.

+0

Похоже, что A2 - это текст, который выглядит как число, а не число? Если вы делаете '= VLOOKUP (- A2, '[Data copy.csv] пользователей'! $ A $ 1: $ B $ 6605,2, FALSE)' вы получаете тот же результат? – tigeravatar

+0

Что такое исходное значение содержимого ячейки A2? Что вы видите, когда вы нажимаете на ячейку A2? И вы уверены, что он не отформатирован как текст? Когда выбрано A2, нажмите Alt-AEF, что произойдет затем – MacroMarc

+0

Попробуйте это '= VLOOKUP (VALUE (A2), '[Data copy.csv] users'! $ A $ 1: $ B $ 6605,2, FALSE)' – EEM

ответ

0

Обычно Excel обрабатывает номера и цифры, хранящиеся как текст по-разному, даже если значение одинаков. Смутно, просто изменить формат ячейки от «Текст» до «Генерала» недостаточно, чтобы разрешить это, и число будет по-прежнему рассматриваться как текст.

Вы можете устранить эту проблему, выполнив что-то вроде =A2=<Match>, где находится ячейка в Data Copy.csv, содержащая userID 12345. Я подозреваю, что формула вернет «ЛОЖЬ», указывая, что эти два значения не совпадают.

Вы можете решить это несколькими способами, что будет зависеть от того, какое значение является проблемой. Учитывая, что совпадение находится в CSV-файле, где вы не можете сохранять типы данных так же легко, лучшим вариантом будет преобразование данных Excel в тот же тип данных, что и CSV.