2014-01-09 1 views
4

Я создаю панель управления в Excel 2010, которая использует функцию VLOOKUP для вызова других значений листа.Сортировка таблицы, в которой используется другой лист Excel, вызывает различные результаты VLOOKUP

Уравнение Я использую это:

= ВПР (L $ 1, Sheet_B $ A: $ H, 7,2)

L$1 запрашивает уникальный идентификатор на Sheet_A, а затем находит этот идентификатор на Sheet_B, а затем находит соответствующие данные и вытаскивает его. Проблема заключается в следующем:

Если я ничего не сделаю до Sheet_B, я получу значение - допустим, 5. Это значение составляет . Неверно.

Если я сортирую Sheet_B от A-Z в алфавитном порядке (который не изменяет данные) Я получаю совершенно другое значение - скажем, 12 - который является правильным значения.

Проблема в том, что данные, которые функция функции VLOOKUP не изменила, только то, как она была отсортирована в Sheet_B.

Есть ли причина, почему это может случиться? И что еще более важно, как я могу исправить это, поэтому мне не нужно сортировать Sheet_B каждый раз, когда я вытаскиваю эту панель?

ответ

4

Если четвёртый параметр равен True (2 в вашем случае), VLOOKUP пытается найти приближенный матч, так что вам нужно значение в первом столбце table_array быть размещена в порядке возрастания.

Если вы изменили его на 0 (что эквивалентно False), VLOOKUP попытается найти точное совпадение, и поэтому его не нужно сортировать.

Таким образом, вы должны изменить ваш VLOOKUP на:

=VLOOKUP(L$1,Sheet_B!$A:$H,7,0) 

Вы можете прочитать больше in this Microsoft Office Support article..

+1

спасибо! Это устранило мою проблему. –