Course
VLOOKUP() — это функция Google Таблиц, которая ищет значение в столбце и возвращает соответствующее значение из другого столбца в той же строке. Вы задаёте, что найти, указываете, где искать, и получаете нужные данные.
Функция особенно полезна при работе с большими наборами данных, когда вручную искать и сопоставлять значения слишком долго. Но всякий раз, когда нужно связать две таблицы по общему значению, VLOOKUP() — это первый кандидат.
В этом руководстве вы узнаете её синтаксис, пошаговое применение, причины некорректных результатов и когда лучше выбрать альтернативы вроде INDEX MATCH() или XLOOKUP().
Каков синтаксис VLOOKUP() в Google Таблицах?
Синтаксис VLOOKUP() такой:
=VLOOKUP(search_key, range, index, [is_sorted])
Где:
-
search_key— значение, которое вы хотите найти -
range— таблица (диапазон), в которой выполняется поиск -
index— номер столбца, из которого вернуть результат -
[is_sorted]— указывает, нужен ли точный результат или допустимо приблизительное совпадение
Как выполнить VLOOKUP() в Google Таблицах?
Чтобы выполнить VLOOKUP() в Google Таблицах:
-
Определите значение для поиска: Это может быть ID, имя или любое уникальное значение.
-
Определите диапазон таблицы: Убедитесь, что столбец с искомым значением — первый в этом диапазоне.
-
Выберите, какие данные нужно вернуть: Это столбец с результатом (например, имя, цена, статус).
-
Введите формулу
VLOOKUP()в новую ячейку: Сошлитесь на искомое значение, диапазон таблицы и столбец для возврата. -
Используйте точное или приблизительное совпадение (
FALSEилиTRUE): В большинстве случаев нужен точный поиск, чтобы избежать неверных результатов (подробнее ниже).
Если у вас есть такая таблица:
|
A (ID) |
B (Name) |
|
101 |
George |
|
102 |
Sarah |
|
103 |
Lily |
И вы хотите найти имя для ID 102, используйте:
=VLOOKUP(102, A2:B4, 2, FALSE)
Это говорит Google Таблицам:
- Искать 102 в столбце A
- Вернуть значение из столбца B
- Использовать точное совпадение
В результате вы получите Sarah.

Пример VLOOKUP(). Изображение автора.
Как работает VLOOKUP() (пошаговая логика)
VLOOKUP() использует простой вертикальный поиск. Она всегда начинает с первого столбца выбранного диапазона, затем просматривает его вниз, строка за строкой, пока не найдёт первое совпадение.
Найдя совпадение, функция остаётся в той же строке, переходит к указанному столбцу и возвращает значение.
Пошагово это выглядит так:
- Начинает с первого столбца диапазона
- Ищет вниз по столбцу
- Находит первое совпадающее значение
- Переходит по той же строке вправо
- Возвращает данные из указанного столбца
Допустим, вы хотите найти должность для ID сотрудника E1007. Для этого используйте формулу:
=VLOOKUP("E1007", A:G, 5, FALSE)

VLOOKUP() в Google Таблицах. Изображение автора.
Эта формула:
-
Находит
E1007в столбце A -
Переходит по той же строке
-
Возвращает столбец 5 (Job Title)
-
Даёт результат Software Engineer.
Важно: VLOOKUP() ищет только слева направо. Если искомый столбец не является первым в диапазоне, функция не сработает. В таком случае нужно перестроить данные или использовать другую функцию. Об этом ниже.
Точное и приблизительное совпадение в VLOOKUP()
Точное совпадение возвращает результат только при идентичном значении. Приблизительное совпадение возвращает ближайшее доступное значение, если точное не найдено, обычно на основе отсортированных данных.
В VLOOKUP() это задаётся последним аргументом. Последний аргумент — FALSE или TRUE — чаще всего вводит в заблуждение: TRUE кажется безобидным, но это не так.
- FALSE означает только точное совпадение. Если значения нет, вы получите #N/A — и это на самом деле полезно.
- TRUE возвращает ближайшее меньшее значение при отсутствии точного совпадения — звучит как запасной вариант, но по факту это «тихий» неправильный ответ. Кроме того, предполагается, что данные отсортированы. Если нет — результат не определён.
Я бы использовал TRUE только для «ступенчатых» поисков — налоговые шкалы, диапазоны оценок — где приблизительное совпадение задумано по смыслу. Во всех остальных случаях — FALSE.
Точное совпадение (FALSE)
Это говорит VLOOKUP(): «Возвращай результат только если найдёшь именно это значение». Например, формула =VLOOKUP("E1005", A:G, 7, FALSE) ищет E1005, возвращает зарплату из 7-го столбца и выдаёт 90000.
Если значения нет, вы получите ошибку #N/A.

Точное совпадение в VLOOKUP(). Изображение автора.
Приблизительное совпадение (TRUE)
Это говорит VLOOKUP(): «Если точного совпадения нет, верни ближайшее меньшее значение». Звучит полезно — иногда так и есть, но иногда это незаметно даёт неверный ответ.
Например, E1011 нет в наборе данных. Последний ID — E1010. Поэтому при формуле =VLOOKUP("E1011", A:G, 7, TRUE) VLOOKUP() не вернёт ошибку. Вместо этого она вернёт значение для ближайшего меньшего совпадения — E1010. В ячейке отобразится 88000.
То есть, хотя E1011 отсутствует, VLOOKUP() всё равно возвращает результат, потому что TRUE допускает приблизительное совпадение.

Приблизительное совпадение в VLOOKUP(). Изображение автора.
Теперь представьте, что данные перемешаны, и я ввожу существующий ID сотрудника в формулу, вот так: =VLOOKUP("E1011", A:G, 7, TRUE).
На этот раз формула вернёт неверную зарплату, потому что искомый столбец не отсортирован, а приблизительное совпадение зависит от сортировки.

Приблизительное совпадение VLOOKUP() даёт ошибочный результат из‑за неотсортированного списка. Изображение автора.
Типичные ошибки в VLOOKUP() и как их исправить
Рассмотрим наиболее частые проблемы с VLOOKUP() и способы их решения:
Ошибка #N/A
Ошибка #N/A означает, что VLOOKUP() не нашла запрошенное значение.
Предположим, у вас формула: =VLOOKUP("E9999", A:G, 7, FALSE)
Если E9999 отсутствует в первом столбце диапазона, формула вернёт #N/A.
Это также может произойти, если значение набрано по-другому в таблице — с лишними пробелами или из‑за форматирования текста.
Как исправить:
-
Убедитесь, что значение есть в первом столбце диапазона
-
По возможности используйте ссылку на ячейку вместо ручного ввода значения
-
Добавляйте кавычки, если хардкодите текстовое значение
-
Удаляйте начальные и конечные пробелы из данных
-
Используйте
FALSE, когда требуется точное совпадение
Неверный индекс столбца
Индекс столбца указывает VLOOKUP(), из какого столбца возвращать результат внутри выбранного диапазона. Если номер столбца слишком большой, формула вернёт #REF!.
Формула =VLOOKUP("E1005", A:G, 8, FALSE) вернёт #REF!, потому что в диапазоне A:G всего 7 столбцов.

Неверный индекс столбца вызывает ошибку. Изображение автора.
Вы также можете получить неверный результат, если номер столбца допустим, но указывает не на тот столбец.
Например:
=VLOOKUP("E1005", A:G, 5, FALSE)
Это вернёт должность, а не зарплату.
Как исправить:
- Считайте столбцы, начиная с первого столбца выбранного диапазона
- Проверьте, что номер столбца соответствует требуемому значению
- Убедитесь, что столбец существует внутри диапазона
Проблемы с приблизительным совпадением
Если вы используете TRUE, VLOOKUP() ищет ближайшее меньшее совпадение вместо точного.
Если вы введёте =VLOOKUP("E1011", A:G, 7, TRUE) и в наборе нет E1011, вместо ошибки формула вернёт 88000, принадлежащую E1010.
Результат может выглядеть правдоподобно, но это не точное совпадение.
Как исправить:
-
Используйте
FALSE, когда нужен точный результат -
Применяйте
TRUEтолько при отсортированных данных и когда допустим приблизительный результат
Проблемы с диапазоном
VLOOKUP() также может не работать, если выбранный диапазон не соответствует задаче формулы.
Например, =VLOOKUP("E1005", A:C, 7, FALSE) вернёт #REF!, потому что в диапазоне A:C всего 3 столбца, а формула запрашивает 7-й.
Другая типичная проблема — когда искомый столбец не первый в диапазоне.
Посмотрите формулу:
=VLOOKUP("E1005", B:G, 7, FALSE)
Здесь первый столбец диапазона — B, а не A. Поскольку VLOOKUP() ищет только в первом столбце выбранного диапазона, она не найдёт E1005.
Как исправить:
- Убедитесь, что искомый столбец — первый в диапазоне
- Проверьте, что диапазон включает столбец для возврата значения
- Перепроверьте выбранный диапазон перед окончательным вводом формулы

Неверный диапазон вызывает ошибку. Изображение автора.
VLOOKUP() между листами в Google Таблицах
Вы можете использовать VLOOKUP() для подтягивания данных с другого листа, добавив имя листа перед диапазоном.
Формат выглядит так:
=VLOOKUP(search_key, SheetName!range, index, FALSE)
Часть SheetName! указывает формуле, на каком листе искать.
Предположим, ваши данные на листе Employees, а вы работаете на другом листе. Чтобы найти отдел для ID сотрудника E1005, используйте:
=VLOOKUP("E1005", Employees!A:G, 4, FALSE)
Здесь:
-
Employees!A:Gищет на листе Employees -
4возвращает столбец Department
Формула вернёт отдел для E1005.

Ссылка на другой лист в VLOOKUP(). Изображение автора.
Когда в имени листа есть пробелы
Если имя листа содержит пробелы, возьмите его в одинарные кавычки, вот так:
=VLOOKUP("E1005", 'Employee Data'!A:G, 7, FALSE)
Без кавычек формула не сработает.
VLOOKUP() против INDEX MATCH в Google Таблицах
VLOOKUP() ищет в фиксированном столбце и возвращает данные по позиции, тогда как INDEX MATCH находит значения напрямую по ссылкам на строки и столбцы, поэтому работает, даже если структура таблицы меняется.
VLOOKUP: быстро написать, легко сломать
Вы уже видели: =VLOOKUP("E1005", A:G, 7, FALSE) находит зарплату для E1005.
Хорошо работает, когда:
- Искомый столбец слева
- Структура таблицы не меняется
Проблемы начинаются при изменении структуры.
Например:
- Вы вставляете новый столбец
- Столбец с зарплатой смещается с 7 на 8
- Формула по-прежнему использует 7
Теперь она возвращает неверное значение без явной ошибки.
INDEX MATCH: длиннее, но надёжнее
Та же выборка с INDEX MATCH выглядит так:
=INDEX(G:G, MATCH("E1005", A:A, 0))
Здесь:
-
MATCH()находит позициюE1005в столбце A -
INDEX()возвращает значение из столбца G на этой позиции
Метод не зависит от номеров столбцов, поэтому продолжит работать, даже если таблица изменится.

INDEX MATCH лучше справляется с данными, чем VLOOKUP(). Изображение автора.
Где это действительно помогает
Используйте INDEX MATCH, когда данные не упорядочены слева направо. Допустим, столбец A содержит ID сотрудника, а столбец C содержит фамилию. Если вы хотите искать по фамилии и возвращать ID сотрудника, это будет поиск справа налево.
VLOOKUP() не сможет это сделать без изменения таблицы, а INDEX MATCH справляется напрямую:
=INDEX(A:A, MATCH("Wilson", C:C, 0))
Не нужно перестраивать данные.
VLOOKUP() против XLOOKUP в Google Таблицах
VLOOKUP() работает в фиксированной структуре и имеет ограничения, тогда как XLOOKUP() позволяет искать в любом направлении. Эту функцию добавили в Google Таблицы в 2022 году, и теперь во многих случаях она предпочтительнее.
Допустим, вы хотите найти ID сотрудника по фамилии Wilson. Это поиск справа налево. VLOOKUP() не справится без перестройки таблицы, а XLOOKUP() — да:
=XLOOKUP("Wilson", C:C, A:A)
Эта формула:
- Ищет фамилию (столбец C)
- Возвращает ID сотрудника (столбец A)

XLOOKUP() в Google Таблицах. Изображение автора.
XLOOKUP() лучше, потому что:
- Работает в любом направлении (влево или вправо)
- Не использует номера столбцов
- По умолчанию возвращает точные совпадения
- Позволяет задать вывод при отсутствии совпадений
Итоги
Если дать один совет: настраивайте VLOOKUP() в реальной таблице, за данные которой вы отвечаете, а не в тренировочной. Ошибки ощущаются иначе, когда данные важны. Вы запомните, зачем нужен FALSE, как только TRUE тихо подставит кому‑то неверную зарплату.
Когда освоитесь, попробуйте разные типы совпадений, меняйте диапазоны и отмечайте, когда результаты перестают иметь смысл. Обычно это сигнал, что гибкие варианты вроде INDEX MATCH() или XLOOKUP() подходят лучше.
FAQs
Можно ли использовать `VLOOKUP()` с подстановочными знаками?
Да. Вы можете использовать * (любое количество символов) и ? (один символ) в ключе поиска при точном совпадении.
Например, =VLOOKUP("E10*", A:G, 2, FALSE)
Может ли `VLOOKUP()` выполнять регистрозависимый поиск в Google Таблицах?
Нет. VLOOKUP() не чувствительна к регистру. Она воспринимает «apple» и «Apple» как одно и то же значение. Для регистрозависимого поиска используйте функции FILTER() или EXACT().
Почему `VLOOKUP()` иногда возвращает пустые результаты?
Так бывает, когда найденная ячейка пуста: это означает, что формула сработала корректно, но выводить нечего.
Может ли `VLOOKUP()` ссылаться на именованные диапазоны?
Да. Вместо A:G вы можете присвоить диапазону имя (например, EmployeeData) и использовать его в формуле.
Вот пример, как это сделать:
=VLOOKUP("E1005", EmployeeData, 7, FALSE)