Функция Excel HLOOKUP с примерами формул

  • Поделись Этим
Michael Brown

Оглавление

Как вы, вероятно, знаете, в Microsoft Excel есть три функции для поиска значения - LOOKUP, VLOOKUP и HLOOKUP - и, похоже, они больше всего запутывают пользователей. В этом учебнике мы сосредоточимся на особенностях функции Excel HLOOKUP и обсудим несколько примеров формул, которые помогут вам использовать ее в Excel наиболее эффективно.

    Что такое HLOOKUP в Excel?

    Функция Excel HLOOKUP предназначена для горизонтальный поиск Точнее, он ищет определенное значение в первой строке таблицы и возвращает другое значение в том же столбце из указанной вами строки.

    Функция HLOOKUP доступна во всех версиях Microsoft Excel 2016, Excel 2013, Excel 2010, Excel 2007 и ниже.

    Синтаксис Excel HLOOKUP и его использование

    Функция HLOOKUP в Excel имеет следующие аргументы:

    HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
    • Поиск_значения (требуется) - значение для поиска. Это может быть ссылка на ячейку, числовое значение или текстовая строка.
    • Массив_таблиц (обязательно) - две или более строк данных, в которых производится поиск значения поиска. Это может быть обычный диапазон, именованный диапазон или таблица. Значения поиска всегда должны располагаться в диапазоне первый ряд из массив_таблиц .
    • Row_index_num (требуется) - номер строки в table_array, из которой должно быть возвращено значение. Например, чтобы вернуть совпадающее значение из 2-й строки, установите row_index_num равным 2, и так далее.
    • Range_lookup (необязательно) - логическое (булево) значение, которое указывает HLOOKUP на поиск с точным или приблизительным совпадением.

      Если TRUE или опущено, то приблизительно Это означает, что если точное совпадение не найдено, ваша формула Hlookup будет выполнять неточное совпадение и возвращать следующее наибольшее значение, которое меньше, чем lookup_value.

      Если FALSE, то только точное совпадение Если ни одно значение в указанной строке не совпадает с искомым значением, HLOOKUP выдает ошибку #N/A.

    Чтобы упростить понимание, можно перевести синтаксис HLOOKUP в Excel:

    HLOOKUP( поиск_значения , table_array , row_index_num , [range_lookup])

    на нормальный английский язык:

    HLOOKUP( поиск этого значения , в этой таблице, вернуть значение из этой строки, [вернуть приблизительное или точное совпадение])

    Чтобы увидеть, как это работает на практике, давайте рассмотрим простой пример Hlookup. Предположим, у вас есть таблица с базовой информацией о планетах нашей Солнечной системы (см. скриншот ниже). Вам нужна формула, которая возвращает диаметр планеты, название которой введено в ячейку B5.

    В нашей формуле Hlookup мы будем использовать следующие аргументы:

    • Поиск_значения это B5 - ячейка, содержащая название планеты, которую вы хотите найти.
    • Массив_таблиц это B2:I3 - таблица, в которой формула будет искать значение.
    • Row_index_num равно 2, потому что Diameter - это вторая строка в таблице.
    • Range_lookup является FALSE. Поскольку первая строка нашей таблицы не отсортирована от A до Z, мы можем искать только с точным совпадением, что отлично работает в данном примере.

    Теперь сложите аргументы вместе и получите следующую формулу:

    =VLOOKUP(40, A2:B15,2)

    3 вещи, которые вы должны знать о функции Excel HLOOKUP

    Всякий раз, когда вы выполняете горизонтальный поиск в Excel, помните следующие факты:

    1. Функция HLOOKUP может осуществлять поиск только в самый верхний ряд из массив_таблиц Если вам нужно найти что-то еще, воспользуйтесь формулой Index / Match.
    2. HLOOKUP в Excel - это без учета регистра Он не различает прописные и строчные буквы.
    3. Если range_lookup установлено в TRUE или опущено ( приблизительно совпадают), значения в первом ряду массив_таблиц должны быть отсортированы в порядок возрастания (A-Z) слева направо.

    В чем разница между VLOOKUP и HLOOKUP в Excel?

    Как вы уже знаете, обе функции VLOOKUP и HLOOKUP осуществляют поиск искомого значения. Разница заключается в том, как выполняется поиск. Как вы, вероятно, заметили, названия функций отличаются только первой буквой - "H" означает горизонтальный поиск, а "V" - вертикальный.

    Следовательно, вы используете функцию VLOOKUP для поиска. вертикальный списки, когда значения поиска расположены в столбце слева от данных, которые вы хотите найти.

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

    Следующее изображение демонстрирует разницу между формулами Vlookup и Hlookup в Excel:

    Как использовать HLOOKUP в Excel - примеры формул

    Теперь, когда функция HLOOKUP стала казаться вам более знакомой, давайте обсудим еще несколько примеров формул, чтобы закрепить полученные знания.

    Горизонтальный поиск с приблизительным и точным соответствием

    Как вы уже знаете, функция HLOOKUP в Excel может выполнять поиск с точным и не точным соответствием в зависимости от того, какое значение передается в параметр range_lookup аргумент:

    • TRUE или опущено - приблизительно матч
    • ЛОЖЬ - точно матч

    Следует помнить, что, хотя мы говорим "приблизительное соответствие", любая формула Hlookup в первую очередь ищет точное соответствие. Но установка последнего аргумента в FALSE позволяет формуле возвращать приблизительное соответствие (ближайшее значение, которое меньше значения поиска), если точное соответствие не найдено; TRUE или опущенное значение возвращает ошибку #N/A в этом случае.

    Чтобы лучше проиллюстрировать этот момент, рассмотрим следующие примеры HLOOKUP.

    HLOOKUP с приблизительным совпадением

    Предположим, у вас есть список планет в строке 2 (B2:I2) и их температуры в строке 1 (B1:I1). Вы хотите узнать, какая планета имеет определенную температуру, которая вводится в ячейку B4.

    Вы не можете рассчитывать на то, что ваши пользователи точно знают температуру поиска, поэтому имеет смысл вернуть значение ближайший матч если точное значение не найдено.

    Например, чтобы узнать планету, средняя температура которой составляет около -340 °F, используйте следующую формулу ( range_lookup установлено в TRUE или опущено, как в данном примере):

    =HLOOKUP(B4, B1:I2, 2)

    Помните, что для приблизительного соответствия требуется сортировка значений в верхней строке от наименьшего к наибольшему или от A к Z, иначе ваша формула Hlookup может вернуть неверный результат.

    Как вы можете видеть на скриншоте ниже, наша формула возвращает Уран одна из самых холодных планет Солнечной системы, где средняя температура составляет -346 градусов по Фаренгейту.

    HLOOKUP с точным совпадением

    Если вы точно знаете значение поиска, вы можете установить последний параметр HLOOKUP на FALSE:

    =HLOOKUP(B4, B1:I2, 2, FALSE)

    С одной стороны, приближенное соответствие Hlookup более удобно для пользователя, поскольку не требует сортировки данных в первой строке. С другой стороны, если точное соответствие не найдено, будет возвращена ошибка #N/A.

    Совет. Чтобы не пугать пользователей ошибками N/A, вы можете встроить вашу формулу Hlookup в IFERROR и вывести собственное сообщение, например:

    =IFERROR(HLOOKUP(B4, B1:I2, 2, FALSE), "Sorry, nothing has been found")

    Как выполнить HLOOKUP из другого рабочего листа или рабочей книги

    В целом, h-lookup из другого листа или другой рабочей книги означает не что иное, как предоставление внешних ссылок на вашу формулу HLOOKUP.

    Чтобы извлечь соответствующие данные из разные листы Вы указываете имя листа, за которым следует восклицательный знак. Например:

    =HLOOKUP(B$1, Диаметры!$B$1:$I$2,2,FALSE)

    Если имя рабочего листа содержит пространства или неалфавитные символы заключите имя в одинарные кавычки, например, так:

    =HLOOKUP(B$1, 'Диаметры планет'!$B$1:$I$2,2,FALSE)

    При ссылке на другая тетрадь Включите имя рабочей книги, заключенное в квадратные скобки:

    =HLOOKUP(B$1, [Book1.xlsx]Диаметры!$B$1:$I$2, 2, FALSE)

    Если вы извлекаете данные из закрытой рабочей книги, необходимо указать весь путь:

    =HLOOKUP(B$1, 'D:\Reports\[Book1.xlsx]Diameters'!$B$1:$I$2, 2, FALSE)

    Совет. Вместо того чтобы вводить имена рабочей книги и рабочего листа в формулу вручную, вы можете выбрать ячейки на другом листе, и Excel автоматически добавит внешнюю ссылку в вашу формулу.

    Excel HLOOKUP с частичным совпадением (символы подстановки)

    Как и в случае с VLOOKUP, функция HLOOKUP в Excel позволяет использовать следующие символы подстановки в параметре lookup_value аргумент:

    • Знак вопроса (?) для соответствия любому одиночному символу
    • Звездочка (*) для соответствия любой последовательности символов

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

    Например, у вас есть список имен клиентов в строке 1 и идентификаторов заказов в строке 2. Вы хотите найти идентификатор заказа для конкретного клиента, но не можете точно вспомнить имя клиента, хотя помните, что оно начинается с "ace".

    Предположим, что ваши данные находятся в ячейках B1:I2 ( table_array) а номера заказов указаны в строке 2 ( row_index_num ), формула выглядит следующим образом:

    =HLOOKUP("ace*", B1:I2, 2, FALSE)

    Чтобы сделать формулу более гибкой, вы можете ввести значение поиска в специальную ячейку, например, B4, и объединить эту ячейку с символом подстановки, как показано ниже:

    =HLOOKUP(B4& "*", B1:I2, 2, FALSE)

    Примечания.

    • Для правильной работы формулы HLOOKUP с подстановочным знаком необходимо, чтобы range_lookup аргумент должен быть установлен в FALSE.
    • Если массив_таблиц содержит более одного значения, соответствующего критериям подстановочного знака, возвращается первое найденное значение.

    Абсолютные и относительные ссылки на ячейки в формулах HLOOKUP

    Если вы пишете формулу для одной ячейки, вы можете не беспокоиться о правильном использовании относительных и абсолютных ссылок на ячейки - подойдет любая из них.

    Копирование формулы в несколько ячеек - это совсем другая история. По сути:

    • Вы должны всегда фиксировать массив_таблиц с помощью абсолютных ссылок на ячейки со знаком доллара ($), например, $B$1:$I$2.
    • Обычно поиск_значения ссылка является относительной или смешанной в зависимости от вашей бизнес-логики.

    Чтобы прояснить ситуацию, давайте подробнее рассмотрим формулу, которая извлекает данные из другого листа:

    =HLOOKUP(B$1, Диаметры!$B$1:$I$2,2,FALSE)

    В приведенной выше формуле мы используем абсолютный ссылки на ячейки ($B$1:$I$2) в массив_таблиц потому что она должна оставаться постоянной при копировании формулы в другие ячейки.

    Для поиск_значения (B$1), мы используем смешанный ссылка, относительный столбец и абсолютная строка, потому что наши значения поиска (имена планет) находятся в одной строке (строка 1), но в разных столбцах (от B до I), и ссылка на столбец должна меняться в зависимости от относительного положения ячейки, в которую копируется формула.

    Благодаря грамотному использованию ссылок на ячейки наша формула Hlookup отлично работает для нескольких ячеек:

    INDEX/MATCH - более мощная альтернатива Excel HLOOKUP

    Как вы уже знаете, функция HLOOKUP в Excel имеет ряд ограничений, наиболее существенными из которых являются невозможность поиска в любом месте, кроме самой верхней строки, и необходимость сортировки значений при поиске с приблизительным совпадением.

    К счастью, в Excel существует более мощная и универсальная альтернатива Vlookup и Hlookup - связка функций INDEX и MATCH, которая сводится к этой общей формуле:

    ИНДЕКС ( откуда возвращать значение , MATCH ( значение поиска , где искать , 0))

    Если предположить, что значение поиска находится в ячейке B7, вы ищете совпадение в строке 2 (B2:I2) и хотите вернуть значение из строки 1 (B1:I1), формула будет выглядеть следующим образом:

    =INDEX(B1:I1,MATCH(B7,B2:I2,0))

    На скриншоте ниже вы можете видеть 2 формулы Hlookup, которые ищут в первой и второй строках, и в обоих случаях INDEX MATCH работает одинаково хорошо.

    Подробное объяснение логики работы формулы и больше примеров смотрите в статье INDEX MATCH как лучшая альтернатива VLOOKUP.

    Как сделать h-lookup с учетом регистра в Excel

    Как уже упоминалось в начале этого руководства, функция Excel HLOOKUP не чувствительна к регистру. В ситуациях, когда регистр символов имеет значение, вы можете взять функцию EXACT, которая сравнивает ячейки точно, и поместить ее внутрь формулы INDEX MATCH, рассмотренной в предыдущем примере:

    ИНДЕКС ( строка для возврата значения из , MATCH(TRUE, EXACT( строка для поиска , значение поиска) , 0))

    Если предположить, что искомое значение находится в ячейке B4, диапазон поиска - B1:I1, а диапазон возврата - B2:I2, формула примет следующий вид:

    =INDEX(B2:I2, MATCH(TRUE, EXACT(B1:I1,B4),0))

    Важное замечание! Это формула массива, поэтому для ее завершения необходимо нажать Ctrl + Shift + Enter.

    Приведенный выше пример демонстрирует мой любимый, но не единственно возможный способ выполнения чувствительного к регистру Hlookup в Excel. Если вам интересно узнать другие методы, ознакомьтесь с этим руководством: 4 способа выполнения чувствительного к регистру Vlookup в Excel. Думаю, у вас не возникнет проблем с перестройкой формул Vlookup для горизонтального поиска.

    Топ-10 причин, по которым Excel HLOOKUP не работает

    Вы уже знаете, что Hlookup - это очень полезная и мощная функция поиска в Excel. Это также и сложная функция, и из-за ее многочисленных особенностей часто встречаются ошибки #N/A, #VALUE или #REF. Если ваша формула HLOOKUP не работает должным образом, скорее всего, это происходит по одной из следующих причин.

    1. HLOOKUP в Excel не может смотреть выше самого себя

    Даже если вы забудете все остальные подробности о горизонтальном поиске в Excel, запомните эту важную деталь - Hlookup может искать только в самый верхний ряд Если значения поиска находятся в какой-либо другой строке, возвращается ошибка N/A. Чтобы преодолеть это ограничение, используйте формулу INDEX MATCH.

    2. Приблизительное соответствие против точного соответствия

    При выполнении поиска в Excel, горизонтального (Hlookup) или вертикального (Vlookup), в большинстве случаев вы ищете что-то конкретное и поэтому требуете точного соответствия. При поиске с приблизительным соответствием ( range_lookup установлено в TRUE или опущено), не забывайте сортировать значения в первой строке в порядке возрастания.

    Для получения дополнительной информации и примеров формул см. раздел Excel Hlookup с приблизительным и точным совпадением.

    3. ссылка на массив таблицы изменяется при копировании формулы

    При использовании нескольких HLOOKUP для получения информации о ряде значений поиска необходимо заблокировать массив_таблиц ссылки, как показано в разделе Абсолютные и относительные ссылки на ячейки в формулах Hlookup.

    4. вставка или удаление нового ряда

    Чтобы понять, почему вставка новой строки может нарушить формулу Hlookup, вспомните, как Excel HLOOKUP получает информацию о значении поиска - на основе указанного вами номера индекса строки.

    Предположим, вы хотите получить данные о продажах на основе ID продукта. Эти данные находятся в строке 4, поэтому вы вводите 4 в строку row_index_num аргумент. Но после вставки новой строки она становится строкой 5... и ваш Hlookup перестает работать. Такая же проблема может возникнуть при удалении существующей строки из таблицы.

    Решением является либо блокировка таблицы, чтобы пользователи не могли вставлять новые строки, либо использование INDEX & MATCH вместо Hlookup. В формулах Index/Match вы указываете строки для поиска и возврата значений как ссылки на диапазон, а не номера индексов, и Excel достаточно умен, чтобы корректировать эти ссылки на лету. Таким образом, вы можете свободно удалять или вставлять столько столбцов и строк, сколько хотите, безбеспокоиться об обновлении каждой формулы в рабочем листе.

    5. Дубликаты в таблице

    Функция HLOOKUP в Excel может вернуть только одно значение - первое значение в таблице, которое соответствует значению поиска.

    Если в вашей таблице несколько одинаковых записей, выберите одно из следующих решений, которое лучше всего подходит для ваших нужд:

    • Удаление дубликатов с помощью средств Excel или нашего средства удаления дубликатов
    • Если в наборе данных необходимо сохранить дубликаты записей, создайте PivotTable, чтобы сгруппировать и отфильтровать данные так, как вам нужно.
    • Используйте формулу массива для извлечения всех дублирующихся значений в диапазоне поиска.

    6. дополнительные места

    Если ваша очевидно правильная формула Hlookup возвращает кучу ошибок #N/A, проверьте таблицу и значение поиска на наличие лишних пробелов. Вы можете быстро удалить ведущие, последующие и лишние промежуточные пробелы с помощью функции Excel TRIM или нашего инструмента Cell Cleaner.

    7. Числа, отформатированные как текст

    Текстовые строки, похожие на числа, - еще один камень преткновения для формул Excel. Подробное описание этой проблемы и возможные решения описаны в статье Почему формулы Excel могут перестать работать.

    8. значение поиска превышает 255 символов

    Все функции поиска в Excel работают только до тех пор, пока значение поиска не превышает 255 символов. Более длинное значение поиска приводит к ошибке #VALUE! Поскольку формула ИНДЕКС /МАТЧ свободна от этого ограничения, используйте ее для преодоления этого препятствия.

    9. Не указан полный путь к рабочей книге поиска

    Если вы выполняете h-lookup из другой рабочей книги, не забудьте указать полный путь к ней. Пару примеров формул можно найти здесь: Как выполнить Hlookup из другого рабочего листа или рабочей книги.

    10. Неправильные аргументы

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

    • Если row_index_num меньше 1, функция HLOOKUP возвращает ошибку #VALUE!
    • Если row_index_num больше, чем количество строк в table_array, возвращается ошибка #REF!
    • Если при поиске с приблизительным совпадением значение lookup_value меньше, чем наименьшее значение в первой строке table_array, возвращается ошибка #N/A.

    Ну вот и все, как использовать HLOOKUP в Excel. Надеюсь, эта информация будет вам полезна. Я благодарю вас за прочтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

    Скачать рабочую тетрадь для практических занятий

    Примеры формулы Excel HLOOKUP

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.