Поиск значений в списке данных
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 и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Skip to content
В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР.
В нескольких недавних статьях мы приложили немало усилий, чтобы объяснить основы функции ВПР новичкам и предоставить более сложные примеры формул ВПР опытным пользователям. А теперь я постараюсь если не отговорить вас от использования ВПР, то хотя бы показать вам альтернативный способ поиска нужных значений в Excel.
- Краткий обзор функций ИНДЕКС и ПОИСКПОЗ
- Как использовать формулу ИНДЕКС ПОИСКПОЗ
- ИНДЕКС+ПОИСКПОЗ вместо ВПР?
- Поиск справа налево
- Двусторонний поиск в строках и столбцах
- ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
- Как найти среднее, максимальное и минимальное значение
- Что делать с ошибками поиска?
Для чего это нужно? Потому что функция ВПР имеет множество ограничений, которые могут помешать вам получить желаемый результат во многих ситуациях. С другой стороны, комбинация ПОИСКПОЗ ИНДЕКС более гибкая и имеет много замечательных возможностей, которые во многих отношениях превосходят ВПР.
Функции Excel ИНДЕКС и ПОИСКПОЗ — основы
Поскольку целью этого руководства является демонстрация альтернативного способа выполнения поиска в Excel с использованием комбинации функций ИНДЕКС и ПОИСКПОЗ, мы не будем подробно останавливаться на их синтаксисе и использовании. Тем более, что это подробно рассмотрено в других статьях, ссылки на которые вы можете найти в конце этого руководства. Мы рассмотрим лишь минимум, необходимый для понимания общей идеи, а затем подробно рассмотрим примеры формул, раскрывающие все преимущества использования ПОИСКПОЗ и ИНДЕКС вместо ВПР.
Функция ИНДЕКС
Функция ИНДЕКС (в английском варианте – INDEX) возвращает значение в массиве на основе указанных вами номеров строк и столбцов. Синтаксис функции ИНДЕКС прост:
ИНДЕКС(массив,номер_строки,[номер_столбца])
Вот простое объяснение каждого параметра:
- массив — это диапазон ячеек, именованный диапазон или таблица.
- номер_строки — это номер строки в массиве, из которого нужно вернуть значение. Если этот аргумент опущен, требуется следующий – номер_столбца.
- номер_столбца — это номер столбца, из которого нужно вернуть значение. Если он опущен, требуется номер_строки.
Дополнительные сведения см. в статье Функция ИНДЕКС в Excel .
А вот пример формулы ИНДЕКС в самом простом виде:
=ИНДЕКС(A1:C10;2;3)
Формула выполняет поиск в ячейках с A1 по C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, т. е. в ячейке C2.
Очень легко, правда? Однако при работе с реальными данными вы вряд ли когда-нибудь будете заранее знать, какие строки и столбцы вам нужны. Здесь вам пригодится ПОИСКПОЗ.
Функция ПОИСКПОЗ
Она ищет нужное значение в диапазоне ячеек и возвращает относительное положение этого значения в диапазоне.
Синтаксис функции ПОИСКПОЗ следующий:
ПОИСКПОЗ(искомое_значение, искомый_массив, [тип_совпадения])
- искомое_значение — числовое или текстовое значение, которое вы ищете.
- диапазон_поиска — диапазон ячеек, в которых будем искать.
- тип_совпадения — указывает, следует ли искать точное соответствие или наиболее близкое совпадение:
- 1 или опущено — находит наибольшее значение, которое меньше или равно искомому значению. Требуется сортировка массива поиска в порядке возрастания.
- 0 — находит первое значение, точно равное искомому значению. В комбинации ИНДЕКС/ПОИСКПОЗ вам почти всегда нужно точное совпадение, поэтому вы чаще всего устанавливаете третий аргумент вашей функции в 0.
- -1 — находит наименьшее значение, которое больше или равно искомому значению. Требуется сортировка массива поиска в порядке убывания.
Например, если диапазон B1:B3 содержит значения «яблоки», «апельсины», «лимоны», приведенная ниже формула возвращает число 3, поскольку «лимоны» — это третья по счету запись в этом диапазоне:
=ПОИСКПОЗ(«лимоны»;B1:B3;0)
Дополнительные сведения см . в статье Функция ПОИСКПОЗ в Excel .
На первый взгляд полезность функции ПОИСКПОЗ может показаться сомнительной. Кого волнует положение значения в диапазоне? Что мы действительно хотим определить, так это само значение.
Однако, относительная позиция искомого значения (т. е. номера строки и столбца, в которых оно находится) — это именно то, что нам нужно указать для аргументов номер_строки и номер_столбца функции ИНДЕКС. Как вы помните, ИНДЕКС может найти значение на пересечении заданной строки и столбца, но сама не может определить, какую именно строку и столбец ей нужно выбрать.
Вот поэтому совместное использование ИНДЕКС и ПОИСКПОЗ открывает перед нами массу возможностей для поиска в Excel.
Как использовать формулу ИНДЕКС ПОИСКПОЗ в Excel
Теперь, когда вы знаете основы, я считаю, что вы уже начали понимать, как ПОИСКПОЗ и ИНДЕКС работают вместе. Короче говоря, ИНДЕКС извлекает нужное значение по номерам столбцов и строк, а ПОИСКПОЗ предоставляет ей эти номера. Вот и все!
Для вертикального поиска вы используете функцию ПОИСКПОЗ только для определения номера строки, указывая диапазон столбцов непосредственно в самой формуле:
ИНДЕКС ( столбец для возврата значения ; ПОИСКПОЗ ( искомое значение ; столбец для поиска ; 0))
Все еще не совсем понимаете эту логику? Возможно, будет проще разобрать на примере. Предположим, у вас есть список национальных столиц и их население:
Чтобы найти население определенной столицы, скажем, Индии, используйте следующую формулу ПОИСКПОЗ ИНДЕКС:
=ИНДЕКС(C2:C10; ПОИСКПОЗ(“Индия”;A2:A10;0))
Теперь давайте проанализируем, что на самом деле делает каждый компонент этой формулы:
- Функция ПОИСКПОЗ ищет искомое значение «Индия» в диапазоне A2:A10 и возвращает число 2, поскольку это слово занимает второе место в массиве поиска.
- Этот номер поступает непосредственно в аргумент номер_строки функции ИНДЕКС, предписывая вернуть значение из этой строки.
Таким образом, приведенная выше формула превращается в ИНДЕКС(C2:C10;2), которая означает, что нужно искать в ячейках от C2 до C10 и извлекать значение из второй ячейки в этом диапазоне, то есть из C3, потому что мы начинаем отсчет со второй строки.
Но указывать название города в формуле не совсем правильно, так как для каждого нового поиска придется корректировать эту формулу. Введите его в какую-нибудь отдельную ячейку, скажем, F1, укажите ссылку на ячейку для ПОИСКПОЗ, и вы получите формулу динамического поиска:
=ИНДЕКС(C2:C10;ПОИСКПОЗ(F1;A2:A10;0))
Важное замечание! Количество строк в аргументе массив функции ИНДЕКС должно совпадать с количеством строк в аргументе просматриваемый_массив в ПОИСКПОЗ, иначе формула выдаст неверный результат.
Вы спросите: «А почему бы нам просто не использовать обычную формулу ВПР? Какой смысл тратить время на то, чтобы разобраться в хитросплетениях ИНДЕКС ПОИСКПОЗ в Excel?»
Вот как это будет выглядеть:
=ВПР(F1; A2:C10; 3; 0)
Конечно, так проще. Но этот наш элементарный пример предназначен только для демонстрационных целей, чтобы вы поняли, как именно функции ИНДЕКС и ПОИСКПОЗ работают вместе. Действительно, ВПР была бы здесь более уместна. Другие примеры, которые вы найдёте ниже, покажут вам реальную силу этой комбинации, которая легко справляется со многими сложными задачами, когда ВПР будет бессильна.
ИНДЕКС+ПОИСКПОЗ вместо ВПР?
Решая, какую функцию использовать для вертикального поиска, большинство знатоков Excel сходятся во мнении, что ПОИСКПОЗ+ИНДЕКС намного лучше, чем ВПР. Однако многие до сих пор остаются с ВПР, во-первых, потому что это проще, а, во-вторых, потому что они не до конца понимают все преимущества использования формулы ПОИСКПОЗ ИНДЕКС в Excel. Без такого понимания никто не захочет тратить свое время на изучение более сложного синтаксиса.
Ниже я укажу на ключевые преимущества ИНДЕКС ПОИСКПОЗ перед ВПР, а уж вам решать, является ли это достойным дополнением к вашему арсеналу знаний в Excel.
4 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР
- Поиск справа налево. Как известно любому образованному пользователю, ВПР не может искать влево. Это означает, что искомое значение всегда должно находиться в крайнем левом столбце таблицы. А извлекать нужное значение мы будем из столбца, который находится правее. ИНДЕКС+ПОИСКПОЗ может легко выполнять поиск влево! Здесь это показано в действии: Как выполнить поиск значения слева в Excel .
- Можно безопасно вставлять или удалять столбцы. Формулы ВПР не работают или выдают неверные результаты, когда новый столбец удаляется из таблицы поиска или добавляется в нее, поскольку синтаксис ВПР требует указания порядкового номера столбца, из которого вы хотите извлечь данные. Естественно, когда вы добавляете или удаляете столбцы, этот номер в формуле автоматически не меняется, а нужный столбец уже оказывается на новом месте.
С функциями ИНДЕКС и ПОИСКПОЗ вы указываете диапазон возвращаемых столбцов, а не номер одного из них. В результате вы можете вставлять и удалять столько столбцов, сколько хотите, не беспокоясь об обновлении каждой связанной с ними формулы.
- Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
- Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности Excel. Но если ваши рабочие листы содержат сотни или тысячи строк и, следовательно, сотни или тысячи формул, ИНДЕКС ПОИСКПОЗ будет работать намного быстрее, чем ВПР. Причина в том, что Excel будет обрабатывать только столбцы поиска и возврата, а не весь массив таблицы.
Влияние ВПР на производительность Excel может быть особенно заметным, если ваша книга содержит сложные формулы массива. Чем больше значений содержит ваш массив и чем больше формул массива содержится в книге, тем медленнее работает Excel.
ИНДЕКС ПОИСКПОЗ в Excel – примеры формул
Уяснив, почему все же стоит изучать ИНДЕКС ПОИСКПОЗ, давайте перейдем к самому интересному и посмотрим, как можно применить теоретические знания на практике.
Формула для поиска справа налево
Как уже упоминалось, ВПР не может получать значения слева от столбца поиска. Таким образом, если ваши значения поиска не находятся в самом левом столбце, нет никаких шансов, что формула ВПР принесет вам желаемый результат. Функция ПОИСКПОЗ ИНДЕКС в Excel более универсальна и не имеет особого значения, где расположены столбцы поиска и возврата.
Для этого примера мы добавим столбец «Ранг» слева от нашей основной таблицы и попытаемся выяснить, какое место занимает столица России по численности населения среди других перечисленных столиц.
Записав искомое значение в G1, используйте следующую формулу для поиска в C2:C10 и возврата соответствующего значения из A2:A10:
=ИНДЕКС(A2:A10; ПОИСКПОЗ(G1;C2:C10;0))
Совет. Если вы планируете использовать формулу ПОИСКПОЗ ИНДЕКС более чем для одной ячейки, обязательно зафиксируйте оба диапазона абсолютными ссылками (например, $A$2:$A$10 и $C$2:$C$10), чтобы они не изменялись при копировании формулы.
Двусторонний поиск в строках и столбцах
В приведенных выше примерах мы использовали ИНДЕКС ПОИСКПОЗ вместо классической функции ВПР, чтобы вернуть значение из точно указанного столбца. Но что, если вам нужно искать в нескольких строках и столбцах? То есть, сначала нужно найти подходящий столбец, а уж потом извлечь из него значение? Другими словами, что, если вы хотите выполнить так называемый матричный или двусторонний поиск?
Это может показаться сложным, но формула очень похожа на базовую функцию ПОИСКПОЗ ИНДЕКС в Excel, но с одним отличием.
Просто используйте две функции ПОИСКПОЗ, вложенных друг в друга: одну – для получения номера строки, а другую – для получения номера столбца.
ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
А теперь, пожалуйста, взгляните на приведенную ниже таблицу и давайте составим формулу двумерного поиска, чтобы найти население (в миллионах) в данной стране за данный год.
С целевой страной в G1 (значение_поиска1) и целевым годом в G2 (значение_поиска2) формула принимает следующий вид:
=ИНДЕКС(B2:D11; ПОИСКПОЗ(G1;A2:A11;0); ПОИСКПОЗ(G2;B1:D1;0))
Как работает эта формула?
Всякий раз, когда вам нужно понять сложную формулу Excel, разделите ее на более мелкие части и посмотрите, что делает каждая отдельная функция:
ПОИСКПОЗ(G1;A2:A11;0); – ищет в A2:A11 значение из ячейки G1 («США») и возвращает его позицию, которая равна 3.
ПОИСКПОЗ(G2;B1:D1;0) – просматривает диапазон B1:D1, чтобы получить позицию значения из ячейки G2 («2015»), которая равна 3.
Найденные выше номера строк и столбцов становятся соответствующими аргументами функции ИНДЕКС:
ИНДЕКС(B2:D11, 3, 3)
В результате вы получите значение на пересечении 3-й строки и 3-го столбца в диапазоне B2:D11, то есть из D4. Несложно?
ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
Если у вас была возможность прочитать наши материалы по ВПР в Excel, вы, вероятно, уже протестировали формулу для ВПР с несколькими условиями . Однако существенным недостатком этого подхода является необходимость добавления вспомогательного столбца. Хорошей новостью является то, что функция ПОИСКПОЗ ИНДЕКС в Excel также может выполнять поиск по нескольким условиям без изменения или реструктуризации исходных данных!
Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями:
{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}
Примечание. Это формула массива , которую необходимо вводить с помощью сочетания клавиш Ctrl + Shift + Enter
.
Предположим, что в таблице ниже вы хотите найти значение на основе двух критериев: Покупатель и Товар.
Следующая формула ИНДЕКС ПОИСКПОЗ отлично работает:
=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; (F1=A2:A10) * (F2=B2:B10); 0))
Где C2:C10 — это диапазон, из которого возвращается значение, F1 — это критерий1, A2:A10 — это диапазон для сравнения с критерием 1, F2 — это критерий 2, а B2:B10 — это диапазон для сравнения с критерием 2.
Не забудьте правильно ввести формулу, нажав Ctrl + Shift + Enter, и Excel автоматически заключит ее в фигурные скобки, как показано на скриншоте ниже:
Рис5
Если вы не хотите использовать формулы массива, добавьте в формулу в F4 еще одну функцию ИНДЕКС и завершите ее ввод обычным нажатием Enter:
=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; ИНДЕКС((F1=A2:A10) * (F2=B2:B10); 0; 1); 0))
Разберем пошагово, как это работает.
Здесь используется тот же подход, что и в обычном сочетании ИНДЕКС ПОИСКПОЗ, где просматривается один столбец. Чтобы оценить несколько критериев, вы создаете два или более массива значений ИСТИНА и ЛОЖЬ, которые представляют совпадения и несовпадения для каждого отдельного критерия, а затем перемножаете соответствующие элементы этих массивов. Операция умножения преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно и создает массив, в котором единицы соответствуют строкам, которые удовлетворяют всем условиям. Функция ПОИСКПОЗ со значением поиска 1 находит первую «1» в массиве и передает ее позицию в ИНДЕКС, которая возвращает значение в этой позиции из указанного столбца.
Вторая формула без массива основана на способности функции ИНДЕКС работать с массивами. Второй вложенный ИНДЕКС имеет 0 в номер_строки , так что он будет передавать весь массив столбцов в ПОИСКПОЗ.
Среднее, максимальное и минимальное значение при помощи ИНДЕКС ПОИСКПОЗ
Microsoft Excel имеет специальные функции для поиска минимального, максимального и среднего значения в диапазоне. Но что, если вам нужно получить значение из другой ячейки, связанной с этими значениями? Например, получить название города с максимальным населением или узнать товар с минимальными продажами? В этом случае используйте функцию МАКС , МИН или СРЗНАЧ вместе с ИНДЕКС ПОИСКПОЗ.
Максимальное значение.
Предположим, нам нужно в списке городов найти столицу с самым большим населением. Чтобы найти наибольшее значение в столбце С и вернуть соответствующее ему значение из столбца В, находящееся в той же строке, используйте эту формулу:
=ИНДЕКС(B2:B10; ПОИСКПОЗ(МАКС(C2:C10); C2:C10; 0))
Скриншот с примером находится чуть ниже.
Минимальное значение
Теперь найдём город с самым маленьким населением в списке. Чтобы найти наименьшее число в столбце С и получить соответствующее ему значение из столбца В:
=ИНДЕКС(B2:B10; ПОИСКПОЗ(МИН(C2:C10); C2:C10; 0))
Ближайшее к среднему
Теперь мы находим город, население которого наиболее близко к среднему значению. Чтобы вычислить позицию, наиболее близкую к среднему значению показателя, рассчитанному из D2:D10, и получить соответствующее значение из столбца C, используйте следующую формулу:
=ИНДЕКС(B2:B10; ПОИСКПОЗ(СРЗНАЧ(C2:C10); C2:C10; -1 ))
В зависимости от того, как организованы ваши данные, укажите 1 или -1 для третьего аргумента (тип_совпадения) функции ПОИСКПОЗ:
- Если ваш столбец поиска (столбец D в нашем случае) отсортирован по возрастанию , поставьте 1. Формула вычислит наибольшее значение, которое меньше или равно среднему значению.
- Если ваш столбец поиска отсортирован по убыванию , введите -1. Формула вычислит наименьшее значение, которое больше или равно среднему значению.
- Если ваш массив поиска содержит значение , точно равное среднему, вы можете ввести 0 для точного совпадения. Никакой сортировки не требуется.
В нашем примере данные в столбце D отсортированы в порядке убывания, поэтому мы используем -1 для типа соответствия. В результате мы получаем «Токио», так как его население (13 189 000) является ближайшим, превышающим среднее значение (12 269 006).
Что делать с ошибками поиска?
Как вы, наверное, заметили, если формула ИНДЕКС ПОИСКПОЗ в Excel не может найти искомое значение, она выдает ошибку #Н/Д. Если вы хотите заменить это стандартное сообщение чем-то более информативным, оберните формулу ПОИСКПОЗ ИНДЕКС в функцию ЕСНД . Например:
=ЕСНД(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Не найдено»)
И теперь, если кто-то вводит значение, которое не существует в диапазоне поиска, формула явно сообщит пользователю, что совпадений не найдено:
Если вы хотите перехватывать все ошибки, а не только #Н/Д, используйте функцию ЕСЛИОШИБКА вместо ЕСНД:
=ЕСЛИОШИБКА(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Что-то пошло не так!»)
Пожалуйста, имейте в виду, что во многих ситуациях было бы не совсем правильно скрывать все такие ошибки, потому что они предупреждают вас о возможных проблемах в вашей формуле.
Итак, еще раз об основных преимуществах формулы ИНДЕКС ПОИСКПОЗ.
-
Возможен ли «левый» поиск?
-
Повлияет ли на результат вставка и удаление столбцов?
Вы можете вставлять и удалять столько столбцов, сколько хотите. На результат ИНДЕКС ПОИСКПОЗ это не повлияет.
-
Возможен ли поиск по строкам и столбцам?
Можно сначала найти подходящий столбец, а уж потом извлечь из него значение. Общий вид формулы:
ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
Подробную инструкцию смотрите здесь. -
Как сделать поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям?
Можно выполнять поиск по двум или более условиям без добавления дополнительных столбцов. Вот формула массива, которая решит проблему:
{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}
Вот как можно использовать ИНДЕКС и ПОИСКПОЗ в Excel. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
- Что делает функция ПОИСК?
- Синтаксис
- Форматирование
- Поиск символа в ячейке
- Извлечь первое слово
- Другие примеры использования
- Функция ПОИСК в формуле массива
Что делает функция ПОИСК?
Эта функция аналогична функции НАЙТИ и так же ищет подстроку в строке. Когда искомое найдено, отображается его позиция в тексте в виде числа.
Отличие от функции НАЙТИ в том, что ПОИСК не принимает в расчет регистр текста. Как искомого, так и того, в котором мы ищем. Также она поддерживает подстановочные операторы.
У обеих функций есть процедура-аналог Найти и Заменить – как у процедуры, у нее есть свои преимущества и недостатки.
Синтаксис
=ПОИСК(ИскомыйТекст;СтрокаВКоторойИщем;[СтартоваяПозиция])
- ИскомыйТекст — символ или сочетание, которое ищем
- СтрокаВКоторойИщем — ячейка, текстовое значение или любое возвращаемое другой функцией выражение.
- Стартовая позиция — опциональный параметр, при отсутствии поиск происходит с первого символа
Если текст содержит более одного вхождения, возвращается позиция первого.
Третий (опциональный) параметр используется для поиска с определенной позиции в тексте и по умолчанию равен 1.
Если искомое не найдено в тексте, функция возвращает ошибку #ЗНАЧ.
Форматирование
При поиске дат функция ПОИСК, как и все текстовые функции, воспринимает их как числа, поэтому для корректного поиска может понадобиться функция ТЕКСТ.
При этом логические значения ИСТИНА и ЛОЖЬ конвертируются в текст, соответствующий их написанию.
Поиск символа в ячейке
Наиболее простой пример использования функции – осуществление поиска определенного символа в ячейке.
Логика проста – если поиск позиции символа не возвращает ошибку, значит, символ в ячейке присутствует:
=НЕ(ЕОШ(ПОИСК(паттерн;текст)))
Извлечь первое слово
В этом простейшем примере извлекаем первое слово из ячейки с помощью комбинации — функция ЛЕВСИМВ + функция ПОИСК. Поскольку пробел — регистронезависимый символ, для этого случая можно использовать и функцию НАЙТИ.
Таблица выше была использована для извлечения имени из строки с именем и фамилией.
- ПОИСК возвращает позицию пробела между именем и фамилией.
- Длина имени вычисляется как позиция пробела минус 1.
- Функция ЛЕВСИМВ извлекает имя на основе его длины.
Другие примеры использования
Найти первую цифру в ячейке:
=МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))
Найти первую цифру в ячейке и вернуть все, что перед ней:
=ЛЕВСИМВ(A1,МИН(ЕСЛИОШИБКА(ПОИСК({0:9:8:7:6:5:4:3:2:1};A1);1000))-1)
Узнать, содержит ли ячейка латиницу. Формула вернет «ИСТИНА» или «ЛОЖЬ»:
=СЧЁТ(ПОИСК({"a":"b":"c":"d":"e":"f":"g":"h":"i":"j":"k":"l":"m":"n":"o":"p":"q":"r":"s":"t":"u":"v":"w":"x":"y":"z"};A1))>0
Найти кириллицу в тексте аналогичным путем:
=СЧЁТ(ПОИСК({"а":"б":"в":"г":"д":"е":"ё":"ж":"з":"и":"й":"к":"л":"м":"н":"о":"п":"р":"с":"т":"у":"ф":"х":"ц":"ч":"ш":"щ":"ъ":"ы":"ь":"э":"ю":"я"};A1))>0
Функция ПОИСК в формуле массива
Примеры выше, где буквы перечислены явно в строковом массиве, занимает довольно много места. Буквы при этом идут подряд, что наводит на мысль, что их можно как-то иначе выразить как диапазон.
И действительно, это возможно с помощью комбинации с функциями СТРОКА и ПОИСК:
{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0}
Отличие этой формулы массива от предыдущих — ее нужно вводить без фигурных скобок, они появятся при вводе формулы сочетанием Ctrl+Shift+Enter (вместо обычного Enter). В формуле выше, где явно прописаны все буквы, фигурные скобки вводятся вручную — это явное указание строкового массива.
Что происходит в этой формуле?
- Функция СТРОКА с численным аргументом “65:90” возвращает массив чисел с 65 по 90 включительно. Как раз в этом диапазоне в таблице ASCII находятся все символы латиницы;
- Функция СИМВОЛ возвращает для каждого числового значения в этом массиве его символ, таким образом создавая массив латинских символов;
- Функция ПОИСК производит поиск каждого из этих символов в строке и возвращает либо число, либо ошибку, таким образом создавая массив чисел и ошибок
- Функция СЧЁТ считает числовые значения в полученном массиве. Если результат больше нуля, значит, хотя бы один символ латиницы был найден. Если нет (все поиски вернули ошибку), значит, не был
Аналогичная формула для кириллицы:
{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}
Подробнее о поиске и извлечении кириллицы и латиницы в Excel можно почитать тут:
Найти латиницу или кириллицу в тексте
Есть еще множество комбинаций функции ПОИСК с другими функциями Excel, смотрите разделы:
Функция ИЛИ
Функция И
Функция ЗНАЧЕН
Удалить первое слово в ячейке Excel
Смотрите также по теме:
ОБНАРУЖИТЬ (функционал надстройки !SEMTools)
Регулярные выражения в Excel
Найти определенные символы в Excel
Найти слова в ячейках
Найти числа в текстовых ячейках
Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!
В приложении 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
Как видим во втором отличии функция НАЙТИ совершенно не умеет работать и распознавать спецсимволы для подстановки текста в критериях поиска при неточном совпадении в исходной строке.
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.
В нескольких недавних статьях мы приложили все усилия, чтобы разъяснить начинающим пользователям основы функции ВПР и показать примеры более сложных формул для продвинутых пользователей. Теперь мы попытаемся, если не отговорить Вас от использования ВПР, то хотя бы показать альтернативные способы реализации вертикального поиска в Excel.
Зачем нам это? – спросите Вы. Да, потому что ВПР – это не единственная функция поиска в Excel, и её многочисленные ограничения могут помешать Вам получить желаемый результат во многих ситуациях. С другой стороны, функции ИНДЕКС и ПОИСКПОЗ – более гибкие и имеют ряд особенностей, которые делают их более привлекательными, по сравнению с ВПР.
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- Используем функции ИНДЕКС и ПОИСКПОЗ в Excel
- Преимущества ИНДЕКС и ПОИСКПОЗ перед ВПР
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как находить значения, которые находятся слева
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ
- Поиск по известным строке и столбцу
- Поиск по нескольким критериям
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА
Содержание
- Базовая информация об ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС – синтаксис и применение функции
- ПОИСКПОЗ – синтаксис и применение функции
- Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
- Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
- 4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
- ИНДЕКС и ПОИСКПОЗ – примеры формул
- Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
- Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
- О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
- Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
- Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
- ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
Базовая информация об ИНДЕКС и ПОИСКПОЗ
Так как задача этого учебника – показать возможности функций ИНДЕКС и ПОИСКПОЗ для реализации вертикального поиска в Excel, мы не будем задерживаться на их синтаксисе и применении.
Приведём здесь необходимый минимум для понимания сути, а затем разберём подробно примеры формул, которые показывают преимущества использования ИНДЕКС и ПОИСКПОЗ вместо ВПР.
ИНДЕКС – синтаксис и применение функции
Функция INDEX (ИНДЕКС) в Excel возвращает значение из массива по заданным номерам строки и столбца. Функция имеет вот такой синтаксис:
INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])
Каждый аргумент имеет очень простое объяснение:
- array (массив) – это диапазон ячеек, из которого необходимо извлечь значение.
- row_num (номер_строки) – это номер строки в массиве, из которой нужно извлечь значение. Если не указан, то обязательно требуется аргумент column_num (номер_столбца).
- column_num (номер_столбца) – это номер столбца в массиве, из которого нужно извлечь значение. Если не указан, то обязательно требуется аргумент row_num (номер_строки)
Если указаны оба аргумента, то функция ИНДЕКС возвращает значение из ячейки, находящейся на пересечении указанных строки и столбца.
Вот простейший пример функции INDEX (ИНДЕКС):
=INDEX(A1:C10,2,3)
=ИНДЕКС(A1:C10;2;3)
Формула выполняет поиск в диапазоне A1:C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, то есть из ячейки C2.
Очень просто, правда? Однако, на практике Вы далеко не всегда знаете, какие строка и столбец Вам нужны, и поэтому требуется помощь функции ПОИСКПОЗ.
ПОИСКПОЗ – синтаксис и применение функции
Функция MATCH (ПОИСКПОЗ) в Excel ищет указанное значение в диапазоне ячеек и возвращает относительную позицию этого значения в диапазоне.
Например, если в диапазоне B1:B3 содержатся значения New-York, Paris, London, тогда следующая формула возвратит цифру 3, поскольку «London» – это третий элемент в списке.
=MATCH("London",B1:B3,0)
=ПОИСКПОЗ("London";B1:B3;0)
Функция MATCH (ПОИСКПОЗ) имеет вот такой синтаксис:
MATCH(lookup_value,lookup_array,[match_type])
ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
- lookup_value (искомое_значение) – это число или текст, который Вы ищите. Аргумент может быть значением, в том числе логическим, или ссылкой на ячейку.
- lookup_array (просматриваемый_массив) – диапазон ячеек, в котором происходит поиск.
- match_type (тип_сопоставления) – этот аргумент сообщает функции ПОИСКПОЗ, хотите ли Вы найти точное или приблизительное совпадение:
- 1 или не указан – находит максимальное значение, меньшее или равное искомому. Просматриваемый массив должен быть упорядочен по возрастанию, то есть от меньшего к большему.
- 0 – находит первое значение, равное искомому. Для комбинации ИНДЕКС/ПОИСКПОЗ всегда нужно точное совпадение, поэтому третий аргумент функции ПОИСКПОЗ должен быть равен 0.
- -1 – находит наименьшее значение, большее или равное искомому значению. Просматриваемый массив должен быть упорядочен по убыванию, то есть от большего к меньшему.
На первый взгляд, польза от функции ПОИСКПОЗ вызывает сомнение. Кому нужно знать положение элемента в диапазоне? Мы хотим знать значение этого элемента!
Позвольте напомнить, что относительное положение искомого значения (т.е. номер строки и/или столбца) – это как раз то, что мы должны указать для аргументов row_num (номер_строки) и/или column_num (номер_столбца) функции INDEX (ИНДЕКС). Как Вы помните, функция ИНДЕКС может возвратить значение, находящееся на пересечении заданных строки и столбца, но она не может определить, какие именно строка и столбец нас интересуют.
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
Теперь, когда Вам известна базовая информация об этих двух функциях, полагаю, что уже становится понятно, как функции ПОИСКПОЗ и ИНДЕКС могут работать вместе. ПОИСКПОЗ определяет относительную позицию искомого значения в заданном диапазоне ячеек, а ИНДЕКС использует это число (или числа) и возвращает результат из соответствующей ячейки.
Ещё не совсем понятно? Представьте функции ИНДЕКС и ПОИСКПОЗ в таком виде:
=INDEX(столбец из которого извлекаем,(MATCH (искомое значение,столбец в котором ищем,0))
=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое значение;столбец в котором ищем;0))
Думаю, ещё проще будет понять на примере. Предположим, у Вас есть вот такой список столиц государств:
Давайте найдём население одной из столиц, например, Японии, используя следующую формулу:
=INDEX($D$2:$D$10,MATCH("Japan",$B$2:$B$10,0))
=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ("Japan";$B$2:$B$10;0))
Теперь давайте разберем, что делает каждый элемент этой формулы:
- Функция MATCH (ПОИСКПОЗ) ищет значение «Japan» в столбце B, а конкретно – в ячейках B2:B10, и возвращает число 3, поскольку «Japan» в списке на третьем месте.
- Функция INDEX (ИНДЕКС) использует 3 для аргумента row_num (номер_строки), который указывает из какой строки нужно возвратить значение. Т.е. получается простая формула:
=INDEX($D$2:$D$10,3)
=ИНДЕКС($D$2:$D$10;3)
Формула говорит примерно следующее: ищи в ячейках от D2 до D10 и извлеки значение из третьей строки, то есть из ячейки D4, так как счёт начинается со второй строки.
Вот такой результат получится в Excel:
Важно! Количество строк и столбцов в массиве, который использует функция INDEX (ИНДЕКС), должно соответствовать значениям аргументов row_num (номер_строки) и column_num (номер_столбца) функции MATCH (ПОИСКПОЗ). Иначе результат формулы будет ошибочным.
Стоп, стоп… почему мы не можем просто использовать функцию VLOOKUP (ВПР)? Есть ли смысл тратить время, пытаясь разобраться в лабиринтах ПОИСКПОЗ и ИНДЕКС?
=VLOOKUP("Japan",$B$2:$D$2,3)
=ВПР("Japan";$B$2:$D$2;3)
В данном случае – смысла нет! Цель этого примера – исключительно демонстрационная, чтобы Вы могли понять, как функции ПОИСКПОЗ и ИНДЕКС работают в паре. Последующие примеры покажут Вам истинную мощь связки ИНДЕКС и ПОИСКПОЗ, которая легко справляется с многими сложными ситуациями, когда ВПР оказывается в тупике.
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Решая, какую формулу использовать для вертикального поиска, большинство гуру Excel считают, что ИНДЕКС/ПОИСКПОЗ намного лучше, чем ВПР. Однако, многие пользователи Excel по-прежнему прибегают к использованию ВПР, т.к. эта функция гораздо проще. Так происходит, потому что очень немногие люди до конца понимают все преимущества перехода с ВПР на связку ИНДЕКС и ПОИСКПОЗ, а тратить время на изучение более сложной формулы никто не хочет.
Далее я попробую изложить главные преимущества использования ПОИСКПОЗ и ИНДЕКС в Excel, а Вы решите – остаться с ВПР или переключиться на ИНДЕКС/ПОИСКПОЗ.
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
1. Поиск справа налево. Как известно любому грамотному пользователю Excel, ВПР не может смотреть влево, а это значит, что искомое значение должно обязательно находиться в крайнем левом столбце исследуемого диапазона. В случае с ПОИСКПОЗ/ИНДЕКС, столбец поиска может быть, как в левой, так и в правой части диапазона поиска. Пример: Как находить значения, которые находятся слева покажет эту возможность в действии.
2. Безопасное добавление или удаление столбцов. Формулы с функцией ВПР перестают работать или возвращают ошибочные значения, если удалить или добавить столбец в таблицу поиска. Для функции ВПР любой вставленный или удалённый столбец изменит результат формулы, поскольку синтаксис ВПР требует указывать весь диапазон и конкретный номер столбца, из которого нужно извлечь данные.
Например, если у Вас есть таблица A1:C10, и требуется извлечь данные из столбца B, то нужно задать значение 2 для аргумента col_index_num (номер_столбца) функции ВПР, вот так:
=VLOOKUP("lookup value",A1:C10,2)
=ВПР("lookup value";A1:C10;2)
Если позднее Вы вставите новый столбец между столбцами A и B, то значение аргумента придется изменить с 2 на 3, иначе формула возвратит результат из только что вставленного столбца.
Используя ПОИСКПОЗ/ИНДЕКС, Вы можете удалять или добавлять столбцы к исследуемому диапазону, не искажая результат, так как определен непосредственно столбец, содержащий нужное значение. Действительно, это большое преимущество, особенно когда работать приходится с большими объёмами данных. Вы можете добавлять и удалять столбцы, не беспокоясь о том, что нужно будет исправлять каждую используемую функцию ВПР.
3. Нет ограничения на размер искомого значения. Используя ВПР, помните об ограничении на длину искомого значения в 255 символов, иначе рискуете получить ошибку #VALUE! (#ЗНАЧ!). Итак, если таблица содержит длинные строки, единственное действующее решение – это использовать ИНДЕКС/ПОИСКПОЗ.
Предположим, Вы используете вот такую формулу с ВПР, которая ищет в ячейках от B5 до D10 значение, указанное в ячейке A2:
=VLOOKUP(A2,B5:D10,3,FALSE)
=ВПР(A2;B5:D10;3;ЛОЖЬ)
Формула не будет работать, если значение в ячейке A2 длиннее 255 символов. Вместо неё Вам нужно использовать аналогичную формулу ИНДЕКС/ПОИСКПОЗ:
=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))
=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))
4. Более высокая скорость работы. Если Вы работаете с небольшими таблицами, то разница в быстродействии Excel будет, скорее всего, не заметная, особенно в последних версиях. Если же Вы работаете с большими таблицами, которые содержат тысячи строк и сотни формул поиска, Excel будет работать значительно быстрее, при использовании ПОИСКПОЗ и ИНДЕКС вместо ВПР. В целом, такая замена увеличивает скорость работы Excel на 13%.
Влияние ВПР на производительность Excel особенно заметно, если рабочая книга содержит сотни сложных формул массива, таких как ВПР+СУММ. Дело в том, что проверка каждого значения в массиве требует отдельного вызова функции ВПР. Поэтому, чем больше значений содержит массив и чем больше формул массива содержит Ваша таблица, тем медленнее работает Excel.
С другой стороны, формула с функциями ПОИСКПОЗ и ИНДЕКС просто совершает поиск и возвращает результат, выполняя аналогичную работу заметно быстрее.
ИНДЕКС и ПОИСКПОЗ – примеры формул
Теперь, когда Вы понимаете причины, из-за которых стоит изучать функции ПОИСКПОЗ и ИНДЕКС, давайте перейдём к самому интересному и увидим, как можно применить теоретические знания на практике.
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
Любой учебник по ВПР твердит, что эта функция не может смотреть влево. Т.е. если просматриваемый столбец не является крайним левым в диапазоне поиска, то нет шансов получить от ВПР желаемый результат.
Функции ПОИСКПОЗ и ИНДЕКС в Excel гораздо более гибкие, и им все-равно, где находится столбец со значением, которое нужно извлечь. Для примера, снова вернёмся к таблице со столицами государств и населением. На этот раз запишем формулу ПОИСКПОЗ/ИНДЕКС, которая покажет, какое место по населению занимает столица России (Москва).
Как видно на рисунке ниже, формула отлично справляется с этой задачей:
=INDEX($A$2:$A$10,MATCH("Russia",$B$2:$B$10,0))
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))
Теперь у Вас не должно возникать проблем с пониманием, как работает эта формула:
- Во-первых, задействуем функцию MATCH (ПОИСКПОЗ), которая находит положение «Russia» в списке:
=MATCH("Russia",$B$2:$B$10,0))
=ПОИСКПОЗ("Russia";$B$2:$B$10;0))
- Далее, задаём диапазон для функции INDEX (ИНДЕКС), из которого нужно извлечь значение. В нашем случае это A2:A10.
- Затем соединяем обе части и получаем формулу:
=INDEX($A$2:$A$10;MATCH("Russia";$B$2:$B$10;0))
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ("Russia";$B$2:$B$10;0))
Подсказка: Правильным решением будет всегда использовать абсолютные ссылки для ИНДЕКС и ПОИСКПОЗ, чтобы диапазоны поиска не сбились при копировании формулы в другие ячейки.
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
Вы можете вкладывать другие функции Excel в ИНДЕКС и ПОИСКПОЗ, например, чтобы найти минимальное, максимальное или ближайшее к среднему значение. Вот несколько вариантов формул, применительно к таблице из предыдущего примера:
1. MAX (МАКС). Формула находит максимум в столбце D и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))
Результат: Beijing
2. MIN (МИН). Формула находит минимум в столбце D и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))
Результат: Lima
3. AVERAGE (СРЗНАЧ). Формула вычисляет среднее в диапазоне D2:D10, затем находит ближайшее к нему и возвращает значение из столбца C той же строки:
=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))
=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))
Результат: Moscow
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
Используя функцию СРЗНАЧ в комбинации с ИНДЕКС и ПОИСКПОЗ, в качестве третьего аргумента функции ПОИСКПОЗ чаще всего нужно будет указывать 1 или -1 в случае, если Вы не уверены, что просматриваемый диапазон содержит значение, равное среднему. Если же Вы уверены, что такое значение есть, – ставьте 0 для поиска точного совпадения.
- Если указываете 1, значения в столбце поиска должны быть упорядочены по возрастанию, а формула вернёт максимальное значение, меньшее или равное среднему.
- Если указываете -1, значения в столбце поиска должны быть упорядочены по убыванию, а возвращено будет минимальное значение, большее или равное среднему.
В нашем примере значения в столбце D упорядочены по возрастанию, поэтому мы используем тип сопоставления 1. Формула ИНДЕКС/ПОИСКПОЗ возвращает «Moscow», поскольку величина населения города Москва – ближайшее меньшее к среднему значению (12 269 006).
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
Эта формула эквивалентна двумерному поиску ВПР и позволяет найти значение на пересечении определённой строки и столбца.
В этом примере формула ИНДЕКС/ПОИСКПОЗ будет очень похожа на формулы, которые мы уже обсуждали в этом уроке, с одним лишь отличием. Угадайте каким?
Как Вы помните, синтаксис функции INDEX (ИНДЕКС) позволяет использовать три аргумента:
INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])
И я поздравляю тех из Вас, кто догадался!
Начнём с того, что запишем шаблон формулы. Для этого возьмём уже знакомую нам формулу ИНДЕКС/ПОИСКПОЗ и добавим в неё ещё одну функцию ПОИСКПОЗ, которая будет возвращать номер столбца.
=INDEX(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
Обратите внимание, что для двумерного поиска нужно указать всю таблицу в аргументе array (массив) функции INDEX (ИНДЕКС).
А теперь давайте испытаем этот шаблон на практике. Ниже Вы видите список самых населённых стран мира. Предположим, наша задача узнать население США в 2015 году.
Хорошо, давайте запишем формулу. Когда мне нужно создать сложную формулу в Excel с вложенными функциями, то я сначала каждую вложенную записываю отдельно.
Итак, начнём с двух функций ПОИСКПОЗ, которые будут возвращать номера строки и столбца для функции ИНДЕКС:
- ПОИСКПОЗ для столбца – мы ищем в столбце B, а точнее в диапазоне B2:B11, значение, которое указано в ячейке H2 (USA). Функция будет выглядеть так:
=MATCH($H$2,$B$1:$B$11,0)
=ПОИСКПОЗ($H$2;$B$1:$B$11;0)
Результатом этой формулы будет 4, поскольку «USA» – это 4-ый элемент списка в столбце B (включая заголовок).
- ПОИСКПОЗ для строки – мы ищем значение ячейки H3 (2015) в строке 1, то есть в ячейках A1:E1:
=MATCH($H$3,$A$1:$E$1,0)
=ПОИСКПОЗ($H$3;$A$1:$E$1;0)
Результатом этой формулы будет 5, поскольку «2015» находится в 5-ом столбце.
Теперь вставляем эти формулы в функцию ИНДЕКС и вуаля:
=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))
=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))
Если заменить функции ПОИСКПОЗ на значения, которые они возвращают, формула станет легкой и понятной:
=INDEX($A$1:$E$11,4,5))
=ИНДЕКС($A$1:$E$11;4;5))
Эта формула возвращает значение на пересечении 4-ой строки и 5-го столбца в диапазоне A1:E11, то есть значение ячейки E4. Просто? Да!
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
В учебнике по ВПР мы показывали пример формулы с функцией ВПР для поиска по нескольким критериям. Однако, существенным ограничением такого решения была необходимость добавлять вспомогательный столбец. Хорошая новость: формула ИНДЕКС/ПОИСКПОЗ может искать по значениям в двух столбцах, без необходимости создания вспомогательного столбца!
Предположим, у нас есть список заказов, и мы хотим найти сумму по двум критериям – имя покупателя (Customer) и продукт (Product). Дело усложняется тем, что один покупатель может купить сразу несколько разных продуктов, и имена покупателей в таблице на листе Lookup table расположены в произвольном порядке.
Вот такая формула ИНДЕКС/ПОИСКПОЗ решает задачу:
{=INDEX('Lookup table'!$A$2:$C$13,MATCH(1,(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13),0),3)}
{=ИНДЕКС('Lookup table'!$A$2:$C$13;ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13)*
(B2='Lookup table'!$B$2:$B$13);0);3)}
Эта формула сложнее других, которые мы обсуждали ранее, но вооруженные знанием функций ИНДЕКС и ПОИСКПОЗ Вы одолеете ее. Самая сложная часть – это функция ПОИСКПОЗ, думаю, её нужно объяснить первой.
MATCH(1,(A2='Lookup table'!$A$2:$A$13),0)*(B2='Lookup table'!$B$2:$B$13)
ПОИСКПОЗ(1;(A2='Lookup table'!$A$2:$A$13);0)*(B2='Lookup table'!$B$2:$B$13)
В формуле, показанной выше, искомое значение – это 1, а массив поиска – это результат умножения. Хорошо, что же мы должны перемножить и почему? Давайте разберем все по порядку:
- Берем первое значение в столбце A (Customer) на листе Main table и сравниваем его со всеми именами покупателей в таблице на листе Lookup table (A2:A13).
- Если совпадение найдено, уравнение возвращает 1 (ИСТИНА), а если нет – 0 (ЛОЖЬ).
- Далее, мы делаем то же самое для значений столбца B (Product).
- Затем перемножаем полученные результаты (1 и 0). Только если совпадения найдены в обоих столбцах (т.е. оба критерия истинны), Вы получите 1. Если оба критерия ложны, или выполняется только один из них – Вы получите 0.
Теперь понимаете, почему мы задали 1, как искомое значение? Правильно, чтобы функция ПОИСКПОЗ возвращала позицию только, когда оба критерия выполняются.
Обратите внимание: В этом случае необходимо использовать третий не обязательный аргумент функции ИНДЕКС. Он необходим, т.к. в первом аргументе мы задаем всю таблицу и должны указать функции, из какого столбца нужно извлечь значение. В нашем случае это столбец C (Sum), и поэтому мы ввели 3.
И, наконец, т.к. нам нужно проверить каждую ячейку в массиве, эта формула должна быть формулой массива. Вы можете видеть это по фигурным скобкам, в которые она заключена. Поэтому, когда закончите вводить формулу, не забудьте нажать Ctrl+Shift+Enter.
Если всё сделано верно, Вы получите результат как на рисунке ниже:
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
Как Вы, вероятно, уже заметили (и не раз), если вводить некорректное значение, например, которого нет в просматриваемом массиве, формула ИНДЕКС/ПОИСКПОЗ сообщает об ошибке #N/A (#Н/Д) или #VALUE! (#ЗНАЧ!). Если Вы хотите заменить такое сообщение на что-то более понятное, то можете вставить формулу с ИНДЕКС и ПОИСКПОЗ в функцию ЕСЛИОШИБКА.
Синтаксис функции ЕСЛИОШИБКА очень прост:
IFERROR(value,value_if_error)
ЕСЛИОШИБКА(значение;значение_если_ошибка)
Где аргумент value (значение) – это значение, проверяемое на предмет наличия ошибки (в нашем случае – результат формулы ИНДЕКС/ПОИСКПОЗ); а аргумент value_if_error (значение_если_ошибка) – это значение, которое нужно возвратить, если формула выдаст ошибку.
Например, Вы можете вставить формулу из предыдущего примера в функцию ЕСЛИОШИБКА вот таким образом:
=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),
"Совпадений не найдено. Попробуйте еще раз!")=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));
"Совпадений не найдено. Попробуйте еще раз!")
И теперь, если кто-нибудь введет ошибочное значение, формула выдаст вот такой результат:
Если Вы предпочитаете в случае ошибки оставить ячейку пустой, то можете использовать кавычки («»), как значение второго аргумента функции ЕСЛИОШИБКА. Вот так:
IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")
ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение:
Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ
Смотрите также Отдел. функций ИНДЕКС и следует взять значение. Ставим точку с составляет 450 рублей. данные установлены, жмем значений.
ДВССЫЛЗапишите формулу для вставки
аргумент
Здесь функция
-
John Doe1Имя клиентанепредсказуемначальная_позицияИспользование аргумента массива таблицыДля поиска значения вЧитайте также: Функции ИНДЕКС ПОИСКПОЗ, мы создали
-
на против строки запятой. Вторым аргументомАналогичным образом можно произвести на кнопку
«Просматриваемый массив». цен из таблицыmatch_typeROW,(Customer) и
-
=СУММПРОИЗВ((A4:A15=D4)*(B4:B15))значение 8, чтобы в функции ВПР большом списке можно и ПОИСКПОЗ в
вторую для вывода с именем Товар является поиск и самой«OK»– это адресВо-первых, позвольте напомнить синтаксисLookup table 2(тип_сопоставления).(СТРОКА) действует какJohn Doe2Название продуктасоответствующие значения суммируются поиск не выполнялсяК началу страницы использовать функцию просмотра. Excel и примеры названия строк таблицы 4. Но так
«Просматриваемый массив» близкой позиции к. диапазона, в котором функциина основе известныхИспользовав дополнительный счётчик. Таки т.д. Фокус(Product). Не забывайте,=СУММЕСЛИ(A4:A15;D4;B4:B15) в той частиВ этой статье описаны Функция ВПР часто их использования по зачиню ячейки. как нам заранее.«400»Программа выполняет вычисление и расположено искомое значение.ДВССЫЛ
названий товаров. Для0 как формула скопирована с нумерацией сделаем что объединенный столбецсоответствующие значения суммируются текста, которая является синтаксис формулы и используется, но можноФункция СТОЛБЕЦ в Excel Название соответствующих строк не известен этотПОИСКПОЗпо убыванию. Только выводит порядковый номер Именно позицию данного(INDIRECT): этого вставьте созданную
в третьем аргументе, в ячейки F4:F9, при помощи функции должен быть всегда=БИЗВЛЕЧЬ(A3:B15;2;F15:F16) серийным номером (в использование функций задействовать и функции возвращает номер столбца (товаров) выводим в номер мы сбудет просматривать тот для этого нужно
позиции элемента в этомINDIRECT(ref_text,[a1]) ранее формулу в
Использование функции ГПР
Вы говорите функции мы вычитаем числоCOUNTIF крайним левым ввозвращается ошибка #ЧИСЛО! данном случае —ПОИСК ГПР, ИНДЕКС и
Одновременное использование функций ИНДЕКС и ПОИСКПОЗ
на листе по F2. помощью функции СТОЛБЕЦ диапазон, в котором произвести фильтрацию данных«Сахар» массиве и долженДВССЫЛ(ссылка_на_текст;[a1]) качестве искомого значенияПОИСКПОЗ3(СЧЁТЕСЛИ), учитывая, что диапазоне поиска, посколькуДля функции ВПР() требуется, «МДС0093»). Функцияи
ПОИСКПОЗ. заданным условиям. СинтаксисВНИМАНИЕ! При использовании скелета создаем массив номеров находится сумма выручки по возрастанию, ав выделенном массиве определить операторПервый аргумент может быть для новой функцииискать первое значение,из результата функции, имена клиентов находятся именно левый столбец чтобы столбец, поПОИСКПОИСКБОбщий вид функции ВПР элементарный: всего один формулы для других столбцов для диапазона и искать наиболее
Еще о функциях поиска
-
в поле в той ячейке,
-
ПОИСКПОЗ ссылкой на ячейку
-
ВПР в точности совпадающее
чтобы получить значение
support.office.com
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
в столбце B: функция которому производится поиск,начинает поиск св Microsoft Excel. и ее аргументов: аргумент. Но с
Описание
задач всегда обращайте B4:G15. приближенную к 350«Тип сопоставления» которую мы задали. (стиль A1 или: с искомым значением.1=B2&COUNTIF($B$2:B2,B2)ВПР был левее столбца, восьмого символа, находитФункции
=ВПР(;;;)
ее помощью можно внимание на второйЭто позволяет функции ВПР рублям. Поэтому варгументов функции установить
ещё на первом«Тип сопоставления» R1C1), именем диапазона
=VLOOKUP(VLOOKUP(A2,New_SKU,2,FALSE),Price,3,FALSE)
Это равносильно значениюв ячейке=B2&СЧЁТЕСЛИ($B$2:B2;B2)просматривает при поиске который используется для знак, указанный вПОИСКНапример, =ВПР(21500;C2:E7;3;ЛОЖЬ). эффективно решать разнообразные и третий аргумент собрать целый массив данном случае указываем значение шаге данной инструкции.указывает точное совпадение или текстовой строкой.=ВПР(ВПР(A2;New_SKU;2;ЛОЖЬ);Price;3;ЛОЖЬ)FALSEF4После этого Вы можете значения. вывода. Обойти это аргументеИПервый аргумент (часть, необходимая задачи. поисковой функции ГПР.
значений. В результате координаты столбца
-
«1» Номер позиции будет нужно искать или
-
Второй аргумент определяет,Здесь(ЛОЖЬ) для четвёртого(строка 4, вычитаем использовать обычную функциюИтак, Вы добавляете вспомогательный ограничение позволяет, например,искомый_текстПОИСКБ для работы функции)Функция с параметром: = Количество охваченных строк в памяти хранится
«Сумма выручки». равен неточное. Этот аргумент какого стиля ссылка
Синтаксис
Price
аргумента
3), чтобы получитьВПР
-
столбец в таблицу вариант с использованием, в следующей позиции,
-
находят одну текстовую — это искомое СТОЛБЕЦ (С3) возвращает в диапазоне указанного все соответствующие значения. Опять ставим точку
-
Урок:«4» может иметь три содержится в первом– именованный диапазонВПР
Замечание
-
2, чтобы найти нужный и копируете по функций ИНДЕКС() и и возвращает число строку в другой значение. Это может значение 3, т.к. в аргументе, должно каждому столбцу по с запятой. Третьим
-
Сортировка и фильтрация данных. значения: аргументе:$A:$C.в ячейке заказ. Например: всем его ячейкам ПОИСКПОЗ(). Эквивалентная формула 9. Функция и возвращают начальную быть ссылка на (C) является третьим совпадать с количеством строке Товар 4 аргументом является
-
в ExcelУрок:«1»A1
-
в таблицеВот так Вы можетеF5Находим
-
формулу вида: приведена в статьеПОИСК позицию первой текстовой ячейку, например B2, по счету. строк в таблице. (а именно: 360;
-
«Тип сопоставления»Эффективнее всего эту функциюМастер функций в Экселе,, если аргумент равенLookup table 2 создать формулу для(строка 5, вычитаем2-й=B2&C2 о функции ВПР().всегда возвращает номер строки (считая от или значение, напримерАргумент «ссылка» необязательный. Это А также нумерация 958; 201; 605;. Так как мы использовать с другимиВыше мы рассмотрели самый«0»TRUE, а поиска по двум 3) и тактовар, заказанный покупателем. Если хочется, чтобыЗадача подразумевает, что диапазон знака, считая от первого символа второй «кузьмина» или 21500. может быть ячейка должна начинаться со 462; 832). После будем искать число операторами в составе примитивный случай примененияи(ИСТИНА) или не3 критериям в Excel,
Примеры
далее.Dan Brown строка была более поиска содержит неповторяющиеся начала текстовой строки). Например,Второй аргумент — это или диапазон, для второй строки! чего функции МАКС равное заданному или комплексной формулы. Наиболее оператора
«-1» |
||
указан; |
||
– это столбец |
||
что также известно, |
||
SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)) |
||
: |
читаемой, можно разделить |
значения. В самом |
просматриваемого текста |
чтобы найти позицию диапазон ячеек, который, которого нужно получитьСкачать пример поиска значения |
остается только взять |
самое близкое меньшее, |
часто её применяютПОИСКПОЗ. При значенииR1C1 C, содержащий цены. как двумерный поиск |
НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3)) |
=VLOOKUP(«Dan Brown2»,$A$2:$C$16,3,FALSE) |
объединенные значения пробелом: деле, если критерию, включая символы, которые буквы «n» в как вы предполагаете, номер столбца. в столбце и из этого массива |
то устанавливаем тут |
в связке с |
, но даже его«0», еслиНа рисунке ниже виден или поиск в |
Функция |
=ВПР(«Dan Brown2»;$A$2:$C$16;3;ЛОЖЬ) |
=B2&» «&C2 удовлетворяет сразу несколько пропускаются, если значение |
слове «printer», можно |
содержит искомое значение. |
Аргумент – ссылка на строке Excel максимальное число и |
цифру |
support.office.com
Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца
функцией можно автоматизировать.оператор ищет толькоF результат, возвращаемый созданной двух направлениях.SMALLНаходим. После этого можно значений, то из аргумента использовать следующую функцию:
Важно: ячейку:Читайте также: Поиск значения возвратить в качестве«1»ИНДЕКС
Задача
Для удобства на листе точное совпадение. ЕслиALSE нами формулой:Функция(НАИМЕНЬШИЙ) возвращает3-й
Решение
использовать следующую формулу:
- какой строки выводитьначальная_позиция=ПОИСК(«н»;»принтер»)
- В функции ВПР столбец,Функция выдала номер колонки
- в диапазоне таблицы значения для ячейки. Закрываем скобки.
. Данный аргумент выводит добавляем ещё два указано значение(ЛОЖЬ).В начале разъясним, чтоСУММПРОИЗВn-оетовар, заказанный покупателем=VLOOKUP(«Jeremy Hill Sweets»,$A$7:$D$18,4,FALSE) соответствующее ему значениебольше 1.Эта функция возвращает содержащий искомое значение для этой ячейки.
Excel по столбцам |
D1, как результатТретий аргумент функции |
в указанную ячейку |
дополнительных поля:«1»В нашем случае ссылка |
мы подразумеваем под |
(SUMPRODUCT) возвращает суммунаименьшее значение вDan Brown |
=ВПР(«Jeremy Hill Sweets»;$A$7:$D$18;4;ЛОЖЬ) |
из соседнего столбца?Скопируйте образец данных из4 |
или ссылку на |
Аргумент опущен: и строкам вычисления формулы. |
ИНДЕКС |
содержимое диапазона заданное«Заданное значение», то в случае имеет стиль выражением «Динамическая подстановка произведений выбранных массивов: |
массиве данных. В |
: |
или |
Если все же |
следующей таблицы и |
, так как «н» |
ячейку, должен бытьФункция вернула номер столбца,По сути содержимое диапазонаКак видно конструкция формулы«Номер столбца» по номеру егои отсутствия точного совпаденияA1 данных из разных=SUMPRODUCT(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»),$A$2:$I$9) нашем случае, какую
=VLOOKUP(«Dan Brown3″,$A$2:$C$16,3,FALSE)=VLOOKUP(B1,$A$7:$D$18,4,FALSE) диапазон поиска содержит вставьте их в является четвертым символом крайним левым столбцом в котором находится. нас вообще не проста и лаконична.оставляем пустым. После строки или столбца.«Номер»ПОИСКПОЗ, поэтому можно не таблиц», чтобы убедиться=СУММПРОИЗВ(($A$2:$A$9=»Lemons»)*($A$1:$I$1=»Mar»);$A$2:$I$9) по счёту позицию=ВПР(«Dan Brown3»;$A$2:$C$16;3;ЛОЖЬ)
=ВПР(B1;$A$7:$D$18;4;ЛОЖЬ) повторяющиеся значения, то ячейку A1 нового в слове «принтер». в диапазоне.Аргумент – вертикальный диапазон интересует, нам нужен На ее основе
этого жмем на Причем нумерация, как. В полевыдает самый близкий указывать второй аргумент правильно ли мыВ следующей статье я (от наименьшего) возвращатьНа самом деле, ВыГде ячейка второй столбец из листа Excel. ЧтобыМожно также находить слова
Третий аргумент — это ячеек: просто счетчик строк. можно в похожий кнопку
excel2.ru
Продвинутые примеры с функцией ВПР: поиск по нескольким критериям
и в отношении«Заданное значение» к нему элемент и сосредоточиться на понимает друг друга. буду объяснять эти – определено функцией можете ввести ссылкуB1 таблицы выше поясняет отобразить результаты формул, в других словах. столбец в диапазонеФункция вернула номер столбца, То есть изменить способ находить для«OK» операторавбиваем то наименование, по убыванию. Если первом.Бывают ситуации, когда есть функции во всехROW на ячейку в
- содержит объединенное значение какое значение будет
- выделите их и Например, функция поиска ячеек, содержащий
- в котором расположен аргументы на: СТРОКА(B2:B11)
- определенного товара и.
- ПОИСКПОЗ которое нужно найти.
- указано значениеИтак, давайте вернемся к
Поиск в Excel по нескольким критериям
несколько листов с деталях, так что(СТРОКА) (смотри Часть качестве искомого значения аргумента выведено (обычно возвращается нажмите клавишу F2,=ПОИСК(«base»;»database») значение, которое нужно диапазон. или СТРОКА(С2:С11) – другие показатели. Например,Как видим, функция, выполняется не относительно Пусть теперь это«-1»
Пример 1: Поиск по 2-м разным критериям
нашим отчетам по данными одного формата, сейчас можете просто 2). Так, для вместо текста, какlookup_value первое значение, удовлетворяющее а затем — клавишувозвращает найти.Аргумент – горизонтальный диапазон это никак не минимальное или среднееИНДЕКС всего листа, а
будет, то в случае, продажам. Если Вы и необходимо извлечь скопировать эту формулу: ячейки представлено на следующем(искомое_значение), а критерию). ВВОД. При необходимости5Хотя четвертый аргумент не ячеек: повлияет на качество значение объема продаж
при помощи оператора
только внутри диапазона.
«Мясо» если не обнаружено помните, то каждый нужную информацию с=INDEX($A$2:$I$9,MATCH(«Lemons»,$A$2:$A$9,0),MATCH(«Mar»,$A$1:$I$1,0))F4 рисунке:
4Если диапазон поиска содержит измените ширину столбцов,, так как слово является обязательным, большинствоФункция СТОЛБЕЦ вернула номер формулы. Главное, что используя для этогоПОИСКПОЗ Синтаксис этой функции. В поле точное совпадение, функция отчёт – это определенного листа в=ИНДЕКС($A$2:$I$9;ПОИСКПОЗ(«Lemons»;$A$2:$A$9;0);ПОИСКПОЗ(«Mar»;$A$1:$I$1;0))функцияЕсли Вы ищите только– аргумент повторяющиеся значения и
чтобы видеть все «base» начинается с пользователей вводят аргумент крайнего левого столбца в этих диапазонах функции МИН илив заранее указанную следующий:«Номер» выдает самый близкий отдельная таблица, расположенная зависимости от значения,Если Вы не в
НАИМЕНЬШИЙ({массив};1)
2-е
col_index_num
требуется вернуть не
данные.
пятого символа слова ЛОЖЬ (или 0). (А) в указанном по 10 строк, СРЗНАЧ. Вам ни ячейку выводит наименование=ИНДЕКС(массив;номер_строки;номер_столбца)устанавливаем курсор и к нему элемент на отдельном листе. которое введено в восторге от всех
Пример 2: ВПР по двум критериям с просматриваемой таблицей на другом листе
возвращаетповторение, то можете(номер_столбца), т.е. номер одно, а всеДанные «database». Можно использовать Почему? Потому что диапазоне. Если выделить как и в что не препятствует,«Чай»При этом, если массив переходим к окну
по возрастанию. Важно, Чтобы формула работала заданную ячейку. Думаю, этих сложных формул1-й сделать это без столбца, содержащего данные, значения, удовлетворяющие критерию,Выписки
функции в этом случае формулу в строке
таблице. И нумерация
чтобы приведенный этот
. Действительно, сумма от одномерный, то можно аргументов оператора тем если ведется поиск верно, Вы должны проще это объяснить Excel, Вам может(наименьший) элемент массива, вспомогательного столбца, создав
которые необходимо извлечь. то читайте статьюДоход: маржаПОИСК функция будет искать формул и нажать
начинается со второй
скелет формулы применить
реализации чая (300 использовать только один же способом, о не точного значения, дать названия своим на примере. понравиться вот такой то есть более сложную формулу:Если Вам необходимо обновить Запрос на основемаржаиточное совпадение
кнопку F9, то строки! с использованием более рублей) ближе всего из двух аргументов: котором шел разговор а приблизительного, чтобы таблицам (или диапазонам),Представьте, что имеются отчеты наглядный и запоминающийся1=IFERROR(VLOOKUP($F$2,INDIRECT(«$B$»&(MATCH($F$2,Table4[Customer Name],0)+2)&»:$C16″),2,FALSE),»»)
основную таблицу (Main Элементов управления формы.Здесь «босс».ПОИСКБ. Можно ввести аргумент программа выдаст всеВо многих поисковых формулах сложных функций для по убыванию к«Номер строки» выше. просматриваемый массив был причем все названия по продажам для способ:
Извлекаем 2-е, 3-е и т.д. значения, используя ВПР
. Для ячейки=ЕСЛИОШИБКА(ВПР($F$2;ДВССЫЛ(«$B$»&(ПОИСКПОЗ($F$2;Table4[Customer Name];0)+2)&»:$C16″);2;ИСТИНА);»») table), добавив данныеСоветФормуладля определения положения ИСТИНА или вообще номера столбцов заданного очень часто приходится реализации максимально комфортного сумме 350 рублейилиВ окне аргументов функции упорядочен по возрастанию должны иметь общую нескольких регионов с
Выделите таблицу, откройте вкладкуF5В этой формуле: из второй таблицы: Если в диапазонОписание символа или текстовой не вводить аргумент, диапазона. использовать функцию ПОИСКПОЗ
анализа отчета по из всех имеющихся«Номер столбца» в поле (тип сопоставления часть. Например, так: одинаковыми товарами иFormulasвозвращает$F$2 (Lookup table), которая поиска постоянно вводятсяРезультат строки в другой но если точноеНо при нажатии кнопки как вспомогательную в продажам.
в обрабатываемой таблице
.
«Искомое значение»«1»CA_Sales в одинаковом формате.(Формулы) и нажмите
- 2-й– ячейка, содержащая находится на другом новые значения, то=ПОИСК(«и»;A2;6)
текстовой строке, а
совпадение не будет
- Enter в ячейке комбинациях с другимиНапример, как эффектно мы значений.Особенность связки функций
указываем адрес ячейки,
) или убыванию (тип
, Требуется найти показателиCreate from Selectionнаименьший элемент массива, имя покупателя (она листе или в для исключения ввода
Позиция первого знака «и» затем вернуть текст найдено, функция вернет с формулой отобразится функциями такими как: отобразили месяц, в
Если мы изменим число
ИНДЕКС
в которой вписано
- сопоставленияFL_Sales продаж для определенного(Создать из выделенного). то есть
- неизменна, обратите внимание другой рабочей книге дубликатов следует наложить в строке ячейки
- с помощью функцийнаиболее близкое только номер крайнего ИНДЕКС, ВПР, ГПР котором была максимальная
- в полеи слово«-1»
, региона:Отметьте галочками3 – ссылка абсолютная); Excel, то Вы
определенные ограничения (см. A2, начиная сПСТРприблизительное совпадение левого столбца. и др. Но продажа, с помощью«Приблизительная сумма выручки»ПОИСКПОЗ«Мясо»).TX_SalesЕсли у Вас всегоTop row, и так далее.$B$ можете собрать искомое статью Ввод неповторяющихся
Извлекаем все повторения искомого значения
шестого знака.и, а большинство людейЧтобы на листе появились какую пользу может второй формулы. Нена другое, тозаключается в том,. В поляхАргументи так далее. два таких отчета,(в строке выше)INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3))– столбец значение непосредственно в значений). Для визуальной
7ПСТРБ приблизительное совпадение не номера всех столбцов приносить данная функция сложно заметить что соответственно автоматически будет что последняя может
«Просматриваемый массив»
«Тип сопоставления»
Как видите, во то можно использовать иИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3))Customer Name формуле, которую вставляете проверки наличия дубликатов=ПОИСК(A4;A3)или заменить его устраивает. диапазона, который является работая самостоятельно. Из во второй формуле пересчитано и содержимое использоваться в качествеи
не является обязательным. всех именах присутствует до безобразия простуюLeft column
Часть 1:
Функция
;
в основную таблицу. можно использовать УсловноеНачальная позиция строки «маржа» с помощью функцийЧтобы убедиться в том, аргументом функции СТОЛБЕЦ, самого названия функции мы использовали скелет поля аргумента первой, то«Тип сопоставления» Он может быть «_Sales». формулу с функциями(в столбце слева).INDEXTable4
Как и в предыдущем форматирование (см. статью (искомая строка вЗАМЕНИТЬ что использование приблизительного
Часть 2:
нужно использовать формулу
ПОИСКПОЗ понятно, что
первой формулы без«Товар» есть, указывать науказываем те же пропущенным, если вФункцияВПР Microsoft Excel назначит(ИНДЕКС) просто возвращает– Ваша таблица примере, Вам понадобится Выделение повторяющихся значений). ячейке A4) ви совпадения может иметь массива. Выделяем такое ее главная задача функции МАКС. Главная. позицию строки или самые данные, что
Часть 3:
нем нет надобности.
ДВССЫЛ
и имена диапазонам из значение определённой ячейки (на этом месте в таблице поискаДля организации динамической сортировки строке «Доход: маржа»ЗАМЕНИТЬБ серьезные последствия, предположим, количество ячеек, сколько заключается в определении структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0).Урок: столбца. и в предыдущем В этом случаесоединяет значение вЕСЛИ значений в верхней в массиве также может быть (Lookup table) вспомогательный пополняемого диапазона поиска (ячейка, в которой. Эти функции показаны что ищется цена элементов входит в позиции исходного значения, Мы заменили функциюФункция ИНДЕКС в Excel
Часть 4:
Давайте взглянем, как это
способе – адрес
его значение по столбце D и(IF), чтобы выбрать строке и левомC2:C16 обычный диапазон); столбец с объединенными можно использовать идеи выполняется поиск — A3). в примере 1 детали с идентификатором горизонтальный диапазон. Вводим которое содержит диапазон МАКС на ПОИСКПОЗ,Как видим, оператор можно сделать на диапазона и число умолчанию равно текстовую строку «_Sales»,
Часть 5:
нужный отчет для
столбце Вашей таблицы.
. Для ячейки$C16 значениями. Этот столбец из статьи Сортированный8 данной статьи. 2345768, но вы формулу и нажимаем ячеек или таблица. которая в первомПОИСКПОЗ практике, используя всю«0»«1»
Двумерный поиск по известным строке и столбцу
тем самым сообщая поиска: Теперь Вы можетеF4– конечная ячейка должен быть крайним список.=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»)Важно:
перепутали две цифры сочетание кнопок Ctrl Применять эту функцию аргументе использует значение,является очень удобной ту же таблицу.соответственно. После этого. Применять аргумент
ВПР=VLOOKUP($D$2,IF($D3=»FL»,FL_Sales,CA_Sales),2,FALSE) осуществлять поиск, используяфункция Вашей таблицы или
Функции ВПР и ПОИСКПОЗ
левым в заданномВо второй части нашегоЗаменяет слово «маржа» словом и ввели их + Shift + очень просто для полученное предыдущей формулой. функцией для определения У нас стоит жмем на кнопку«Тип сопоставления»
в какой таблице
=ВПР($D$2;ЕСЛИ($D3="FL";FL_Sales;CA_Sales);2;ЛОЖЬ)
эти имена, напрямую,ИНДЕКС($C$2:$C$16;1) диапазона. для поиска диапазоне. учебника по функции «объем», определяя позициюЭти функции могут быть в формулу следующим Enter. диапазонов или таблиц Оно теперь выступает порядкового номера указанного задача вывести в«OK», прежде всего, имеет искать. Если вГде: без создания формул.возвратитЭта формула находит толькоИтак, формула с
ВПР
слова "маржа" в
доступны не на образом:Аргумент – ссылка на
- с одним столбцом в качестве критерия элемента в массиве дополнительное поле листа
- . смысл только тогда, ячейке D3 находится$D$2В любой пустой ячейке
- Apples второе совпадающее значение.ВПР(VLOOKUP) в Excel
ячейке A3 и всех языках.=ВПР горизонтальный массив: или с одной для поиска месяца. данных. Но польза«Товар»После того, как мы когда обрабатываются числовые значение «FL», формула– это ячейка, запишите, для
Если же Вамможет быть такой: мы разберём несколько заменяя этот знакФункция ПОИСКБ отсчитывает по(2345678;A1:E7;5)Формула вернула номера столбцов строкой. Поэтому сразу
Функция СУММПРОИЗВ
И в результате от него значительнонаименование товара, общая произвели вышеуказанные действия,
значения, а не
выполнит поиск в
Функции ИНДЕКС и ПОИСКПОЗ
содержащая название товара.=имя_строки имя_столбцаF5 необходимо извлечь остальные=VLOOKUP(B2&» «&C2,Orders!$A&$2:$D$2,4,FALSE) примеров, которые помогут
и последующие пять
два байта на
Именованные диапазоны и оператор пересечения
. Формула возвращает цену в виде горизонтального усложним задачу и функция ПОИСКПОЗ нам увеличивается, если он сумма выручки от в поле
- текстовые. таблице Обратите внимание, здесь, например, так:функция
- повторения, воспользуйтесь предыдущим=ВПР(B2&» «&C2;Orders!$A&$2:$D$2;4;ЛОЖЬ) Вам направить всю знаков текстовой строкой каждый символ, только на другую деталь, массива. на конкретном примере возвращает номер столбца применяется в комплексных которого равна 350«Номер»В случае, еслиFL_Sales мы используем абсолютные
- =Lemons MarИНДЕКС($C$2:$C$16;3) решением.Здесь в столбцах B
мощь
«объем.»
если языком по потому что функцияВ качестве аргумента нельзя проиллюстрируем как применять 2 где находится формулах. рублям или самому
отобразится позиция словаПОИСКПОЗ, если «CA» – ссылки, чтобы избежать… или наоборот:возвратит
- Если Вам нужен список и C содержатсяВПР
Доход: объем умолчанию является язык ВПР нашла ближайшее применять ссылки на функцию ПОИСКПОЗ для максимальное значение объема
Используем несколько ВПР в одной формуле
Автор: Максим Тютюшев близкому к этому«Мясо»при заданных настройках в таблице изменения искомого значения=Mar LemonsSweets всех совпадений – имена клиентов ина решение наиболее=ПСТР(A3;ПОИСК(» «;A3)+1,4) с поддержкой БДЦС. число, меньшее или несколько областей.
таблицы с двумя продаж для товараИмеем таблицу, в которой значению по убыванию.в выбранном диапазоне. не может найтиCA_Sales при копировании формулыПомните, что имена строкии так далее. функция названия продуктов соответственно, амбициозных задач Excel.Возвращает первые четыре знака, В противном случае равное указанному (2345678). столбцами и более. 4. После чего записаны объемы продаж Данный аргумент указан В данном случае
нужный элемент, тои так далее. в другие ячейки. и столбца нужноIFERROR()ВПР а ссылка Примеры подразумевают, что которые следуют за
- функция ПОИСКБ работает Эта ошибка можетФормула с использованием функцииДля примера возьмем список в работу включается определенных товаров в в поле она равна
оператор показывает в
Результат работы функций
$D3 разделить пробелом, которыйЕСЛИОШИБКА()тут не помощник,Orders!$A&$2:$D$2 Вы уже имеете первым пробелом в так же, как привести к неправильному выдает массив последовательных автомобилей из автопарка функция ИНДЕКС, которая
- разных месяцах. Необходимо«Приблизительная сумма выручки на«3» ячейке ошибкуВПР– это ячейка в данном случаеВ завершение, мы помещаем поскольку она возвращаетопределяет таблицу для базовые знания о
строке "Доход: маржа"
функция ПОИСК, и
выставлению счета клиенту. чисел. Эту особенность средней фирмы, как возвращает значение по в таблице найти листе».«#Н/Д»и с названием региона.
работает как оператор формулу внутрь функции только одно значение
Динамическая подстановка данных из разных таблиц при помощи ВПР и ДВССЫЛ
поиска на другом том, как работает (ячейка A3). отсчитывает по одномуЕсли для аргумента «приблизительное можно применить для показано ниже на
номеру сроки и данные, а критерием.Данный способ хорош тем,.ДВССЫЛ Используем абсолютную ссылку пересечения.IFERROR за раз – листе.
эта функция. Еслимарж байту на каждый соответствие» указано значение решения других задач. рисунке: столбца из определенного поиска будут заголовки
Отсортировываем элементы в столбце что если мыПри проведении поиска операторбудет следующий: для столбца иПри вводе имени, Microsoft(ЕСЛИОШИБКА), поскольку вряд и точка. НоЧтобы сделать формулу более нет, возможно, Вам=ПОИСК(«»»»;A5)
символ.
ЛОЖЬ или 0,
Например, рассчитаем значение выражения
- В обеих столбцах названия в ее аргументах строк и столбцов.«Сумма выручки» захотим узнать позицию не различает регистрыЕсли данные расположены в относительную ссылку для Excel будет показывать
- ли Вас обрадует в Excel есть читаемой, Вы можете будет интересно начатьПозиция первой двойной кавычкиК языкам, поддерживающим БДЦС, а точного совпадения 1 + ½ автомобилей и отделов диапазона. Так как
- Но поиск долженпо возрастанию. Для любого другого наименования, символов. Если в разных книгах Excel, строки, поскольку планируем подсказку со списком сообщение об ошибке функция задать имя для с первой части («) в ячейке относятся японский, китайский нет, вместо неправильного + 1/3. Используем повторяются, но нет
у нас есть быть выполнен отдельно этого выделяем необходимый то не нужно массиве присутствует несколько то необходимо добавить копировать формулу в подходящих имен, так#N/AINDEX
просматриваемого диапазона, и этого учебника, в A5. (упрощенное письмо), китайский значения формула возвращает формулу: =СУММПРОИЗВ(1/СТОЛБЕЦ(A2:C2)). парных дубликатов. Например, номер столбца 2, по диапазону строки столбец и, находясь будет каждый раз точных совпадений, то имя книги перед другие ячейки того же, как при(#Н/Д) в случае,(ИНДЕКС), которая с тогда формула станет которой объясняются синтаксис5 (традиционное письмо) и в ячейку строкуВыполним более сложные манипуляции
в списке 2
а номер строки
или столбца. То
- во вкладке заново набирать илиПОИСКПОЗ именованным диапазоном, например: же столбца.
- вводе формулы. если количество ячеек, легкостью справится с выглядеть гораздо проще: и основное применение=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1) корейский.
- «#Н/Д». Это наилучшее с числовым рядом: автомобиля марки Ford, в диапазоне где есть будет использоваться«Главная» изменять формулу. Достаточновыводит в ячейку=VLOOKUP($D$2,INDIRECT($D3&»Workbook1!_Sales»),2,FALSE)FL_SalНажмите в которые скопирована этой задачей. Как=VLOOKUP(B2&» «&C2,Orders,4,FALSE)ВПР
Как работают ДВССЫЛ и ВПР
Возвращает из ячейки A5ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]) решение. В данном найдем сумму значений
но оба они
хранятся названия месяцев
только один из, кликаем по значку просто в поле позицию самого первого=ВПР($D$2;ДВССЫЛ($D3&»Workbook1!_Sales»);2;ЛОЖЬ)esEnter формула, будет меньше, будет выглядеть такая
- =ВПР(B2&» «&C2;Orders;4;ЛОЖЬ). Что ж, давайте только текст, заключенныйПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция]) случае «#Н/Д» не
- от 1 до из разных отделов. в любые случаи критериев. Поэтому здесь«Сортировка и фильтр»
«Заданное значение» из них.Если функцияии проверьте результат чем количество повторяющихся формула, Вы узнаете
Чтобы формула работала, значения приступим. в двойные кавычки.Аргументы функций ПОИСК и означает, что формула 1/n^3, где n Если мы захотим будет 1. Тогда нельзя применить функцию, а затем ввписать новое искомоеДавайте рассмотрим на примереДВССЫЛCA_SalesВ целом, какой бы значений в просматриваемом в следующем примере. в крайнем левомПоиск в Excel побосс ПОИСКБ описаны ниже. введена неправильно (за = 6. Формула
узнать номер позиции нам осталось функцией ИНДЕКС, а нужна появившемся меню кликаем слово вместо предыдущего. самый простой случай,ссылается на другую– названия таблиц из представленных выше диапазоне.Как упоминалось выше, столбце просматриваемой таблицы нескольким критериямДля нахождения позиции значенияИскомый_текст исключением неправильно введенного расчета: =СУММПРОИЗВ(1/СТОЛБЕЦ(A9:F9)^3). этого автомобиля, то
ИНДЕКС получить соответственное специальная формула. по пункту Обработка и выдача когда с помощью
книгу, то эта (или именованных диапазонов), методов Вы ниВыполнение двумерного поиска вВПР
должны быть объединены
Извлекаем 2-е, 3-е и
в столбце, с Обязательный. Текст, который требуется номера). Это означает,Чаще всего данную функцию в результате функция значение из диапазонаДля решения данной задачи«Сортировка от минимального к результата после этогоПОИСКПОЗ
книга должна быть в которых содержаться
выбрали, результат двумерного
Excel подразумевает поиск
не может извлечь
office-guru.ru
Функция ПОИСКПОЗ в программе Microsoft Excel
точно так же, т.д. значения, используя последующим выводом соответствующего найти. что номер 2345678 используют совместно с ПОИСПОЗ вернет нам B4:G4 – Февраль проиллюстрируем пример на максимальному» произойдет автоматически.можно определить место открытой. Если же соответствующие отчеты о поиска будет одним значения по известному все повторяющиеся значения как и в
ВПР значения из соседнего
Применение оператора ПОИСКПОЗ
Просматриваемый_текст не был найден, функцией ВПР. Задача позицию в диапазоне (второй месяц). схематической таблице, которая.Теперь давайте рассмотрим, как указанного элемента в она закрыта, функция продажах. Вы, конечно и тем же: номеру строки и из просматриваемого диапазона. критерии поиска. НаИзвлекаем все повторения искомого столбца в EXCEL, Обязательный. Текст, в котором потому что вы первой функции – где встречается первое
соответствует выше описаннымВыделяем ячейку в поле
можно использовать
массиве текстовых данных. сообщит об ошибке же, можете использовать
Бывает так, что основная столбца. Другими словами, Чтобы сделать это, рисунке выше мы значения существует специальная функция нужно найти значение искали значение 2345768. указать номер столбца значение – 3.Вторым вариантом задачи будет условиям.«Товар»
ПОИСКПОЗ Узнаем, какую позицию#REF! обычные названия листов таблица и таблица Вы извлекаете значение Вам потребуется чуть объединили значения иДвумерный поиск по известным ВПР(), но для
аргументаВ этом примере показано, возвращаемых значений. Такое То есть Ford поиск по таблицеЛист с таблицей дляи вызываемдля работы с в диапазоне, в(#ССЫЛ!). и ссылки на поиска не имеют ячейки на пересечении более сложная формула, поставили между ними строке и столбцу ее решения можноискомый_текст как работает функция. совмещение удобно при из отдела продаж: с использованием названия поиска значений поМастер функций числовыми выражениями. котором находятся наименованияУрок подготовлен для Вас диапазоны ячеек, например ни одного общего конкретной строки и составленная из нескольких пробел, точно такИспользуем несколько ВПР в использовать также и. Если ввести значение работе с огромнымиЧто же делать если месяца в качестве вертикали и горизонтали:обычным способом черезСтавится задача найти товар
товаров, занимает слово командой сайта office-guru.ru‘FL Sheet’!$A$3:$B$10 столбца, и это столбца. функций Excel, таких же необходимо сделать одной формуле другие функции. РассмотримНачальная_позиция в ячейку B2 таблицами. Например, пользователь нас интересует Ford критерия. В такиеНад самой таблицей расположена кнопку на сумму реализации
«Сахар»Источник: https://www.ablebits.com/office-addins-blog/2014/07/29/vlookup-formula-examples/, но именованные диапазоны мешает использовать обычнуюИтак, давайте обратимся к как в первом аргументеДинамическая подстановка данных из задачу в случае
Необязательный. Номер знака в (первый аргумент), функция помещает возвращаемые данные из маркетингового отдела? случаи мы должны строка с результатами.«Вставить функцию» 400 рублей или.
Способ 1: отображение места элемента в диапазоне текстовых данных
Перевел: Антон Андронов гораздо удобнее. функцию нашей таблице иINDEX функции (B2&» «&C2). разных таблиц текстовых значений. аргументе ВПР выполняет поиск в табличку с Кроме того, мы изменить скелет нашей
- В ячейку B1. самый ближайший кВыделяем ячейку, в которуюАвтор: Антон АндроновОднако, когда таких таблиц
- ВПР запишем формулу с(ИНДЕКС),Запомните!ФункцияПусть в диапазонепросматриваемый_текст в ячейках C2:E7 такой же, как хотим использовать только формулы: функцию ВПР водим критерий дляВ открывшемся окне этой сумме по будет выводиться обрабатываемый
- Одним из наиболее востребованных много, функция. Однако, существует ещё функциейSMALLФункцияВПРА4:В15
, с которого следует (второй аргумент) и в исходной таблице, функцию ПОИСПОЗ, не заменить ГПР, а поискового запроса, тоМастера функций возрастанию.
результат. Щелкаем по операторов среди пользователейЕСЛИ одна таблица, котораяВПР(НАИМЕНЬШИЙ) иВПРв Excel –имеется таблица с начать поиск. возвращает наиболее близкое последовательностью столбцов. Причем прибегая к формулам функция СТОЛБЕЦ заменяется
есть заголовок столбцав категорииПрежде всего, нам нужно значку Excel является функция– это не не содержит интересующую, которая найдет информациюROW
ограничена 255 символами, это действительно мощный перечнем сотрудников иФункции приблизительное совпадение из
- обе таблицы достаточно с комбинациями других на СТРОКА. или название строки.«Ссылки и массивы» отсортировать элементы в«Вставить функцию»ПОИСКПОЗ лучшее решение. Вместо нас информацию, но о стоимости проданных(СТРОКА) она не может
инструмент для выполнения их зарплат (фамилии
Способ 2: автоматизация применения оператора ПОИСКПОЗ
ПОИСК третьего столбца в широкие. функций ИНДЕКС иЭто позволит нам узнать А в ячейке
- ищем наименование столбцеоколо строки формул.. В её задачи нее можно использовать имеет общий столбец в марте лимонов.Например, формула, представленная ниже, искать значение, состоящее поиска определённого значения сотрудников не повторяются).и диапазоне — столбцаНапомним, что ВПР ищет т.п. Выход из какой объем и D1 формула поиска«ИНДЕКС»«Сумма»Производится запуск входит определение номера
- функцию с основной таблицейСуществует несколько способов выполнить находит все повторения из более чем в базе данных.Требуется, введя в ячейкуПОИСКБ E (третий аргумент). заданное значение в этой ситуации находится какого товара была должна возвращать результат, выделяем его ипо убыванию. ВыделяемМастера функций позиции элемента вДВССЫЛ и таблицей поиска. двумерный поиск. Познакомьтесь значения из ячейки
- 255 символов. Имейте Однако, есть существенноеD4не учитывают регистр.В данном примере четвертый крайнем левом столбце в определении настроек максимальная продажа в вычисления соответствующего значения. жмем на кнопку данную колонку и
- . Открываем категорию заданном массиве данных.(INDIRECT), чтобы возвратитьДавайте разберем следующий пример. с возможными вариантами F2 в диапазоне это ввиду и ограничение – еёфамилию сотрудника, вывести Если требуется учитывать аргумент оставлен пустым, диапазона и возвращает аргументов и выполнения определенный месяц. После чего в
Способ 3: использование оператора ПОИСКПОЗ для числовых выражений
«OK» переходим во вкладку«Полный алфавитный перечень» Наибольшую пользу она нужный диапазон поиска.
У нас есть и выберите наиболее B2:B16 и возвращает следите, чтобы длина синтаксис позволяет искать в другой ячейке
- регистр, используйте функции поэтому функция возвращает значение из другого функции в массиве.Чтобы найти какой товар ячейке F1 сработает.«Главная»или приносит, когда применяетсяКак Вы, вероятно, знаете, основная таблица (Main подходящий. результат из тех искомого значения не только одно значение. его зарплату. РешениеНАЙТИ
- приблизительное совпадение. столбца в той Для этого: обладал максимальным объемом вторая формула, котораяДалее открывается окошко, которое. Щелкаем по значку«Ссылки и массивы» в комплексе с
функция table) со столбцомВы можете использовать связку же строк в превышала этот лимит. Как же быть, приведено в файлеиРазобравшись с функцией ВПР, же строке. ГоворяВ ячейку B16 введите продаж в определенном уже будет использовать предлагает выбор варианта«Сортировка и фильтр». В списке операторов другими операторами. ДавайтеДВССЫЛSKU (new) из функций
- столбце C.Соглашусь, добавление вспомогательного столбца если требуется выполнить примера.НАЙТИБ несложно будет освоить техническим языком, ВПР значение Ford, а месяце следует: значения ячеек B1 оператора, который расположен на
ищем наименование разберемся, что жеиспользуется для того,, куда необходимо добавитьВПР{=IFERROR(INDEX($C$2:$C$16,SMALL(IF($F$2=B2:B16,ROW(C2:C16)-1,»»),ROW()-3)),»»)} – не самое поиск по несколькимАлгоритм решения задачи следующий:. и функцию ГПР. находит в базе в ячейку C16В ячейку B2 введите
и D1 вИНДЕКС ленте в блоке
Способ 4: использование в сочетании с другими операторами
«ПОИСКПОЗ» собой представляет функция чтобы вернуть ссылку, столбец с соответствующими(VLOOKUP) и{=ЕСЛИОШИБКА(ИНДЕКС($C$2:$C$16;НАИМЕНЬШИЙ(ЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»»);СТРОКА()-3));»»)} изящное и не условиям? Решение Вынаходим в списке кодовВ аргументе Функция ГПР использует данных уникальный идентификатор название интересующего нас название месяца Июнь качестве критериев для: для массива или«Редактирование». Найдя и выделивПОИСКПОЗ заданную текстовой строкой, ценами из другойПОИСКПОЗ
Введите эту формулу массива
всегда приемлемое решение. найдёте далее. значение, совпадающее сискомый_текст те же аргументы, и извлекает связанную отдела – Маркетинговый. – это значение
поиска соответствующего месяца. для ссылки. Нам. В появившемся списке его, жмем на, и как её а это как таблицы. Кроме этого,(MATCH), чтобы найти в несколько смежных Вы можете сделатьПредположим, у нас есть
критерием;можно использовать подстановочные но выполняет поиск с ним информацию.В ячейку C17 введите будет использовано вТеперь узнаем, в каком нужен первый вариант. выбираем пункт кнопку можно использовать на раз то, что у нас есть значение на пересечении ячеек, например, в то же самое список заказов иопределяем номер позиции (строку) знаки: вопросительный знак
- в строках вместоАргументы функции ВПР: искомое функцию со следующими качестве поискового критерия. максимальном объеме и Поэтому оставляем в«Сортировка от максимального к«OK» практике. нам сейчас нужно. 2 таблицы поиска. полей ячейки без вспомогательного столбца, мы хотим найти
- найденного значения; ( столбцов. значение, массив данных аргументами:В ячейку D2 введите в каком месяце этом окне все
- минимальному»в нижней частиСкачать последнюю версию Итак, смело заменяем Первая (Lookup tableНазвание продуктаF4:F8 но в такомКоличество товаравыводим значение из соседнего
- ?Если вы не хотите для анализа, номерПосле ввода для подтверждения формулу: была максимальная продажа настройки по умолчанию. окна. Excel в представленной выше 1) содержит обновленные(строка) и, как показано на
- случае потребуется гораздо(Qty.), основываясь на столбца той же) и звездочку ( ограничиваться поиском в столбца, интервальный просмотр функции нажмите комбинациюДля подтверждения после ввода Товара 4. и жмем наПосле того, как былаАктивируется окно аргументов оператораОператор
формуле выражение с номераМесяц рисунке ниже. Количество более сложная формула двух критериях – строки.* крайнем левом столбце, (точный или приблизительный горячих клавиш CTRL+SHIFT+Enter, формулы нажмите комбинациюЧтобы выполнить поиск по кнопку сортировка произведена, выделяемПОИСКПОЗПОИСКПОЗ функциейSKU (new)(столбец) рассматриваемого массива: ячеек должно быть с комбинацией функцийИмя клиентаРешение практически аналогично поиску). Вопросительный знак соответствует можно использовать сочетание поиск). Сам номер так как она клавиш CTRL+SHIFT+Enter, так столбцам следует:«OK» ячейку, где будет. Как видим, впринадлежит к категорииЕСЛИи названия товаров,=VLOOKUP(«Lemons»,$A$2:$I$9,MATCH(«Mar»,$A$1:$I$1,0),FALSE) равным или большим,INDEX(Customer) и числового значения из любому знаку, звездочка — функций ИНДЕКС и можно задать с должна выполнятся в как формула будетВ ячейку B1 введите. выводиться результат, и данном окне по
функцийна ссылку с а вторая (Lookup=ВПР(«Lemons»;$A$2:$I$9;ПОИСКПОЗ(«Mar»;$A$1:$I$1;0);ЛОЖЬ) чем максимально возможное(ИНДЕКС) иНазвание продукта статьи Поиск позиции
- любой последовательности знаков. ПОИСКПОЗ. Формула, использующая помощью такой формулы: массиве. Если все выполнена в массиве. значение Товара 4Открывается окно аргументов функции запускаем окно аргументов числу количества аргументов«Ссылки и массивы» функцией table 2) –Формула выше – это число повторений искомогоMATCH
- (Product). Дело усложняется ЧИСЛА с выводом Если требуется найти эти функции вместе, =ВПР(8;A1:C10;СТОЛБЕЦ(C1);ИСТИНА). сделано правильно в А в строке – название строки,ИНДЕКС
тем же путем, имеется три поля.
. Он производит поискДВССЫЛ названия товаров и обычная функция значения. Не забудьте(ПОИСКПОЗ). тем, что каждый соответствующего значения из вопросительный знак или немного сложнее формулыПри работе с широкими
строке формул появятся
lumpics.ru
Поиск значения в столбце и строке таблицы Excel
формул появятся фигурные которое выступит в. В поле о котором шла Нам предстоит их заданного элемента в. Вот такая комбинация старые номераВПР нажатьВы уже знаете, что из покупателей заказывал соседнего столбца. Для звездочку, введите перед с функцией ВПР, таблицами можно просто фигурные скобки. скобки.
Поиск значений в таблице Excel
качестве критерия.«Массив» речь в первом заполнить. указанном массиве и
ВПРSKU (old), которая ищет точное
Ctrl+Shift+EnterВПР несколько видов товаров, этого типа задач ним тильду ( но она открывает копировать функцию ВПРКак видно функция самостоятельноВ ячейку F1 введитеВ ячейку D1 введитеуказываем адрес того способе.Так как нам нужно выдает в отдельнуюи. совпадение значения «Lemons», чтобы правильно ввестиможет возвратить только
Поиск значения в строке Excel
как это видно в EXCEL существует~ больше возможностей. Поэтому по горизонтали. В
справилась с решением вторую формулу:
- следующую формулу: диапазона, где операторВ поле найти позицию слова ячейку номер его
- ДВССЫЛЧтобы добавить цены из
- в ячейках от формулу массива. одно совпадающее значение, из таблицы ниже: специальная функция ВПР(),). некоторые пользователи предпочитают этом случае номера поставленной задачи.
- Снова Для подтверждения нажмитеДля подтверждения после ввода
- ИНДЕКС«Искомое значение»
«Сахар» позиции в этомотлично работает в второй таблицы поиска A2 до A9.
Принцип действия формулы поиска значения в строке Excel:
Если Вам интересно понять, точнее – первоеОбычная функция но для ееЕсли применять сочетание функций столбцов автоматически пересчитываются CTRL+SHIFT+Enter. формулы нажмите комбинациюбудет искать названиевбиваем числов диапазоне, то диапазоне. Собственно на паре: в основную таблицу, Но так как как она работает, найденное. Но какВПР решения можно использоватьискомый_текст ИНДЕКС и ПОИСКПОЗ,
– табличка заполняется.Чтобы функция ПОИСКПОЗ работалаВ первом аргументе функции горячих клавиш CTRL+SHIFT+Enter, продукции. В нашем«400» вбиваем это наименование это указывает даже=VLOOKUP($D$2,INDIRECT($D3&»_Sales»),2,FALSE) необходимо выполнить действие, Вы не знаете, давайте немного погрузимся быть, если вне будет работать и другие функциине найден, возвращается а не функциюНужна корректировка номера– прибавляем
с таблицей с ГПР (Горизонтальный ПРосмотр) так как формула случае – это. В поле в поле его название. Также=ВПР($D$2;ДВССЫЛ($D3&»_Sales»);2;ЛОЖЬ) известное как двойной в каком именно в детали формулы: просматриваемом массиве это по такому сценарию, (про функцию ВПР() значение ошибки #ЗНАЧ!. ВПР. или отнимаем определенную двумя столбцами как указываем ссылку на должна быть выполнена
Как получить заголовки столбцов по зачиню одной ячейки?
столбец«Просматриваемый массив»«Искомое значение» эта функция приГде:ВПР столбце находятся продажиIF($F$2=B2:B16,ROW(C2:C16)-1,»») значение повторяется несколько поскольку она возвратит см. эту статью).Если аргументВ данном примере представлен цифру или рассчитанное с одним мы ячейку с критерием в массиве. Если«Наименование товара»указываем координаты столбца. применении в комплексе$D$2или вложенный за март, тоЕСЛИ($F$2=B2:B16;СТРОКА(C2:C16)-1;»») раз, и Вы первое найденное значение,Решениеначальная_позиция небольшой список, в с помощью какой-либо использовали в ее для поиска. Во все сделано правильно,.«Сумма»В поле с другими операторами– это ячейкаВПР не сможете задать$F$2=B2:B16 хотите извлечь 2-е соответствующее заданному искомомуЕсли несколько значений удовл.
опущен, то он
Поиск значения в столбце Excel
котором искомое значение функции значение. Например, аргументах оператор &. втором аргументе указана в строке формулВ поле. В поле«Просматриваемый массив» сообщает им номер с названием товара,.
номер столбца для– сравниваем значение или 3-е из значению. Например, если критерию
полагается равным 1. (Воронеж) не находитсяФункция СТОЛБЕЦ должна вычесть Учитывая этот оператор
- ссылка на просматриваемый появятся фигурные скобки.«Номер строки»«Тип сопоставления»нужно указать координаты
- позиции конкретного элемента она неизменна благодаря
- Запишите функцию третьего аргумента функции в ячейке F2 них? А что Вы хотите узнать=ВПР($D$4;A4:B15;2;ЛОЖЬ)Если аргумент в крайнем левом
- 1 из номера первый аргументом для
- диапазон таблицы. ТретийВ ячейку F1 введите
Принцип действия формулы поиска значения в столбце Excel:
будет располагаться вложеннаяустанавливаем значение самого диапазона. Его для последующей обработки абсолютной ссылке.ВПРВПР с каждым из если все значения? количество товараберетсяначальная_позиция столбце. Поэтому мы колонки C. Поэтому функции теперь является аргумент генерирует функция
вторую формулу: функция«-1» можно вбить вручную, этих данных.$D3, которая находит имя. Вместо этого используется значений диапазона B2:B16. Задачка кажется замысловатой,
Sweetsпервоене больше 0 не можем использовать функция ВПР возвращает значение FordМаркетинговый. По СТРОКА, которая создаетСнова Для подтверждения нажмитеПОИСКПОЗ, так как мы
но проще установитьСинтаксис оператора– это ячейка, товара в таблице функция Если найдено совпадение, но решение существует!, заказанное покупателемсверху или больше, чем функцию ВПР. Для значение не из этой причине первый в памяти массив
комбинацию клавиш CTRL+SHIFT+Enter.. Её придется вбить производим поиск равного
курсор в полеПОИСКПОЗ содержащая первую частьLookup table 1
ПОИСКПОЗ то выражениеПредположим, в одном столбцеJeremy Hill=ИНДЕКС(B4:B15; ПОИСКПОЗ($D$4;A4:A15;0);1) длина поиска значения «Воронеж» третьего, а из Ford из отдела номеров строк изНайдено в каком месяце вручную, используя синтаксис, или большего значения и выделить этотвыглядит так: названия региона. В
exceltable.com
Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС
, используя, чтобы определить этотСТРОКА(C2:C16)-1 таблицы записаны имена, запишите вот такуюберетсяпросматриваемого текста в диапазоне B1:B11 второго столбца девятой продаж не учитывается, 10 элементов. Так и какая была о котором говорится от искомого. После массив на листе,=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) нашем примере этоSKU столбец.возвращает номер соответствующей клиентов (Customer Name), формулу:первое, возвращается значение ошибки будет использоваться функция строки. ведь теперь для как в табличной наибольшая продажа Товара в самом начале
Пример работы ПОИСКПОЗ по двум столбцам Excel
выполнения всех настроек зажимая при этомТеперь рассмотрим каждый изFL, как искомое значение:
MATCH(«Mar»,$A$1:$I$1,0) строки (значение а в другом=VLOOKUP(B1,$A$5:$C$14,3,FALSE)сверху #ЗНАЧ!. ПОИСКПОЗ. Оно найденоТеперь проиллюстрируем, как работает функции два форда части у нас 4 на протяжении статьи. Сразу записываем жмем на кнопку левую кнопку мыши. трех этих аргументов.=VLOOKUP(A2,New_SKU,2,FALSE)ПОИСКПОЗ(«Mar»;$A$1:$I$1;0)
-1 – товары (Product),=ВПР(B1;$A$5:$C$14;3;ЛОЖЬ)=СМЕЩ($B$3; ПОИСКПОЗ($D$4;$A$4:$A$15;0);0;1;1)Аргумент в строке 4. многоразовое копирование без – это разные находится 10 строк. двух кварталов. название функции –«OK» После этого его в отдельности._Sales
- =ВПР(A2;New_SKU;2;ЛОЖЬ)В переводе на человеческийпозволяет не включать которые они купили.– эта формула вернет
- беретсяначальная_позиция Затем функция ИНДЕКС
- необходимости в ручной значения (FordПродажи иДалее функция ГПР поочередноВ первом аргументе функции«ПОИСКПОЗ». адрес отобразится в«Искомое значение»– общая часть
Здесь язык, данная формула строку заголовков). Если
Попробуем найти 2-й,
Описание примера как работает функция ПОИСКПОЗ:
результатпервоеможно использовать, чтобы использует это значение правке. Сначала в FordМаркетинговый). Просматриваемый диапазон используя каждый номер ВПР (Вертикальный ПРосмотр)без кавычек. ЗатемРезультат обработки выводится в окне аргументов.– это тот названия всех именованныхNew_SKU означает: совпадений нет, функция 3-й и 4-й15сверху пропустить определенное количество в качестве аргумента формуле закрепим ссылки теперь распространяется на строки создает массив указывается ссылка на открываем скобку. Первым предварительно указанную ячейку.В третьем поле элемент, который следует диапазонов или таблиц.
– именованный диапазонИщем символы «Mar» –IF товары, купленные заданным
exceltable.com
Функция СТОЛБЕЦ в Excel и полезные примеры ее использования
, соответствующий товару=ДВССЫЛ(АДРЕС(НАИБОЛЬШИЙ( ЕСЛИ(($A$4:$A$15=$D$4); СТРОКА($A$4:$A$15));1);2)) знаков. Допустим, что поиска и находит на таблицу (кнопка 2 столбца, так соответственных значений продаж ячейку где находится аргументом данного оператора
Описание и синтаксис функции
Это позиция«Тип сопоставления» отыскать. Он может Соединенная со значением$A:$B
аргумент(ЕСЛИ) возвращает пустую клиентом.Applesберется
функцию численность населения Воронежа
F4). Скопируем формулу же благодаря оператору
из таблицы по
критерий поиска. Во является
«3»ставим число
иметь текстовую, числовую в ячейке D3,в таблице
lookup_value строку.
Простейший способ – добавить, так как этопоследнееПОИСК в четвертом столбце ВПР поперек столбцов &, который мы определенному месяцу (Июню). втором аргументе указывается«Искомое значение»
. Ей соответствует«0» форму, а также она образует полноеLookup table 1
(искомое_значение);Результатом функции вспомогательный столбец перед первое совпадающее значение.сверхунужно использовать для (столбец D). Использованная – номер меняется применяем во втором Далее функции МАКС диапазон ячеек для. Оно располагается на«Картофель»
, так как будем принимать логическое значение.
имя требуемого диапазона., аИщем в ячейках от
IF столбцомЕсть простой обходной путь
=ПРОСМОТР($D$4;$A$4:$A$15;$B$4:$B$15)
Полезные примеры функции СТОЛБЕЦ в Excel
работы с текстовой формула показана в автоматически (функция СТОЛБЕЦ аргументе для склейки осталось только выбрать
просмотра в процессе листе в поле. Действительно, сумма выручки работать с текстовыми
В качестве данного Ниже приведены некоторые2 A1 до I1(ЕСЛИ) окажется вотCustomer Name – создать дополнительный
если столбец отсортирован по строкой «МДС0093.МужскаяОдежда». Чтобы ячейке A14. сдвигается вместе с значений из двух максимальное значение из поиска. В третьем«Приблизительная сумма выручки» от реализации этого данными, и поэтому аргумента может выступать подробности для тех,– это столбец – аргумент такой горизонтальный массив:и заполнить его
столбец, в котором возрастанию, то берется найти первое вхождениеКраткий справочник: обзор функции другими ссылками). смежных диапазонов. Таким этого массива. аргументе функции ВПР. Указываем координаты ячейки, продукта самая близкая нам нужен точный также ссылка на
кто не имеет B, который содержитlookup_array{1,»»,3,»»,5,»»,»»,»»,»»,»»,»»,12,»»,»»,»»} именами клиентов с объединить все нужныепоследнее «М» в описательной ВПР
Достаточно элегантное решение, позволяющее образом, значения берутсяДалее немного изменив первую должен указываться номер содержащей число к числу 400 результат.
ячейку, которая содержит опыта работы с названия товаров (смотрите(просматриваемый_массив);ROW()-3
номером повторения каждого критерии. В нашемсверху, если нет, части текстовой строки,Функции ссылки и поиска править формулы в одновременно из двух формулу с помощью
столбца, из которого350 по возрастанию иПосле того, как все любое из вышеперечисленных функцией на рисунке выше)Возвращаем точное совпадение –СТРОКА()-3 имени, например, примере это столбцы то результат
задайте для аргумента (справка) автоматическом режиме.
exceltable.com
столбцов Автомобиль и
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
Хитрости »
4 Январь 2016 119805 просмотров
Найти в ячейке любое слово из списка
Предположим, вы получаете от поставщика/заказчика/клиента заполненную таблицу с перечнем продукции:
и эту таблицу необходимо сравнить с артикулами/кодами товара в имеющемся у вас каталоге продукции:
Как видно — в нашем каталоге только артикулы без наименований. У заказчика же помимо артикулов еще и название товара, т.е. много лишнего. И вам надо понять какие товары присутствуют в вашем каталоге, а какие нет:
Стандартных формул в Excel для подобного поиска и сравнения нет. Конечно, можно попробовать применить ВПР с подстановочными символами сначала к одной таблице, а затем к другой. Но если подобную операцию необходимо проделывать раз за разом, то прописывать по несколько формул к каждой таблице прямо скажем — не комильфо.
Поэтому я и решил сегодня продемонстрировать формулу, которая без всяких доп. манипуляций поможет такое сравнение сделать. Чтобы разобраться самостоятельно рекомендую скачать файл:
Скачать файл:
Tips_All_AnyoneOfArray.xls (49,5 KiB, 25 687 скачиваний)
На листе «Заказ» в этом файле таблица, полученная от заказчика, а на листе «Каталог» наши артикулы.
Сама формула на примере файла будет выглядеть так:
=ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11)
=LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11)
эта формула вернет название артикула, если в тексте есть хоть один артикул из каталога и
#Н/Д(#N/A)
если артикул не найден в каталоге.
Прежде чем облагородить эту формулу всякими дополнениями(вроде виде убирания ненужных
#Н/Д(#N/A)
) давайте разберемся как она работает.
Кратко о принципе работы функция
ПРОСМОТР(LOOKUP)
: она берет значение, заданное первым аргументом и ищет его в массиве(диапазоне) из второго аргумента. Как только находит — запоминает его позицию(строку, если угодно) и в итоге возвращает значение, расположенное в этой же позиции в массиве третьего аргумента.
Но у функции есть пара особенностей:
- Она ищет не обязательно именно точное совпадение с искомым, а максимально приближенное к нему. Если точнее — равное или большее искомому.
- Функция ПРОСМОТР(LOOKUP) старается преобразовать непосредственно в массив любое выражение, записанное вторым аргументом.
Этими особенностями мы и будем пользоваться.
Как уже упомянул выше — в качестве диапазона для поиска значения обычно приводится массив ячеек, но т.к. функция ПРОСМОТР(LOOKUP) старается преобразовать непосредственно в массив любое выражение — она вычисляет данное ей выражение 1/ПОИСК(Каталог!$A$2:$A$11;A2), работая в итоге с результатами этого вычисления.
Само же выражение работает следующим образом: ПОИСК(Каталог!$A$2:$A$11;A2) ищет поочередно каждое значение из списка Каталога в ячейке A2(в наименовании артикула из таблицы Заказчика). Если значение найдено, то возвращается номер позиции первого символа найденного значения(т.е. какое-то число). Если значение не найдено — возвращается значение ошибки #ЗНАЧ!(#VALUE!). Т.е. получается следующий массив: {55:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!}
По идее, после того, как функция ПРОСМОТР(LOOKUP) вычислит это выражение, она будет последовательно просматривать результаты функции ПОИСК(SEARCH) в поисках заданного нами искомого значения, пока не найдет значение максимально близкое к искомому(оптимально равное или чуть больше него). Но т.к. функция ПОИСК(SEARCH) может вернуть неизвестно какие по величине значения, мы, чтобы не гадать и не думать над тем, какое число задать для поиска, сначала единицу делим на выражение ПОИСК(Каталог!$A$2:$A$11;A2), чтобы получить массив вида:{0,0181818181818182:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!}
А в качестве искомого значения мы подсовываем функции ПРОСМОТР(LOOKUP) число 2 — т.е. заведомо большее число, чем может вообще встретиться в массиве(т.к. единица, поделенная на любое число будет меньше двух), чем заставляем её найти последнее подходящее совпадение из каталога(т.е. последнее не ошибочное значение). После этого функция ПРОСМОТР(LOOKUP) запомнит эту позицию и вернет значение из массива Каталог!$A$2:$A$11(третий аргумент), записанное в этом массиве для этой позиции.
Вы можете просмотреть этапы вычисления функции самостоятельно для каждой ячейки, я здесь просто приведу этапы чуть в расширенном для понимания виде:
- =ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11)
- =ПРОСМОТР(2;
1/{55:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!};
Каталог!$A$2:$A$11) - =ПРОСМОТР(2;{0,0181818181818182:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!:#ЗНАЧ!};Каталог!$A$2:$A$11)
- =ПРОСМОТР(2;
1;
{«FM2-3320″:»CV455689″:»Q5949X»:»CE321A»:»CE322A»:»CE323A»:»00064073″:»CX292708″:»CX292709″:»CX292710″}) - =»FM2-3320″
Теперь немного облагородим функцию и сделаем еще пару реализаций
Реализация 1:
Вместо артикулов и #Н/Д(#N/A) выведем для найденных позиций «Есть», а для отсутствующих «Не найден в каталоге»:
=ЕСЛИ(ЕНД(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2)));»Не найден в каталоге»;»Есть»)
=IF(ISNA(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2))),»Не найден в каталоге»,»Есть»)
работа функции проста — с ПРОСМОТР(LOOKUP) разобрались, поэтому остались только ЕНД и ЕСЛИ.
ЕНД(ISNA) проверяет вложенное в неё выражение на предмет ошибки #Н/Д(#N/A). Если ошибка есть — ЕНД возвращает ИСТИНА(TRUE), а если ошибки нет — ЛОЖЬ(FALSE).
ЕСЛИ(IF) проверяет выражение из первого аргумента на выполнение. Если выражение выполняется(т.е. оно равно ИСТИНА(TRUE)), то функция запишет значение из второго аргумента(«Не найден в каталоге»). А если не выполняется(ЛОЖЬ(FALSE)) — то значение из третьего(«Есть»).
Т.е. все вместе получается: если наша основная функция возвращает значение ошибки #Н/Д(#N/A), то мы записываем в ячейку «Не найден в каталоге», в противном случае — «Есть».
Реализация 2:
Вместо #Н/Д выведем «Не найден в каталоге», но при этом если артикулы найдены — выведем названия этих артикулов:
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$A$2:$A$11);»Нет в каталоге»)
=IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$A$2:$A$11),»Нет в каталоге»)
Про функция ЕСЛИОШИБКА(IFERROR) я подробно рассказывал в этой статье: Как в ячейке с формулой вместо ошибки показать 0.
Если вкратце, то функция проверяет выражение, записанное первым аргументом(наша основная функция). Если в итоге получаем любую ошибку, то ЕСЛИОШИБКА запишет значение из второго аргумента(в нашем случае это текст «Не найден в каталоге»). Если же выражение(проверяемая функция) не возвращает ошибку, то функция ЕСЛИОШИБКА запишет именно то значение, которое было получено проверяемой функцией(в нашем случае это будет наименование артикула).
Реализация 3
Надо не просто определить какому артикулу соответствует, но и вывести цену для наименования по этому артикулу(сами цены должны быть расположены в столбце B листа Каталог):
=ЕСЛИОШИБКА(ПРОСМОТР(2;1/ПОИСК(Каталог!$A$2:$A$11;A2);Каталог!$B$2:$B$11);»»)
=IFERROR(LOOKUP(2,1/SEARCH(Каталог!$A$2:$A$11,A2),Каталог!$B$2:$B$11),»»)
Пара важных замечаний:
- данные на листе с артикулами не должны содержать пустых ячеек. Иначе с большой долей вероятности формула будет возвращать значение именно пустой ячейки, а не то, которое подходит под условия поиска
- формула осуществляет поиск таким образом, что ищется любое совпадение. Например, в качестве артикула записана цифра 1, а в строке наименований может встречаться помимо целой 1 еще и 123, 651123, FG1412NM и т.п. Для всех этих наименований может быть подобран артикул 1, т.к. он содержится в каждом наименовании. Как правило это может произойти, если артикул 1 расположен в конце списка
Поэтому желательно перед использованием формулы отсортировать список по возрастанию(от меньшего к большему, от А до Я).
В приложенном в начале статьи примере вы найдете все разобранные варианты.
Если же вам понадобится выводить все наименования, то можно воспользоваться функцией СОДЕРЖИТ_ОДНО_ИЗ из моей надстройки MulTEx.
Так же см.:
Сравнение текста по части предложения
Что такое формула массива
Как найти значение в другой таблице или сила ВПР
ВПР с поиском по нескольким листам
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика