Книга: Google Таблицы
Назад: Поиск данных и диапазоны
Дальше: Сочетание функций INDEX + MATCH, когда обычный VLOOKUP не работает

ФУНКЦИЯ MATCH (СРАВНЕНИЕ ДВУХ СПИСКОВ)

Функция ПОИСКПОЗ (MATCH) позволяет определить порядковый номер элемента (обычно текста, записанного в ячейке) в определенном списке.

Эта функция очень удобна для быстрого сравнения двух списков: очевидно, если функция не может найти порядковый номер какого-то элемента из первого списка во втором списке, то его там просто нет.

Таким образом, вы можете быстро понять, какие элементы одного списка отсутствуют во втором.

Синтаксис функции следующий:

MATCH­(искомое значение; список; точный поиск)

Искомое значение — то, что мы ищем (обычно ячейка с текстом), список — диапазон, в котором мы ищем. Последний аргумент должен равняться нулю, если вы хотите вести точный поиск (обычно нужно именно это).

Пример:

В примере ошибка #N/A возникает только в тех случаях, когда соответствующего элемента нет во втором списке.

КЕЙС С ПОИСКПОЗ (MATCH) И ДВССЫЛ (INDIRECT) — ПРОСТАЯ АЛЬТЕРНАТИВА ВПР

Представим ситуацию: у нас есть таблица с адресами; в ней, используя адрес, нужно найти соответствующий ему индекс.

Если бы сначала шел столбец «Адрес», а за ним столбец «Индекс», то мы просто бы использовали формулу ВПР. Да, можно просто скопировать столбец А и поставить его после столбца С, а потом все же воспользоваться ВПР, но я покажу вам способ удобнее.

Для начала определим номер строки, в которой находится наш адрес, «ул. Свободы д. 176». Воспользуемся формулой ПОИСКПОЗ (MATCH). Формула будет выглядеть вот так (запрос, диапазон для поиска, интервальный просмотр отключен):

Формула возвращает 8. Значит, «ул. Свободы д. 176» — 8-й по счету элемент диапазона С1:C12 (сверху вниз). А так как диапазон начинается с первой строки таблицы, то 8 — еще и номер строки, на которой расположена эта улица:

Нам нужно вернуть индекс этой улицы, и мы знаем, что он расположен в столбце А:

А номер строки — 8. Просто создаем формулу ДВССЫЛ (INDIRECT) (напомню: с помощью нее текстовое значение превращается в ссылку на ячейку, которая немедленно вычислится):

Чтобы получился адрес А8, берем "A" (текст обязательно должен быть в кавычках), & для объединения и формулу ПОИСКПОЗ, которую мы разбирали выше. И все это вкладываем в ДВССЫЛ.

Что делать, если таблица будет располагаться в диапазоне A100:C111? В таком случае необязательно использовать в ПОИСКПОЗ диапазон поиска с первой строки листа — просто вычислите положение элемента в С100:C111 и добавьте к нему 99. Результатом будет номер строки, в которой расположен элемент. Всю эту конструкцию вы также сможете поместить в ДВССЫЛ.

Назад: Поиск данных и диапазоны
Дальше: Сочетание функций INDEX + MATCH, когда обычный VLOOKUP не работает