Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
В приложении Excel предусмотрено большое разнообразие инструментов для обработки текстовых и числовых данных. Одним из наиболее востребованных является функция ПОИСК. Она позволяет определять в строке, ячейке с текстовой информацией позицию искомой буквенной или числовой комбинации и записывать ее с помощью чисел.
Примеры использования функции ПОИСК в Excel
Для нахождения позиции текстовой строки в другой аналогичной применяют ПОИСК и ПОИСКБ. Расчет ведется с первого символа анализируемой ячейки. Так, если задать функцию ПОИСК “л” для слова «апельсин» мы получим значение 4, так как именно такой по счету выступает заданная буква в текстовом выражении.
Функция ПОИСК работает не только для поиска позиции отдельных букв в тексте, но и для целой комбинации. Например, задав данную команду для слов «book», «notebook», мы получим значение 5, так как именно с этого по счету символа начинается искомое слово «book».
Используют функцию ПОИСК наряду с такими, как:
- НАЙТИ (осуществляет поиск с учетом регистра);
- ПСТР (возвращает текст);
- ЗАМЕНИТЬ (заменяет символы).
Важно помнить, что рассматриваемая команда ПОИСК не учитывает регистра. Если мы с помощью нее станем искать положение буквы «а» в слове «Александр», в ячейке появится выражение 1, так как это первый символ в анализируемой информации. При задании команды НАЙТИ «а» в том же отрезке текста, мы получим значение 6, так как именно 6 позицию занимает строчная «а» в слове «Александр».
Кроме того, функция ПОИСК работает не для всех языков. От команды ПОИСКБ она отличается тем, что на каждый символ отсчитывает по 1 байту, в то время как ПОИСКБ — по два.
Чтобы воспользоваться функцией, необходимо ввести следующую формулу:
=ПОИСК(нужный_текст;анализируемый_текст;[начальная_позиция]).
В этой формуле задаваемые значения определяются следующим образом.
- Искомый текст. Это числовая и буквенная комбинация, позицию которой требуется найти.
- Анализируемый текст. Это тот фрагмент текстовой информации, из которого требуется вычленить искомую букву или сочетание и вернуть позицию.
- Начальная позиция. Данный фрагмент необязателен для ввода. Но, если вы желаете найти, к примеру, букву «а» в строке со значением «А015487.Мужская одежда», то необходимо указать в конце формулы 8, чтобы анализ этого фрагмента проводился с восьмой позиции, то есть после артикула. Если этот аргумент не указан, то он по умолчанию считается равным 1. При указании начальной позиции положение искомого фрагмента все равно будет считаться с первого символа, даже если начальные 8 были пропущены в анализе. То есть в рассматриваемом примере букве «а» в строке «А015487.Мужская одежда» будет присвоено значение 14.
При работе с аргументом «искомый_текст» можно использовать следующие подстановочные знаки.
- Вопросительный знак (?). Он будет соответствовать любому знаку.
- Звездочка (*). Этот символ будет соответствовать любой комбинации знаков.
Если же требуется найти подобные символы в строке, то в аргументе «искомый_текст» перед ними нужно поставить тильду (~).
Если искомый текст не был найден приложением или начальная позиция установлена меньше 0, больше общего количества присутствующих символов, в ячейке отобразиться ошибка #ЗНАЧ.
Если «искомый_текст» не найден, возвращается значение ошибки #ЗНАЧ.
Пример использования функции ПОИСК и ПСТР
Пример 1. Есть набор текстовой информации с контактными данными клиентов и их именами. Информация записана в разных форматах. Необходимо найти, с какого символа начинается номер телефона.
Введем исходные данные в таблицу:
В ячейке, которая будет учитывать данные клиентов без телефона, введем следующую формулу:
=ПОИСК(“, тел.”;адрес_анализируемой_ячейки).
Нажмем Enter для отображения искомой информации:
Далее мы можем использовать любые другие функции для отображения представленной информации в удобном формате:
На рисунке видно, как с помощью формулы из двух функций ПСТР и ПОИСК мы вырезаем фрагмент текста из строк разной длины. Притом разделяем текстовый фрагмент в нужном месте так, чтобы отделить ее от номера телефона.
Пример формулы ПОИСК и ЗАМЕНИТЬ
Пример 2. Есть таблица с текстовой информацией, в которой слово «маржа» нужно заменить на «объем».
Откроем книгу Excel с обрабатываемыми данными. Пропишем формулу для поиска нужного слова «маржа»:
Теперь дополним формулу функцией ЗАМЕНИТЬ:
Чем отличается функция ПОИСК от функции НАЙТИ в Excel?
Функция ПОИСК очень схожа с функцией НАЙТИ по принципу действия. Более того у них фактически одинаковые аргументы. Только лишь названия аргументов отличаются, а по сути и типам значений – одинаковые:
Но опытный пользователь Excel знает, что отличие у этих двух функций очень существенные.
Отличие №1. Чувствительность к верхнему и нижнему регистру (большие и маленькие буквы). Функция НАЙТИ чувствительна к регистру символов. Например, есть список номенклатурных единиц с артикулом. Необходимо найти позицию маленькой буквы «о».
Теперь смотрите как ведут себя по-разному эти две функции при поиске большой буквы «О» в критериях поиска:
Отличие №2. В первом аргументе «Искомый_текст» для функции ПОИСК мы можем использовать символы подстановки для указания не точного, а приблизительного значения, которое должно содержаться в исходной текстовой строке. Вторая функция НАЙТИ не умеет использовать в работе символы подстановки масок текста: «*»; «?»; «~».
Для примера попробуем в этих же исходных строках столбца «наименования» найти приблизительный текст. Для этого укажем следующий вид критерия поиска используя символы подстановки: «н*ая».
Скачать примеры функций ПОИСК и НАЙТИ в Excel
Как видим во втором отличии функция НАЙТИ совершенно не умеет работать и распознавать спецсимволы для подстановки текста в критериях поиска при неточном совпадении в исходной строке.
Извлечение номеров телефонов из xls файла
prsserg Пользователь Сообщений: 9 |
За пару лет работы собралось несколько больших xls файлов. В каждом из них несколько листов. На листах среди текста в первом столбце есть номера телефонов записанные по одинаковому шаблону «ТЕКСТ (ххх)ххх-хх-хх ТЕКСТ». p.s. Образец одного листика прикрепил |
Пытливый Пользователь Сообщений: 4666 |
Вам только номера телефонов нужны? Без персоналий? Кому решение нужно — тот пример и рисует. |
prsserg Пользователь Сообщений: 9 |
Да, нужно только создать базу телефонов |
=ЕСЛИОШИБКА(ПСТР(A15;НАЙТИ(«(«;A15);99);P14) в P15 и протянуть вниз, если не нужно дублирование номера, то P14 заменить на «» Изменено: Ivan.kh — 22.07.2019 18:03:29 |
|
в ячейку А15: |
|
prsserg Пользователь Сообщений: 9 |
пишет в этой ячейке такой результат |
prsserg Пользователь Сообщений: 9 |
Настя_Nastya , в А15 не могу написать — там текст же который надо обрабатывать, написал тоже в Р15, протянул вниз результат такого типа Изменено: prsserg — 22.07.2019 19:11:51 |
Юрий М Модератор Сообщений: 60750 Контакты см. в профиле |
Если ячейки с номерами всегда в таком формате, то см. вариант. |
prsserg Пользователь Сообщений: 9 |
Спасибо, работает, но не на всех листах — некоторые чемто не нравятся, выдает ошибку. |
Юрий М Модератор Сообщений: 60750 Контакты см. в профиле |
Никакой ошибки нет: изначально данные на листах начинались со строки №15, а в последнем файле с первой строки — есть разница? Поменяйте в макросе номер строки, с которой цикл начинает перебор. |
prsserg Пользователь Сообщений: 9 |
Хоть убейте не могу понять обо что спотыкается Вот такой кусочек листа ему подсовываю, ругается Run-time error (9) Изменено: prsserg — 22.07.2019 20:05:22 |
Юрий М Модератор Сообщений: 60750 Контакты см. в профиле |
А чего тут понимать? — не во всех строках с номером имеется имеется Фамилия, Имя, Отчество. Посмотрите строку 71 на первом листе. Ну и ниже тоже есть — строка 274. Макрос отсчитывает три пробела и берёт оставшееся значение. Или приведите все данные к единому формату или нужно менять алгоритм. |
prsserg Пользователь Сообщений: 9 |
теперь понял. к единому формату не получится — нужно чтоб оно именно на маску ориентировалось, ну хотя бы на скобочки вокруг кода оператора (ххх)… |
prsserg Пользователь Сообщений: 9 |
Премного благодарен!! Все работает! Если объясните 2 слова по какому принципу теперь алгоритм определяет то еще и буду понимать что происходит |
Юрий М Модератор Сообщений: 60750 Контакты см. в профиле |
Сейчас оставляем всё, что после первой открывающей скобки и эту скобку добавляем в начало текста. А раньше забирали всё, что после третьего пробела. |
prsserg Пользователь Сообщений: 9 |
#17 22.07.2019 20:30:57 Еще раз спасибо. |
Содержание материала
- Что делает функция ПОИСК?
- Видео
- Поиск
- Замечание
- Пример использования функции ПОИСК и ПСТР
- Найти
- Дополнительные параметры поиска слов и фраз
- Поиск символа в ячейке
- Производим поиск по указанному интервалу ячеек
- Аргументы функции
- ) поиска номер четыре — это макрос VBA для поиска (перебора значений)
- Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()
Что делает функция ПОИСК?
Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.
Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем.
Есть также процедура Найти и Заменить в Excel — у нее есть свои преимущества, такие, как подстановочные операторы.
Видео
Поиск
Для начала разберемся с менее популярной функцией – поиск. Использование инструмента позволяет найти положение искомой информации в тексте, выраженное в виде числа. Помимо этого можно искать не только единичные символы, но и целые сочетания букв. Чтобы включить поиск, нужно в строке формул написать одноименную функцию, указав впереди знак равно. Синтаксис следующий:
- Первый блок используется для записи искомой информации.
- Вторая часть функции позволяет задать диапазон поиска по части текста.
- Третий аргумент является необязательным. Его использование оправдано, если известна точка начала поиска внутри ячейки.
Рассмотрим пример: необходимо найти фрукты, которые начинаются на букву А из списка.
- Составляете список на рабочем листе
- В соседнем столбце записываете =ПОИСК(«а»;$B$4:$B$11). Не забывайте ставить двойные кавычки при использовании текста в качестве аргумента.
- Используя маркер автозаполнения, применяете формулу ко всем остальным ячейкам. Диапазон поиска был зафиксирован значками доллара для более корректной работы.
Полученные результаты можно дальше использовать для приведения к более удобному виду.
Позиции с единицами показывают, какие из строк содержат фрукты, начинающиеся на букву а. Как видите, остальные цифры также указывают на местоположение искомой буквы в остальных позициях диапазона. Однако, одна ячейка содержит ошибку ЗНАЧ!. Эта проблема возникает в двух случаях, при использовании функции ПОИСК:
- Нулевая ячейка
- Блок не содержит искомой информации.
В нашем случае фрукт Персик не содержит ни одной а, поэтому программа выдала ошибку.
Замечание
-
Функции ПОИСК и ПОИСКБ не учитывают регистр. Если требуется учитывать регистр, используйте функции НАЙТИ и НАЙТИБ.
-
В аргументе искомый_текст можно использовать подстановочные знаки: вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку, звездочка — любой последовательности знаков. Если требуется найти вопросительный знак или звездочку, введите перед ним тильду (~).
-
Если значение find_text не найдено, #VALUE! возвращается значение ошибки.
-
Если аргумент начальная_позиция опущен, то он полагается равным 1.
-
Если start_num больше нуля или больше, чем длина аргумента within_text, #VALUE! возвращается значение ошибки.
-
Аргумент начальная_позиция можно использовать, чтобы пропустить определенное количество знаков. Допустим, что функцию ПОИСК нужно использовать для работы с текстовой строкой «МДС0093.МужскаяОдежда». Чтобы найти первое вхождение «М» в описательной части текстовой строки, задайте для аргумента начальная_позиция значение 8, чтобы поиск не выполнялся в той части текста, которая является серийным номером (в данном случае — «МДС0093»). Функция ПОИСК начинает поиск с восьмого символа, находит знак, указанный в аргументе искомый_текст, в следующей позиции, и возвращает число 9. Функция ПОИСК всегда возвращает номер знака, считая от начала просматриваемого текста, включая символы, которые пропускаются, если значение аргумента начальная_позиция больше 1.
Пример использования функции ПОИСК и ПСТР
Пример 1. Есть набор текстовой информации с контактными данными клиентов и их именами. Информация записана в разных форматах. Необходимо найти, с какого символа начинается номер телефона.
Введем исходные данные в таблицу:
В ячейке, которая будет учитывать данные клиентов без телефона, введем следующую формулу:
=ПОИСК(“, тел.”;адрес_анализируемой_ячейки).
Нажмем Enter для отображения искомой информации:
Далее мы можем использовать любые другие функции для отображения представленной информации в удобном формате:
На рисунке видно, как с помощью формулы из двух функций ПСТР и ПОИСК мы вырезаем фрагмент текста из строк разной длины. Притом разделяем текстовый фрагмент в нужном месте так, чтобы отделить ее от номера телефона.
Найти
Комбинация клавиш Ctrl+F позволяет быстро вызвать окно функции Найти. Также можно активировать инструмент через отдельную кнопку на Панели инструментов.
Расширенное диалоговое окно содержит поле для ввода искомой информации, параметры масштаба, например поиск по всем листам, а также варианты анализа информации по столбцу или строке.
Данная функция реализована и в виде формулы с одноименным названием, которая также позволяет осуществлять поиск по словам. Рассмотрим работу на примере списка фруктов. Вписываете формулу =НАЙТИ(«а»;$B$4:$B$11), применяете автозаполнение и получаете результат:
Дополнительные параметры поиска слов и фраз
Когда таблица достаточно большая и нужно выполнить поиск по определенным параметрам, их можно задать в специальных настройках поиска. Нажмите кнопку Параметры.
Здесь можно указать дополнительные параметры поиска.
Искать:
- на листе — только на текущем листе;
- в книге — искать во всем документе Excel, если он состоит из нескольких листов.
Просматривать:
- по строкам — искомая фраза будет искаться слева направо от одной строки к другой;
- по столбцам — искомая фраза будет искаться сверху вниз от одного столбца к другому.
Выбор варианта, как просматривать, актуален, если в таблице много данных и есть какая-то необходимость просматривать по строкам или столбцам. Пользователь увидит, как именно просматривается таблица, когда будет нажимать кнопку Найти далее для перехода к следующему найденному совпадению.
Область поиска — определяет, где именно нужно искать совпадения:
- в формулах;
- в значениях ячеек (уже вычисленные по формулам значения);
- в примечаниях, оставленных пользователями к ячейкам.
А также дополнительные параметры:
- Учитывать регистр — означает, что заглавные и маленькие буквы будут считаться как разные.
Например, если не учитывать регистр, то по запросу «excel» будет найдены все вариации этого слова, например, Excel, EXCEL, ExCeL и т.д.
Если поставить галочку учитывать регистр, то по запросу «excel» будет найдено только такое написание слова и не будет найдено слово «Excel».
- Ячейка целиком — галочку нужно ставить в том случае, если нужно найти те ячейки, в которых искомая фраза находится целиком и нет других символов. Например, есть таблица со множеством ячеек, содержащих различные числа. Поисковый запрос: «200». Если не ставить галочку ячейка целиком, то будут найдены все числа, содержащие 200, например: 2000, 1200, 11200 и т.д. Чтобы найти ячейки только с «200», нужно поставить галочку ячейка целиком. Тогда будут показаны только те, где точное совпадение с «200».
- Формат… — если задать формат, то будут найдены только те ячейки, в которых есть искомый набор символов и ячейки имеют заданный формат (границы ячейки, выравнивание в ячейке и т.д.). Например, можно найти все желтые ячейки, содержащие искомые символы.
Формат для поиска можно задать самому, а можно выбрать из ячейки-образца — Выбрать формат из ячейки…
Чтобы сбросить настройки формата для поиска нужно нажать Очистить формат поиска.
Это меню вызывается, если нажать на стрелочку в правой части кнопки Формат.
Поиск символа в ячейке
Наиболее простой пример использования функции — осуществление поиска определенного символа в ячейке.
Логика проста — если поиск позиции символа не возвращает ошибку, значит, символ в ячейке присутствует:
Производим поиск по указанному интервалу ячеек
Если таблица большая, и не удобно искать по всему листу, можно ограничить поисковое пространство конкретным диапазоном ячеек.
Чтобы выполнить поиск по указанному интервалу ячеек выполните следующие действия:
- Выделите необходимые ячейки для поиска;
- Введите комбинацию Ctrl+F;
- В открывшемся окне «Найти и заменить» выполните все действия из первого способа. Поиск будет выполнен в указанном диапазоне ячеек.
Аргументы функции
- find_text (искомый_текст) — текст или текстовая строка которую вы хотите найти;
- within_text (просматриваемый_текст) — текст, внутри которого вы осуществляете поиск;
- [start_num] ([начальная_позиция]) — числовое значение, обозначающее позицию, с которой вы хотите начать поиск. Если не указать этот аргумент, то функци начнет поиск с начала текста.
) поиска номер четыре — это макрос VBA для поиска (перебора значений)
В зависимости от назначения и условий использования макрос может иметь разные конфигурации, но основная часть цикла перебора VBA макроса приведена ниже.
Sub Poisk()
‘ ruexcel.ru макрос проверки значений (поиска)
Dim keyword As String
keyword = «Искомое слово» ‘присвоить переменной искомое слово
On Error Resume Next ‘при ошибке пропустить
For Each cell In Selection ‘для всх ячеек в выделении (выделенном диапазоне)
If cell.Value = «» Then GoTo Line1 ‘если ячейка пустая перейти на «Line1″
If InStr(StrConv(cell.Value, vbLowerCase), keyword) > 0 Then cell.Interior.Color = vbRed ‘если в ячейке содержится слово окрасить ее в красный цвет (поиск)
Line1:
Next cell
End Sub
Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()
Функция ПОИСК() может быть использована совместно с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР() .
Например, в ячейке А2 содержится фамилия и имя «Иванов Иван», то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1) извлечет фамилию, а =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию СЖПРОБЕЛЫ() .
Теги
What to Know
- The LOOKUP function in Excel is used to look up information in a row or column.
- There are two ways to use a LOOKUP formula, depending on your needs: as a vector and an array.
- The vector type searches only one row or column, while an array searches multiple rows and columns.
This article explains how to use the LOOKUP function in any version of Excel including Excel 2019 and Microsoft 365.
What is the LOOKUP Function?
The LOOKUP function in Excel is used to look up information in a row or column. It locates a value from the same position in the row or column as the starting value, so it’s really useful when dealing with structured tables where all the rows and columns contain similar data.
There are two ways to write a LOOKUP formula in Excel depending on your needs. One form is called vector and the other is array.
The LOOKUP function can be used in every version of Excel.
LOOKUP Function Syntax & Arguments
There are two ways to use the LOOKUP function:
Vector
The vector form searches through one row or one column only. That range is called the vector. The value that’s returned is whatever is in the same position as the other selected data set.
=LOOKUP(lookup_value, lookup_vector, [result_vector])
- lookup_value is the value the function should look for within the vector. It can be a number, text, logical value, name, or reference. This argument is required.
- lookup_vector is the range. It can be a single row or a single column. The values in the vector must be in ascending order (e.g., 1, 2, 3 or A, B, C). This argument is required.
- result_vector is an optional range. If used, it must be the exact same size as lookup_vector.
Here are some more rules to remember when you use the vector form of the LOOKUP function:
- If lookup_value is smaller than the smallest value in lookup_vector, Excel produces the error #N/A.
- If lookup_value can’t be found, the LOOKUP function matches the largest value in lookup_vector that’s less than or equal to lookup_value.
Array
The array form can search for a value in multiple rows and columns. It first locates the specified value in the first row or column of the selection and then returns the value of the same position in the last row or column.
=LOOKUP(lookup_value, array)
- lookup_value is the value the function should look for within the array. It can be a number, text, logical value, name, or reference. The values must be in ascending order (e.g., 1, 2, 3 or A, B, C). This argument is required.
- array is the range of cells that contain the value you’re comparing with lookup_value. This argument is required.
Also keep these rules in mind:
- If lookup_value can’t be found, the largest value in array that’s less than or equal to lookup_value is used instead.
- If lookup_value is smaller than the largest value in the first row or column, the error #N/A is returned.
- If array includes more columns than rows, the LOOKUP function searches for lookup_value in the first row.
- If array includes more rows than column, the LOOKUP function searches for lookup_value in the first column.
LOOKUP Function Examples
Following are several examples of how to use LOOKUP in your formulas:
Use Lookup Vector to Search Table
=LOOKUP(1003,A2:A5,C2:C5)
Here’s an example of how to use the LOOKUP function when we need to check the price in a table that’s organized by part number. Since we know that the part numbers are listed in A2:A5 and the prices are in C2:C5, we can search for part number 1003 using those parameters.
Use Lookup Array to Search Table
=LOOKUP(1003,A2:C5)
The other way to use the LOOKUP function on the same set of data as the example above, is with an array. Instead of choosing two single columns, we’re selecting the entire table. However, since we need the price in this example, we’re stopping the selection at column C since the function will grab whatever value is found in the same position in the last column.
Find Closest Number in Table
=LOOKUP(A2,D2:D6,F2:F6)
This LOOKUP formula is cross-referencing the score in column A with the grading system in column D. The LOOKUP function sees where the score falls on the grading system, and then it looks up the grade in F2:F6 to know what to write next to the score. Since some of those values aren’t found in the table to the right, LOOKUP uses the next lowest value.
This particular formula could also be written in array form like this:
=LOOKUP(A2,D2:F6)
The results are the same since column D is the start of the selection and the end, which holds the grade, is column F.
Locate Last Number in List
=LOOKUP(9.99999999999999E+307,A:A)
The LOOKUP formula finds the last number in column A. Since 9.99999999999999E+307 is the biggest number you can have in an Excel worksheet, the formula will show the last number in the list, even if there are blank cells included in the range.
Locate Last Text Value in List
=LOOKUP(REPT("z",255),A:A)
The example locates the last text value from column A. The REPT function is used here to repeat z to the maximum number that any text value can be, which is 255. Similar to the number example, this one simply identifies the last cell that contains text.
Use Table Data to Find Heading Values
=LOOKUP(2,1/(B3:G3 <> ""),B$2:G$2)
This final example of the Excel LOOKUP function involves some things not described in this article, but it’s worth a look anyway so that you can see just how useful this function can be. The general idea here is that we’re determining the last entry in each row and then looking up the date in row 2 to know the last time we paid those bills.
Other Functions Like LOOKUP
LOOKUP is a fairly basic lookup/reference function. Others exist that are good for more advanced uses.
VLOOKUP and HLOOKUP let you perform vertical or horizontal lookups and can specify whether to do an exact or approximate match. LOOKUP automatically returns the closest value if an exact match isn’t found.
XLOOKUP is a similar, more advanced lookup function.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe