ПРОСМОТР (LOOKUP), да не X
Несколько слов о старой функции LOOKUP / ПРОСМОТР. Все сказанное актуально и для Google Таблиц, и для Excel (и для отечественного Р7, где есть и старая ПРОСМОТР, и новая ПРОСМОТРX). Скриншоты сделаны в Excel.
Функция внешне похожа на новую XLOOKUP / ПРОСМОТРX. Но она как раз была давно — в Excel даже есть примечание, что функция LOOKUP / ПРОСМОТР остается для совместимости. И у нее есть минусы (она требует постоянной сортировки данных, не особо подходит для поиска текста), хотя она и используется иногда в составе формул массива - эта функция умеет работать с массивами без Ctrl+Shift+Enter даже в старых версиях (пример будет ниже) - как СУММПРОИЗВ / SUMPRODUCT.
ПРОСМОТР решает задачу по интервальному поиску, как ВПР / VLOOKUP (по умолчанию, когда четвертый аргумент пропущен) - когда нужно определить, в какой интервал попадает число:
=ПРОСМОТР(что ищем; где ищем; откуда возвращаем результат)
В отличие от ВПР, в случае с ПРОСМОТРом результат может быть в другой строке:
ПРОСМОТР может работать с горизонтальными массивами (ВПР, например, не умеет, это делает схожая функция ГПР / HLOOKUP):
У ПРОСМОТРа есть еще одна форма, когда аргументов два, а не три. В таком случае поиск ведется в первом столбце/первой строке массива (второго аргумента), а значение возвращается из последнего столбца (строки) массива:
=ПРОСМОТР(что ищем; массив)
Для поиска текста (то, что делает ПРОСМОТРХ / XLOOKUP по умолчанию и ВПР с последним аргументом, равным нулю или FALSE/ЛОЖЬ) ПРОСМОТР не очень хорош, мягко говоря. Он будет работать, опять-таки, только при сортировке данных (ключевой столбец - тот, в котором мы ищем - должен быть отсортирован по возрастанию). То есть мы всегда должны поддерживать сортировку (по алфавиту в случае с текстом)!
Но это еще полбеды. Если у вас будут отсортированные данные, то все будет работать. Но при несовпадении (достаточно даже лишнего пробела) в ключе для поиска ПРОСМОТР не будет сигнализировать ошибкой #Н/Д / #N/A), КАК ПОИСКПОЗ / MATCH, ПОИСКПОЗX / MATCHX, ПРОСМОТРХ / XLOOKUP, ВПР / VLOOKUP и ГПР / HLOOKUP. Она принесет неверные данные!
Итого. Не лучшая это функция для поиска текста. Используйте ВПР / VLOOKUP или ИНДЕКС+ПОИСКПОЗ / INDEX+MATCH везде (эти варианты требуют сортировки только при поиске ближайших чисел), в Excel 2021 и Google Таблицах можно пользоваться новой функцией ПРОСМОТРX / XLOOKUP (работает без сортировки даже с числами).
Но, как я писал выше, бывают прикольные примеры использования ПРОСМОТРа. Вот парочка.
Поиск последнего значения в столбце
Эту задачу решает вот такая загадочная формула:
=ПРОСМОТР(2;1/(столбец<>""); столбец)
столбец <> "" — это мы проверяем, равно ли каждое значение в столбце пустоте. На выходе получаем массив логических значений
Дальше мы делим единицу на каждое значение в этом массиве. Получаем единицу и ошибки (из-за деления на ноль):
И в этом массиве (выше он выведен для демонстрации, а вообще он существует виртуально внутри функции, конечно) мы ищем двойку (или другое число, которое в нем априори не появится), а возвращаем значение из самого столбца. Двойку мы не найдем и ПРОСМОТР в итоге найдет последнее числовое значение и вернет соответствующее ему значение из столбца A.
Нечеткий текстовый поиск
Пример от Николая Павлова - из его замечательной книги "Мастер формул" (там еще есть мощные примеры применения ПРОСМОТРа).
Допустим, у вас кривоватый список названий, и нужно его исправить. Компания "Дичайший Лемур" может быть записана и как "Лемур", и как "Дикий Лемур", и как-то еще. Если находим слово "Лемур" - мы должны возвращать соответствующее этому слову полное название компании. Слова для поиска и полные названия у нас в отдельной табличке.
Будем искать ключевые слова функцией ПОИСК / SEARCH в названии компании:
ПОИСК(список слов для поиска;название)
Допустим, у нас список слов для поиска такой:
А название очередной компании — "ИП Барсик".
Такая конструкция выдаст массив вида:
{#ЗНАЧ!:4:#ЗНАЧ!}
Потому что "Лемура" и "Котозавра" не найдет, а "Барсик" в названии на 4 позиции.
Далее мы ПОИСК засунем в ПРОСМОТР и будем искать в этом массиве число - допустим, 32768 (потому что это максимально возможное число знаков в ячейке, больше не понадобится). Ближайшее к нему - это 4 в нашем случае, так что ПРОСМОТР выдаст второе по порядку значение из массива результатов - "ИП Барсик".
=ПРОСМОТР(32768; ПОИСК(слова для поиска;текст, в котором ищем); список для подстановки)