Начинаю серию #ликбез - #база знаний с короткими статьями по различным функциям Excel и Google Sheets. Начну с функции ВПР (VLOOKUP).
Функция ВПР позволяет произвести вертикальный поиск по таблице и извлечь значение определенного столбца. Поиск производится строго по первому столбцу указанной таблицы, и возвращается первое подходящее значение.
Рассмотрим аргументы функции
ВПР(<что ищем>; <таблица>; <номер столбца>; <как ищем>)
- <что ищем> - значение, которое мы ищем в левом столбце указанной таблицы. В зависимости от типа поиска, значение должно либо точно совпадать со значением, указанным в таблице, либо быть похожим на него. Также допускается поиск с помощью мета-символов ? и *: вопросительный знак будет соответствовать любому символу, а звездочка - любой последовательности любых символов, в том числе и пустой последовательности. Например, по запросу "абв?" может быть найдена как строка "абвг" так и "абв.". А по строке "абв*" можно найти как два указанных выше примера, так и значения "абв" и "абвгдеёжз...".
Важно учитывать, что значения должны быть одного типа. Если в таблице указаны числовые значения 1, 2, 3, 4 и так далее, а мы ищем "2" (в кавычках) - текстовое значение, то в результате получем ошибку - значение не найдено.
- <таблица> - ссылка на диапазон данных. Хочу еще раз подчеркнуть, что В (V) в названии функции ВПР (VLOOKUP) означает вертикальный поиск. Если нам нужен горизонтальный поиск, можно воспользоваться аналогичной функцией ГПР (HLOOKUP).
- <номер столбца> - это номер столбца <таблицы>, из которого мы хотим извлечь данные. Номера начинают считаться с единицы с первого столбца (столбца, по которому ведем поиск). Следует учитывать, что можно извлечь только значения, находящиеся справа от столбца, по которому ведем поиск. В примере выше мы не сможем извлечь значение из колонки A, т.к. она находится слева от первой колонки <таблицы>. Мы также не сможем извлечь данные из 4-й колонки (E), так как она не входит в заданный нами диапазон.
- <как ищем> - булево значение. Если указать 0 или FALSE - поиск будет производиться до первого точного совпадения. Если значение не найдено, будет возвращена ошибка N/A.
Если указать TRUE или 1, то искаться будет строка с наиболее близким (снизу) значением, т.е. если искать 3 в таблице, где указаны 1;2;4, то будет найдена вторая строка (как наиболее близкая). То же самое и со строками. Но есть один момент: значения списка должны быть отсортированы в алфавитном порядке (для строк) или по увеличению (для чисел). При приблизительном поиске функция всегда не выдает ошибку, что значение не найдено и считает его найденым в последней строке.
Возможные ошибки:
- N/A если значение не найдено и используется точный поиск.
- REF если пытаемся извлечь данные из столбца, который не входит в <таблицу> или когда вместо указания диапазона данных в качестве таблицы указан массив.
- NAME когда в качестве одного из аргументов указано несуществующее имя.