Увидел эту ветку, когда искал что-то еще, и я знаю, что она очень старая, но я хотел добавить свои 2 цента.
НИКОГДА НЕ ИСПОЛЬЗУЙТЕ VLOOKUP. Это одна из худших формул в Excel. Вместо этого используйте индексное совпадение. Он работает даже без сортировки данных, если только у вас нет -1 или 1 в конце формулы соответствия (более подробно описано ниже)
Вот ссылка с соответствующими формулами.
Формула Листа 2 будет такой: = IF (A2 = "", "", INDEX (Лист1! B: B, МАТЧ ($ A2, Лист1! $ A: $ A, 0)))
- IF (A2 = "", "", означает, что если A2 пусто, вернуть пустое значение
- INDEX (Лист1! B: B, говорит INDEX B: B, где B: B - данные, которые вы хотите вернуть. IE столбец имени.
- Match (A2, означает Match A2, который является идентификатором, для которого вы хотите вернуть Имя.
- Sheet1! A: A, говорит, что вы хотите сопоставить A2 со столбцом ID на предыдущем листе
- , 0)) указывает, что вы хотите точное значение. 0 означает возврат точного совпадения с A2, -1 означает возврат наименьшего значения, большего или равного A2, 1 означает возврат наибольшего значения, которое меньше или равно A2. Имейте в виду, -1 и 1 должны быть отсортированы.
Дополнительная информация о Индекс / Совпадение Формула
Другие забавные факты: $ означает абсолют в формуле. Так что, если вы укажете $ B $ 1, при заполнении формулы вниз или более сохраните то же значение. Если вы превысили $ B1, B останется неизменным по всей формуле, но если вы заполните, 1 увеличивается с количеством строк. Аналогично, если вы использовали B $ 1, заполнение справа увеличит B, но сохранит ссылку на строку 1.
Я также включил использование косвенного во втором разделе. Что косвенное делает, это позволяет вам использовать текст другой ячейки в формуле. Поскольку я создал именованный диапазон sheet1! A: A = ID, sheet1! B: B = Name и sheet1! C: C = Price, я могу использовать имя столбца, чтобы получить точно такую же формулу, но он использует заголовок столбца изменить критерии поиска.
Удачи! Надеюсь, это поможет.