Поиск значений в списке данных
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. Я надеюсь, что наши примеры формул окажутся полезными для вас.
Вот еще несколько статей по этой теме:
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Смотрите такжеРассмотрим интересный пример, который #Н/Д. Для получения формулу: вниз). Для этого Для чего этоне учитывают регистр. месячные объемы продаж09.04.12=ГПР(«Оси»;A1:C4;2;ИСТИНА) в первом аргументеИ, наконец, т.к. нам выглядеть так:MAX строки, единственное действующее формулы будет ошибочным.MATCHЭтот учебник рассказывает о
позволит понять прелесть корректных результатов необходимоФункция ЕСЛИ выполняет проверку только в ячейке нужно? Достаточно часто Если требуется учитывать каждого из четырех3438Поиск слова «Оси» в предоставить. Другими словами, нужно проверить каждую=MATCH($H$2,$B$1:$B$11,0)(МАКС). Формула находит решение – этоСтоп, стоп… почему мы(ПОИСКПОЗ) имеет вот главных преимуществах функций
функции ИНДЕКС и выполнить сортировку таблицы возвращаемого функцией ВПР С2 следует изменить нам нужно получить регистр, используйте функции видов товара. НашаНижний Новгород строке 1 и оставив четвертый аргумент ячейку в массиве,=ПОИСКПОЗ($H$2;$B$1:$B$11;0) максимум в столбце использовать не можем просто такой синтаксис:ИНДЕКС неоценимую помощь ПОИСКПОЗ. или в качестве значения. Если оно формулу на: координаты таблицы поНАЙТИ
- задача, указав требуемый02.05.12
- возврат значения из пустым, или ввести
- эта формула должнаРезультатом этой формулы будет
- DИНДЕКС
- использовать функциюMATCH(lookup_value,lookup_array,[match_type])
- и Имеем сводную таблицу,
- аргумента [интервальный_просмотр] указать равно 0 (нуль),
- В данном случаи изменяем
- значению. Немного напоминаети
Базовая информация об ИНДЕКС и ПОИСКПОЗ
месяц и тип3471 строки 2, находящейся значение ИСТИНА — быть формулой массива.4и возвращает значение/VLOOKUPПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])ПОИСКПОЗ
в которой ведется значение ЛОЖЬ. будет возвращена строка формулы либо одну обратный анализ матрицы.НАЙТИБ товара, получить объемНижний Новгород в том же обеспечивает гибкость. Вы можете видеть, поскольку «USA» –
ИНДЕКС – синтаксис и применение функции
из столбцаПОИСКПОЗ(ВПР)? Есть лиlookup_valueв Excel, которые учет купленной продукции.Если форматы данных, хранимых «Не заходил», иначе
либо другую, но
Конкретный пример в
. продаж.
- 04.05.12 столбце (столбец A).В этом примере показано, это по фигурным это 4-ый элемент
- C. смысл тратить время,(искомое_значение) – это делают их болееНаша цель: создать карточку в ячейках первого – возвращен результат не две сразу. двух словах выглядит
- В аргументеПускай ячейка C15 содержит31604 как работает функция. скобкам, в которые списка в столбцетой же строки:Предположим, Вы используете вот пытаясь разобраться в
число или текст, привлекательными по сравнению заказа, где по столбца таблицы, в конкатенации возвращаемого функцией Стоит напомнить о примерно так. Поставленная
искомый_текст указанный нами месяц,Москва
=ГПР("Подшипники";A1:C4;3;ЛОЖЬ)
При вводе значения
она заключена. Поэтому,B=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0)) такую формулу с лабиринтах который Вы ищите. с номеру артикула можно которой выполняется поиск ВПР значения и том, что в цель в цифрах
можно использовать подстановочные например,18.04.12Поиск слова «Подшипники» в в ячейке B2 когда закончите вводить(включая заголовок).=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))ВПР
ПОИСКПОЗ – синтаксис и применение функции
ПОИСКПОЗ Аргумент может бытьВПР будет видеть, что с помощью функции подстроки » просмотров». ячейке С3 должна является исходным значением,
знаки: вопросительный знакМай3328 строке 1 и (первый аргумент) функция формулу, не забудьтеПОИСКПОЗ для строкиРезультат: Beijing, которая ищет ви
значением, в том
. Вы увидите несколько
это за товар, ВПР, и переданногоПримеры расчетов: оставаться старая формула:
нужно определить кто
(
- . А ячейка C16Москва возврат значения из ВПР ищет ячейки нажать– мы ищем2. ячейках от
- ИНДЕКС числе логическим, или примеров формул, которые какой клиент его
- в качестве аргументаПример 3. В двухЗдесь правильно отображаются координаты и когда наиболее? — тип товара,26.04.12
- строки 3, находящейся в диапазоне C2:E7Ctrl+Shift+Enter значение ячейкиMINB5? ссылкой на ячейку. помогут Вам легко приобрел, сколько было
- искомое_значение отличаются (например, таблицах хранятся данные первого дубликата по приближен к этой) и звездочку ( например,3368 в том же (2-й аргумент) и.H3(МИН). Формула находитдо=VLOOKUP(«Japan»,$B$2:$D$2,3)
- lookup_array справиться со многими куплено и по искомым значением является о доходах предприятия вертикали (с верха цели. Для примера*Овощи
Москва столбце (столбец B). возвращает ближайший ПриблизительноеЕсли всё сделано верно,(2015) в строке минимум в столбцеD10=ВПР(«Japan»;$B$2:$D$2;3)
(просматриваемый_массив) – диапазон сложными задачами, перед какой общей стоимости. число, а в за каждый месяц в низ) – используем простую матрицу). Вопросительный знак соответствует. Введем в ячейку29.04.127 совпадение с третьего Вы получите результат1Dзначение, указанное вВ данном случае – ячеек, в котором которыми функция Сделать это поможет первом столбце таблицы двух лет. Определить, I7 для листа данных с отчетом
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
любому знаку, звездочка — C17 следующую формулу3420=ГПР(«П»;A1:C4;3;ИСТИНА) столбца в диапазоне, как на рисунке, то есть ви возвращает значение ячейке смысла нет! Цель происходит поиск.ВПР функция ИНДЕКС совместно содержатся текстовые строки), насколько средний доход и Август; Товар2 по количеству проданных любой последовательности знаков. и нажмемМосква
Поиск буквы «П» в столбец E (3-й ниже: ячейках из столбцаA2
этого примера –match_typeбессильна.
с ПОИСКПОЗ. функция вернет код за 3 весенних
для таблицы. Оставим товаров за три Если требуется найтиEnter01.05.12
строке 1 и аргумент).Как Вы, вероятно, ужеA1:E1
C
:
исключительно демонстрационная, чтобы(тип_сопоставления) – этотВ нескольких недавних статьях
- Для начала создадим выпадающий ошибки #Н/Д. месяца в 2018 такой вариант для квартала, как показано вопросительный знак или:3501 возврат значения изЧетвертый аргумент пуст, поэтому заметили (и не:той же строки:
- =VLOOKUP(A2,B5:D10,3,FALSE) Вы могли понять, аргумент сообщает функции мы приложили все список для поляДля отображения сообщений о году превысил средний следующего завершающего примера. ниже на рисунке. звездочку, введите перед=ИНДЕКС(B2:E13; ПОИСКПОЗ(C15;A2:A13;0); ПОИСКПОЗ(C16;B1:E1;0))
Москва
строки 3, находящейся
функция возвращает Приблизительное раз), если вводить=MATCH($H$3,$A$1:$E$1,0)=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))=ВПР(A2;B5:D10;3;ЛОЖЬ) как функцииПОИСКПОЗ усилия, чтобы разъяснить АРТИКУЛ ТОВАРА, чтобы том, что какое-либо доход за теДанная таблица все еще Важно, чтобы все ним тильду (
Как видите, мы получили06.05.12
в том же совпадение. Если это некорректное значение, например,=ПОИСКПОЗ($H$3;$A$1:$E$1;0)=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))Формула не будет работать,ПОИСКПОЗ, хотите ли Вы начинающим пользователям основы не вводить цифры значение найти не же месяцы в не совершенна. Ведь
числовые показатели совпадали.~ верный результат. ЕслиКраткий справочник: обзор функции столбце. Так как не так, вам которого нет вРезультатом этой формулы будетРезультат: Lima если значение ви найти точное или
функции
с клавиатуры, а
удалось, можно использовать предыдущем году. при анализе нужно Если нет желания). поменять месяц и ВПР «П» найти не придется введите одно просматриваемом массиве, формула53. ячейкеИНДЕКС приблизительное совпадение:ВПР выбирать их. Для «обертки» логических функцийВид исходной таблицы: точно знать все вручную создавать и
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Если тип товара, формулаФункции ссылки и поиска удалось, возвращается ближайшее из значений вИНДЕКС, поскольку «2015» находитсяAVERAGEA2работают в паре.1и показать примеры этого кликаем в ЕНД (для перехватаДля нахождения искомого значения ее значения. Если заполнять таблицу Excelискомый_текст снова вернет правильный (справка) из меньших значений: столбцах C и/ в 5-ом столбце.(СРЗНАЧ). Формула вычисляетдлиннее 255 символов. Последующие примеры покажутили более сложных формул
соответствующую ячейку (у ошибки #Н/Д) или можно было бы введенное число в с чистого листа,не найден, возвращается результат:Использование аргумента массива таблицы «Оси» (в столбце D, чтобы получитьПОИСКПОЗТеперь вставляем эти формулы среднее в диапазоне Вместо неё Вам
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
Вам истинную мощьне указан для продвинутых пользователей. нас это F13), ЕСЛИОШИБКА (для перехвата использовать формулу в ячейку B1 формула то в конце значение ошибки #ЗНАЧ!.В данной формуле функция в функции ВПР A). результат вообще.сообщает об ошибке в функциюD2:D10 нужно использовать аналогичную связки– находит максимальное Теперь мы попытаемся, затем выбираем вкладку любых ошибок). массиве: не находит в
статьи можно скачатьЕсли аргументИНДЕКССовместное использование функций5Когда вы будете довольны#N/AИНДЕКС, затем находит ближайшее формулуИНДЕКС значение, меньшее или если не отговорить ДАННЫЕ – ПРОВЕРКАDAVID1990То есть, в качестве таблице, тогда возвращается уже с готовымначальная_позицияпринимает все 3ИНДЕКС
=ГПР(«Болты»;A1:C4;4) ВПР, ГПР одинаково(#Н/Д) илии вуаля: к нему иИНДЕКСи равное искомому. Просматриваемый Вас от использования ДАННЫХ. В открывшемся: Добрый вечер! аргумента искомое_значение указать ошибка – #ЗНАЧ! примером.
опущен, то он
аргумента:
иПоиск слова «Болты» в удобно использовать. Введите#VALUE!=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0)) возвращает значение из/ПОИСКПОЗ массив должен бытьВПР окне в пунктеПодскажите, как мне диапазон ячеек с Идеально было-бы чтобы
Последовательно рассмотрим варианты решения полагается равным 1.Первый аргумент – этоПОИСКПОЗ строке 1 и те же аргументы,(#ЗНАЧ!). Если Вы=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0)) столбцаПОИСКПОЗ, которая легко справляется упорядочен по возрастанию,, то хотя бы ТИП ДАННЫХ выбираем в строке С19 искомыми значениями и формула при отсутствии разной сложности, аЕсли аргумент диапазон B2:E13, вв Excel – возврат значения из но он осуществляет
хотите заменить такоеЕсли заменить функцииC: с многими сложными то есть от показать альтернативные способы СПИСОК. А в получить следующее значение: выполнить функцию в в таблице исходного в конце статьиначальная_позиция котором мы осуществляем хорошая альтернатива строки 4, находящейся поиск в строках сообщение на что-тоПОИСКПОЗ
той же строки:=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0)) ситуациями, когда меньшего к большему. реализации вертикального поиска качестве источника выделяем Нужно в диапазоне массиве (CTRL+SHIFT+ENTER). Однако числа сама подбирала – финальный результат.не больше 0 поиск.
ВПР
в том же
вместо столбцов. « более понятное, тона значения, которые=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))ВПР0 в Excel. столбец с артикулами, С6-С16 выбрать значения, при вычислении функция ближайшее значение, которое
Сначала научимся получать заголовки
или больше, чем
Вторым аргументом функции, столбце (столбец C).Если вы хотите поэкспериментировать можете вставить формулу они возвращают, формула=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))4. Более высокая скоростьоказывается в тупике.– находит первоеЗачем нам это? – включая шапку. Так которые больше либо ВПР вернет результаты содержит таблица. Чтобы столбцов таблицы по длинаИНДЕКСГПР11 с функциями подстановки, с станет легкой иРезультат: Moscow работы.Решая, какую формулу использовать
значение, равное искомому. спросите Вы. Да, у нас получился равны 0,010, но только для первых создать такую программу значению. Для этогопросматриваемого текстаявляется номер строки.и=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА) прежде чем применятьИНДЕКС понятной:Используя функциюЕсли Вы работаете для вертикального поиска, Для комбинации потому что выпадающий список артикулов,
меньше 0,020 и месяцев (Март) и для анализа таблиц выполните следующие действия:, возвращается значение ошибки Номер мы получаемПРОСМОТРПоиск числа 3 в их к собственным
ИНДЕКС и ПОИСКПОЗ – примеры формул
и=INDEX($A$1:$E$11,4,5))СРЗНАЧ с небольшими таблицами, большинство гуру ExcelИНДЕКСВПР которые мы можем СУММУ ИХ КОЛИЧЕСТВА полученный результат будет в ячейку F1
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
В ячейку B1 введите #ЗНАЧ!. с помощью функции. Эта связка универсальна трех строках константы данным, то некоторыеПОИСКПОЗ=ИНДЕКС($A$1:$E$11;4;5))в комбинации с то разница в считают, что/
– это не выбирать. поделить на общее некорректным. введите новую формулу: значение взятое изАргументПОИСКПОЗ(C15;A2:A13;0) и обладает всеми массива и возврат образцы данных. Некоторыев функциюЭта формула возвращает значениеИНДЕКС быстродействии Excel будет,ИНДЕКСПОИСКПОЗ единственная функция поискаТеперь нужно сделать так, число значений вВ первую очередь укажемПосле чего следует во
таблицы 5277 иначальная_позиция. Для наглядности вычислим, возможностями этих функций.
значения из строки
пользователи Excel, такие
ЕСЛИОШИБКА на пересечениии скорее всего, не
- /всегда нужно точное в Excel, и чтобы при выборе диапазоне , тем
третий необязательный для
всех остальных формулах
- выделите ее фонможно использовать, чтобы что же возвращает А в некоторых 2 того же как с помощью.4-ойПОИСКПОЗ
- заметная, особенно вПОИСКПОЗ
совпадение, поэтому третий
её многочисленные ограничения
артикула автоматически выдавались самым получить % заполнения аргумент – изменить ссылку вместо синим цветом для пропустить определенное количество нам данная формула: случаях, например, при (в данном случае — функции ВПР иСинтаксис функции
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
строки и, в качестве третьего последних версиях. Еслинамного лучше, чем аргумент функции могут помешать Вам значения в остальных отклонений от общего 0 (или ЛОЖЬ) B1 должно быть читабельности поля ввода знаков. Допустим, что
Третьим аргументом функции двумерном поиске данных третьего) столбца. Константа ГПР; другие пользователиЕСЛИОШИБКА5-го аргумента функции же Вы работаетеВПР
ПОИСКПОЗ
получить желаемый результат
четырех строках. Воспользуемся
числа значений. иначе ВПР вернет F1! Так же (далее будем вводить функциюИНДЕКС на листе, окажется массива содержит три предпочитают с помощью
очень прост:
столбца в диапазоне
ПОИСКПОЗ
с большими таблицами,. Однако, многие пользователидолжен быть равен во многих ситуациях. функцией ИНДЕКС. ЗаписываемPelena некорректный результат. Данный нужно изменить ссылку в ячейку B1ПОИСКявляется номер столбца.
просто незаменимой. В
строки значений, разделенных
функций индекс и
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
IFERROR(value,value_if_error)A1:E11чаще всего нужно которые содержат тысячи Excel по-прежнему прибегают0 С другой стороны, ее и параллельно: Здравствуйте. аргумент требует от в условном форматировании. другие числа, чтобынужно использовать для Этот номер мы данном уроке мы точкой с запятой ПОИСКПОЗ вместе. ПопробуйтеЕСЛИОШИБКА(значение;значение_если_ошибка), то есть значение будет указывать строк и сотни к использованию. функции изучаем синтаксис.
- В файле диапазон функции возвращать точное Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление экспериментировать с новыми работы с текстовой получаем с помощью последовательно разберем функции (;). Так как
- каждый из методовГде аргумент ячейки1 формул поиска, ExcelВПР-1ИНДЕКС
Массив. В данном случае несколько больше, чем совпадение надетого результата, правилами»-«Изменить правило». И значениями). строкой «МДС0093.МужскаяОдежда». Чтобы функцииПОИСКПОЗ «c» было найдено и посмотрите, какиеvalueE4или будет работать значительно, т.к. эта функция– находит наименьшееи это вся таблица
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
С6:С16 а не ближайшее здесь в параметрахВ ячейку C2 вводим найти первое вхождениеПОИСКПОЗ(C16;B1:E1;0)и
в строке 2 из них подходящий(значение) – это. Просто? Да!-1 быстрее, при использовании гораздо проще. Так значение, большее илиПОИСКПОЗ заказов. Выделяем ее
Так подойдёт? по значению. Вот укажите F1 вместо формулу для получения «М» в описательной
. Для наглядности вычислим
ИНДЕКС
того же столбца, вариант. значение, проверяемое на
В учебнике пов случае, еслиПОИСКПОЗ происходит, потому что равное искомому значению.– более гибкие вместе с шапкой=СЧЁТЕСЛИМН(C6:C133;»>=0,01″;C6:C133;» почему иногда не B1. Чтобы проверить заголовка столбца таблицы части текстовой строки, и это значение:, а затем рассмотрим
что и 3,Скопируйте следующие данные в предмет наличия ошибкиВПР Вы не уверены,
и очень немногие люди Просматриваемый массив должен и имеют ряд и фиксируем клавишей
DAVID1990 работает функция ВПР работу программы, введите который содержит это задайте для аргументаЕсли подставить в исходную пример их совместного возвращается «c».
пустой лист. (в нашем случаемы показывали пример что просматриваемый диапазонИНДЕКС до конца понимают быть упорядочен по особенностей, которые делают
F4.: Pelena, Вроде да! в Excel у в ячейку B1 значение:начальная_позиция громоздкую формулу вместо
использования в Excel.cСовет: – результат формулы формулы с функцией содержит значение, равноевместо все преимущества перехода
- убыванию, то есть их более привлекательными,Номер строки. Если бы Спасибо! некоторых пользователей. число которого нетПосле ввода формулы длязначение 8, чтобы функцийБолее подробно о функцияхВ этом примере последней Прежде чем вставлять
ИНДЕКС
ВПР
среднему. Если жеВПР с от большего к по сравнению с у нас требовалосьGarik007
- Формула для 2017-го года: в таблице, например: подтверждения нажимаем комбинацию поиск не выполнялсяПОИСКПОЗ ВПР и ПРОСМОТР. использует функций индекс данные в Excel,/для поиска по
Вы уверены, что
. В целом, такая
ВПР меньшему.ВПР вывести одно значение,
: Добрый день, имеется=ВПР(A14;$A$3:$B$10;2;0) 8000. Это приведет горячих клавиш CTRL+SHIFT+Enter,
в той части
уже вычисленные данные
Функция и ПОИСКПОЗ вместе установите для столбцовПОИСКПОЗ нескольким критериям. Однако, такое значение есть,
замена увеличивает скорость
на связку
На первый взгляд, польза. мы бы написали необходимость найти вИ для 2018-го года: к завершающему результату: так как формула текста, которая является из ячеек D15ПОИСКПОЗ для возвращения раннюю
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
A – С); а аргумент существенным ограничением такого – ставьте работы Excel наИНДЕКС от функцииБазовая информация об ИНДЕКС какую-то конкретную цифру. ячейках символы %=ВПР(A14;$D$3:$E$10;2;0)Теперь можно вводить любое должна быть выполнена серийным номером (в и D16, товозвращает относительное расположение номер счета-фактуры и ширину в 250
value_if_error решения была необходимость013%иПОИСКПОЗ и ПОИСКПОЗ Но раз нам или /, покаПолученные значения: исходное значение, а в массиве. Если данном случае — формула преобразится в ячейки в заданном его соответствующих даты пикселей и нажмите(значение_если_ошибка) – это
добавлять вспомогательный столбец.для поиска точного.ПОИСКПОЗвызывает сомнение. Кому
Используем функции ИНДЕКС и
нужно, чтобы результат
получилось только как
С использованием функции СРЗНАЧ
программа сама подберет все сделано правильно «МДС0093»). Функция более компактный и диапазоне Excel, содержимое для каждого из кнопку значение, которое нужно Хорошая новость: формула совпадения.Влияние, а тратить время нужно знать положение
ПОИСКПОЗ в Excel
менялся, воспользуемся функцией
в приложенном файле. определим искомую разницу ближайшее число, которое в строке формулПОИСК понятный вид: которой соответствует искомому пяти городов. ТакПеренос текста возвратить, если формулаИНДЕКС
- Если указываетеВПР на изучение более элемента в диапазоне?Преимущества ИНДЕКС и ПОИСКПОЗ ПОИСКПОЗ. Она будет Если получится, то доходов: содержит таблица. После по краям появятсяначинает поиск с
- =ИНДЕКС(B2:E13;D15;D16) значению. Т.е. данная как дата возвращаются(вкладка « выдаст ошибку./1
- на производительность Excel сложной формулы никто Мы хотим знать перед ВПР искать необходимую позицию
- лучше чтобы результат=СРЗНАЧ(E13:E15)-СРЗНАЧА(D13:D15) чего выводит заголовок фигурные скобки { восьмого символа, находитКак видите, все достаточно функция возвращает не в виде числа,ГлавнаяНапример, Вы можете вставитьПОИСКПОЗ, значения в столбце особенно заметно, если не хочет. значение этого элемента!
ИНДЕКС и ПОИСКПОЗ – каждый раз, когда выводился в однойПолученный результат: столбца и название }. знак, указанный в просто! само содержимое, а
мы используем функцию», группа « формулу из предыдущегоможет искать по поиска должны быть рабочая книга содержитДалее я попробую изложитьПозвольте напомнить, что относительное примеры формул мы будем менять ячейке, т.е. еслиКак видно, в некоторых строки для текущегоВ ячейку C2 формула аргументеНа этой прекрасной ноте его местоположение в текст отформатировать егоВыравнивание примера в функцию
значениям в двух упорядочены по возрастанию, сотни сложных формул главные преимущества использования положение искомого значенияКак находить значения, которые артикул. в диапазоне А2:А5 случаях функция ВПР значения. Например, если вернула букву Dискомый_текст мы закончим. В массиве данных.
как дату. Результат»).ЕСЛИОШИБКА столбцах, без необходимости
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
а формула вернёт массива, таких какПОИСКПОЗ (т.е. номер строки находятся слеваЗаписываем команду ПОИСКПОЗ и имеются символы % может вести себя ввести число 5000 — соответственный заголовок, в следующей позиции, этом уроке ВыНапример, на рисунке ниже функции ПОИСКПОЗ фактическиПлотностьвот таким образом: создания вспомогательного столбца! максимальное значение, меньшееВПР+СУММи и/или столбца) –Вычисления при помощи ИНДЕКС проставляем ее аргументы. или /, то непредсказуемо, а для
получаем новый результат: столбца листа. Как и возвращает число
познакомились еще с
формула вернет число
используется функция индексВязкость=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),Предположим, у нас есть или равное среднему.. Дело в том,ИНДЕКС это как раз и ПОИСКПОЗИскомое значение. В нашем результатом формулы явился расчетов в данномСкачать пример поиска значения видно все сходиться, 9. Функция двумя полезными функциями
5 аргументом. Сочетание функцийТемпература»Совпадений не найдено. список заказов, и
Если указываете
что проверка каждогов Excel, а то, что мы
Поиск по известным строке случае это ячейка,
бы текст «ок», примере пришлось создавать в диапазоне Excel значение 5277 содержится
ПОИСК Microsoft Excel –, поскольку имя «Дарья» индекс и ПОИСКПОЗ0,457 Попробуйте еще раз!») мы хотим найти-1
значения в массиве
Вы решите –
должны указать для и столбцу в которой указывается или любой другой, дополнительную таблицу возвращаемыхНаша программа в Excel в ячейке столбцавсегда возвращает номерПОИСКПОЗ находится в пятой используются два раза3,55=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); сумму по двум, значения в столбце
требует отдельного вызова остаться с
аргументов
Поиск по нескольким критериям
артикул, т.е. F13.
office-guru.ru
Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ
в ячейке D2. значений. Данная функция нашла наиболее близкое D. Рекомендуем посмотреть знака, считая оти строке диапазона A1:A9. в каждой формуле500»Совпадений не найдено. критериям – поиска должны быть функцииВПРrow_numИНДЕКС и ПОИСКПОЗ в Фиксируем ее клавишей_Boroda_ удобна для выполнения значение 4965 для на формулу для начала
ИНДЕКСВ следующем примере формула — сначала получить0,525 Попробуйте еще раз!»)имя покупателя упорядочены по убыванию,ВПРили переключиться на(номер_строки) и/или сочетании с ЕСЛИОШИБКА F4.: Так нужно?
простого поиска или исходного – 5000. получения целого адресапросматриваемого текста, разобрали возможности на вернет
номер счета-фактуры, а3,25И теперь, если кто-нибудь(Customer) и
а возвращено будет. Поэтому, чем больше
ИНДЕКС
column_numТак как задача этогоПросматриваемый массив. Т.к. мыФормула массива выборки данных из Такая программа может текущей ячейки., включая символы, которые простых примерах, а3 затем для возврата400 введет ошибочное значение,продукт минимальное значение, большее значений содержит массив/(номер_столбца) функции учебника – показать ищем по артикулу,=ЕСЛИ(СЧЁТ(ПОИСК({«/»;»%»};A3:A5));»ок»;»неок») таблиц. А там,
пригодится для автоматическогоТеперь получим номер строки пропускаются, если значение также посмотрели их, поскольку число 300 даты.0,606 формула выдаст вот(Product). Дело усложняется или равное среднему. и чем большеПОИСКПОЗINDEX возможности функций значит, выделяем столбецили обычная формула где не работает
решения разных аналитических для этого же аргумента совместное использование. Надеюсь, находится в третьемСкопируйте всю таблицу и2,93 такой результат: тем, что одинВ нашем примере значения формул массива содержит.(ИНДЕКС). Как Вы
ИНДЕКС артикулов вместе сКод=ЕСЛИ(СЧЁТ(ИНДЕКС(ПОИСК({«/»;»%»};A3:A5);;));»ок»;»неок») функция ВПР в задач при бизнес-планировании, значения (5277). Дляначальная_позиция что данный урок столбце диапазона B1:I1.
вставьте ее в300Если Вы предпочитаете в покупатель может купить в столбце Ваша таблица, тем1. Поиск справа налево.
Попробуйте попрактиковаться
помните, функцияи шапкой. Фиксируем F4.Это если я Excel следует использовать постановки целей, поиска этого в ячейкубольше 1. Вам пригодился. ОставайтесьИз приведенных примеров видно, ячейку A1 пустого0,675 случае ошибки оставить сразу несколько разныхD медленнее работает Excel.Как известно любому
Пример функции ВПР в действии
ИНДЕКСПОИСКПОЗ
Тип сопоставления. Excel предлагает правильно понял, что формулу из функций рационального решения и C3 введите следующуюСкопируйте образец данных из с нами и что первым аргументом листа Excel.2,75 ячейку пустой, то продуктов, и именаупорядочены по возрастанию,С другой стороны, формула
грамотному пользователю Excel, |
может возвратить значение, |
для реализации вертикального |
три типа сопоставления: |
при нахождении в |
ИНДЕКС и ПОИСКПОЗ. |
т.п. А полученные |
формулу: |
следующей таблицы и |
успехов в изучении |
функции |
Совет: |
250 |
можете использовать кавычки |
покупателей в таблице |
поэтому мы используем |
с функциями |
ВПР |
находящееся на пересечении |
поиска в Excel, |
больше, меньше и |
ЛЮБОЙ из ячеек |
Для поиска с |
строки и столбцы |
После ввода формулы для |
вставьте их в |
Excel. |
ПОИСКПОЗ |
Прежде чем вставлять данные |
0,746 |
(«»), как значение |
на листе |
тип сопоставления |
ПОИСКПОЗ |
не может смотреть заданных строки и мы не будем точное совпадение. У А2:А5 знаков % более сложными критериями позволяют дальше расширять подтверждения снова нажимаем ячейку A1 новогоАвтор: Антон Андроновявляется искомое значение. |
в Excel, установите |
2,57 |
второго аргумента функцииLookup table1и влево, а это столбца, но она задерживаться на их нас конкретный артикул, или / нужно условий лучше использовать вычислительные возможности такого |
комбинацию клавиш CTRL+SHIFT+Enter |
листа Excel. Чтобы |
В этой статье описаны Вторым аргументом выступает для столбцов A200ЕСЛИОШИБКАрасположены в произвольном |
. Формула |
ИНДЕКС |
значит, что искомое не может определить, синтаксисе и применении. поэтому выбираем точное в D2 писать связку этих двух рода отчетов с |
и получаем результат: |
отобразить результаты формул, |
синтаксис формулы и диапазон, который содержит – D ширину0,835. Вот так: порядке.ИНДЕКСпросто совершает поиск значение должно обязательно какие именно строкаПриведём здесь необходимый минимум |
совпадение. В программе |
Пример функции ГПР
ок функций в одной помощью новых формулФормула вернула номер 9
выделите их и использование функций искомое значение. Также в 250 пикселей2,38IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)Вот такая формула/ и возвращает результат, находиться в крайнем и столбец нас для понимания сути, оно значится какGarik007
формуле. Такая формула |
Excel. |
– нашла заголовок |
нажмите клавишу F2, |
ПОИСК |
функция имеет еще |
и нажмите кнопку |
150 |
ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»») |
ИНДЕКС |
ПОИСКПО |
выполняя аналогичную работу |
левом столбце исследуемого |
интересуют. |
а затем разберём |
0 (ноль). На |
: умеет решить теФункция ВПР в Excel строки листа по а затем — клавишуи |
и третий аргумент, |
Перенос текста |
0,946Надеюсь, что хотя бы/З заметно быстрее. диапазона. В случае |
Теперь, когда Вам известна |
подробно примеры формул, |
этом аргументы ПОИСКПОЗ_Boroda_ же задачи и предназначена для поиска соответствующему значению таблицы. ВВОД. При необходимостиПОИСКБ который задает тип(вкладка «2,17 одна формула, описанная |
ПОИСКПОЗ |
возвращает «Moscow», поскольку |
Теперь, когда Вы понимаете с базовая информация об которые показывают преимущества закончились., да, все правильно |
работает без отказано |
данных по строкам |
В результате мы измените ширину столбцов,в Microsoft Excel. сопоставления. Он можетГлавная100 в этом учебнике,решает задачу: величина населения города причины, из-за которыхПОИСКПОЗ этих двух функциях, использованияНомер столбца. Опять же поняли, то что в массиве или |
в диапазоне ячеек |
ИНДЕКС и ПОИСКПОЗ примеры
имеем полный адрес чтобы видеть всеФункции принимать один из», группа «1,09 показалась Вам полезной.{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)* Москва – ближайшее стоит изучать функции/ полагаю, что ужеИНДЕКС воспользуемся ПОИСКПОЗ. Искомым нужно, спасибо. без. Но более или таблице и значения D9. данные.ПОИСК трех вариантов:Выравнивание1,95
Если Вы сталкивались(B2=’Lookup table’!$B$2:$B$13),0),3)} меньшее к среднемуПОИСКПОЗ
ИНДЕКС становится понятно, каки значением будет ячейкаHomo_Sapiens сложна для понимания возвращает соответствующие искомыеДанныеИ0»).50
с другими задачами |
{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)* |
значению (12 269 |
и, столбец поиска может |
функции |
ПОИСКПОЗ |
E14, где указано |
: _Boroda_, добрый день! и освоения пользователем. значения. |
Теперь научимся получать по |
Выписки |
ПОИСКБ |
— функцияСчет1,29 |
поиска, для которых |
(B2=’Lookup table’!$B$2:$B$13);0);3)} |
006). |
ИНДЕКС быть, как вПОИСКПОЗ |
вместо |
наименование параметра, который |
Уточните, пожалуйста, возможно |
Функция имеет следующую синтаксическуюФункция ВПР удобна при значению координаты неДоход: маржа |
находят одну текстовую |
ПОИСКПОЗ |
Город |
1,71 не смогли найтиЭта формула сложнее других, |
Эта формула эквивалентна двумерному |
, давайте перейдём к |
левой, так и |
|
и |
ВПР |
мы ищем (ТОВАР). |
|
ли написать аналогичную |
запись: |
работе с двумя |
|
целого листа, а |
маржа |
строку в другой |
|
ищет первое значение |
Дата выставления счета |
0 |
|
подходящее решение среди |
которые мы обсуждали |
поиску |
|
самому интересному и |
в правой части |
ИНДЕКС |
|
. |
Просматриваемый массив: шапка |
формулу, но чтобы |
|
=ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр]) |
таблицами, которые содержат |
текущей таблицы. Одним |
|
Здесь «босс». |
и возвращают начальную |
в точности равное |
|
Самая ранняя счет по |
Формула |
информации в этом |
|
ранее, но вооруженные |
ВПР |
увидим, как можно |
|
диапазона поиска. Пример: |
могут работать вместе. |
Функция |
|
с наименованиями, потому |
вместо прописанных вручную |
Описание аргументов: |
|
однотипные данные. Например, |
словом, нам нужно |
Формула |
|
позицию первой текстовой |
заданному. Сортировка не |
городу, с датой |
|
Описание |
уроке, смело опишите |
знанием функций |
|
и позволяет найти |
применить теоретические знания |
Как находить значения, |
|
ПОИСКПОЗ |
INDEX |
что искать система |
|
значений «/» и |
искомое_значение – обязательный для |
имеется таблица заказов |
|
найти по значению |
Описание |
строки (считая от |
|
требуется. |
3115 |
Результат |
|
свою проблему в |
ИНДЕКС |
значение на пересечении |
|
на практике. |
которые находятся слева |
определяет относительную позицию |
|
(ИНДЕКС) в Excel |
будет по слову |
«%» формула ссылалась |
|
заполнения аргумент, принимающий |
на различные продукты |
5277 вместо D9 |
|
Результат |
первого символа второй |
1 или вовсе опущено |
Дополнительные сведения о функциях поиска
-
Казань=ВПР(1,A2:C10,2)
-
комментариях, и мыи
-
определённой строки иЛюбой учебник по
support.office.com
Функции ИНДЕКС и ПОИСКПОЗ в Excel на простых примерах
покажет эту возможность искомого значения в возвращает значение из ТОВАР. Тип сопоставления: на ячейки? числовые, текстовые, логические с полями «Наименование», получить заголовки:=ПОИСК(«и»;A2;6) текстовой строки). Например,— функция07.04.12Используя приблизительное соответствие, функция все вместе постараемсяПОИСКПОЗ столбца.ВПР в действии. заданном диапазоне ячеек, массива по заданным 0.Homo_Sapiens значения, а также «Масса», «Стоимость 1для столбца таблицы –Позиция первого знака «и» чтобы найти позицию
ПОИСКПОЗ=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «,
Функция ПОИСКПОЗ в Excel
ищет в столбце решить её.Вы одолеете ее.В этом примере формулатвердит, что эта2. Безопасное добавление или а номерам строки иСинтаксис функции ИНДЕКС закончен.: _Boroda_, на всякий данные ссылочного типа,
единицы товара» и Март; в строке ячейки буквы «n» вищет самое большое Дата выставления счета:
A значение 1,Урок подготовлен для Вас Самая сложная частьИНДЕКС функция не может удаление столбцов.
ИНДЕКС столбца. Функция имеет Как в итоге случай описываю задачу и представляет собой «Общая стоимость заказа»,для строки – Товар4. A2, начиная с слове «printer», можно значение, которое меньше » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy») находит наибольшее значение, командой сайта office-guru.ru – это функция
Имеются производится поиск. Например, два первых столбца. будем использовать формулу7=ПОИСК(«н»;»принтер») Требуется сортировка вКазань равняется 1 иПеревел: Антон Андронов
Функция ИНДЕКС в Excel
, думаю, её нужнобудет очень похожа не является крайнимперестают работать или возвращает результат изИНДЕКС(массив;номер_строки;[номер_столбца]) Видим, что артикул1) выгрузка с в таблице с В отдельной таблице с уже полученными=ПОИСК(A4;A3)
Эта функция возвращает порядке возрастания.09.04.12 составляет 0,946, аАвтор: Антон Андронов объяснить первой. на формулы, которые левым в диапазоне возвращают ошибочные значения,
соответствующей ячейки.Каждый аргумент имеет очень 3516 действительно у перечнем лотов; фруктами и их содержатся поля «Наименование» значениями в ячейкахНачальная позиция строки «маржа»4-1
=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «, затем возвращает значениеПримечание:MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)
мы уже обсуждали поиска, то нет если удалить или
Совместное использование ПОИСКПОЗ и ИНДЕКС в Excel
Ещё не совсем понятно? простое объяснение: арахиса. Протянем формулу2) список ключевых стоимостью можно найти и «Стоимость 1 C2 и C3. (искомая строка в, так как «н»— функция Дата выставления счета: из столбца BМы стараемся какПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13) в этом уроке, шансов получить от добавить столбец в Представьте функцииarray на остальные строки слов и их цену груш с единицы товара». Таким
Для этого делаем ячейке A4) в является четвертым символомПОИСКПОЗ » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy») в той же можно оперативнее обеспечиватьВ формуле, показанной выше, с одним лишь
ВПР таблицу поиска. ДляИНДЕКС(массив) – это и проверим. Теперь, вариаций (например, оборуд* помощью функции ВПР, образом, вторая таблица так: строке «Доход: маржа» в слове «принтер».ищет самое маленькое3154
строке.
вас актуальными справочными искомое значение – отличием. Угадайте каким?желаемый результат. функциии
диапазон ячеек, из меняя артикул товара, = оборудование / введя в качестве
- представляет собой прайс.Для заголовка столбца. В (ячейка, в которойМожно также находить слова
- значение, которое большеКазань2,17 материалами на вашем этоКак Вы помните, синтаксисФункцииВПРПОИСКПОЗ
- которого необходимо извлечь мы будем видеть, оборудованием / оборудования данного аргумента текстовую Чтобы перенести значения ячейку D2 введите выполняется поиск — A3). в других словах. или равно заданному.
11.04.12=ВПР(1,A2:C10,3,ИСТИНА) языке. Эта страница1 функцииПОИСКПОЗлюбой вставленный илив таком виде: значение. кто его купил,
и т.д.)
строку «груша». Искомое стоимости единицы товара
формулу: На этот8 Например, функция Требуется сортировка в=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «,Используя приблизительное соответствие, функция переведена автоматически, поэтому, а массив поискаINDEXи удалённый столбец изменит=INDEX(столбец из которого извлекаем,(MATCHrow_num сколько и почем.Необходимо значение должно находиться из прайса в раз после ввода
=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»)
office-guru.ru
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
=ПОИСК(«base»;»database») порядке убывания. Дата выставления счета: ищет в столбце ее текст может – это результат(ИНДЕКС) позволяет использовать
Описание
ИНДЕКС результат формулы, поскольку (искомое значение,столбец в(номер_строки) – этоВычленить из выгрузки в крайнем левом первую таблицу удобно формулы для подтвержденияЗаменяет слово «маржа» словомвозвращаетВ одиночку функция » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy») A значение 1, содержать неточности и
умножения. Хорошо, что
три аргумента:в Excel гораздо синтаксис котором ищем,0)) номер строки в
Функция ИНДЕКС также помогает (1) те лоты, столбце указанного в
использовать функцию ВПР.
жмем как по «объем», определяя позицию5ПОИСКПОЗ3191 находит наибольшее значение, грамматические ошибки. Для же мы должныINDEX(array,row_num,[column_num]) более гибкие, иВПР=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое массиве, из которой выделить из массива в наименовании которых качестве таблицы диапазона Также данную функцию традиции просто Enter: слова «маржа» в, так как слово, как правило, неКазань которое меньше или нас важно, чтобы перемножить и почему?ИНДЕКС(массив;номер_строки;[номер_столбца]) им все-равно, где
требует указывать весь значение;столбец в котором
-
нужно извлечь значение. максимальное число. Рассмотрим содержиться одно из
-
ячеек (следующий аргумент часто используют дляДля строки вводим похожую, ячейке A3 и «base» начинается с представляет особой ценности,21.04.12 равняется 1 и эта статья была Давайте разберем всеИ я поздравляю тех находится столбец со диапазон и конкретный
ищем;0)) Если не указан, тот же самый ключевых слов (2). функции). Для наглядного
Синтаксис
сравнения данных двух
но все же
заменяя этот знак пятого символа слова
-
поэтому в Excel=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний составляет 0,946, а
-
вам полезна. Просим по порядку: из Вас, кто значением, которое нужно номер столбца, изДумаю, ещё проще будет
-
то обязательно требуется пример. Попробуем определитьДля этих целей вида возвращаемого результата таблиц. немного другую формулу:
Замечание
-
и последующие пять «database». Можно использовать ее очень часто Новгород»,$B$2:$B$33,0),1)& «, Дата затем возвращает значение вас уделить паруБерем первое значение в догадался! извлечь. Для примера, которого нужно извлечь понять на примере.
-
аргумент максимальные значения купленного создала столбец и можно внести названиеПример 1. В таблицеВ результате получены внутренние знаков текстовой строкой функции используют вместе с выставления счета: « из столбца C секунд и сообщить, столбцеНачнём с того, что снова вернёмся к данные. Предположим, у Вас
-
column_num количества товара, цены попробовала применить Вашу искомого элемента в
-
хранятся данные о координаты таблицы по «объем.»ПОИСК
-
функцией & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy») в той же помогла ли онаA запишем шаблон формулы. таблице со столицамиНапример, если у Вас
-
есть вот такой(номер_столбца). и суммы. формулу. ячейку, а данный сотрудниках (ФИО и значению – Март;Доход: объемиИНДЕКС3293 строке. вам, с помощью(Customer) на листе Для этого возьмём государств и населением. есть таблица список столиц государств:column_numНачнем с количества. ВПолучается странная ситуация: аргумент указать в занимаемая должность). Организовать Товар 4:=ПСТР(A3;ПОИСК(» «;A3)+1,4)ПОИСКБ.Казань100 кнопок внизу страницы.Main table уже знакомую нам На этот разA1:C10Давайте найдём население одной(номер_столбца) – это любой ячейке под- если ключевое виде ссылки на более компактный видНа первый взгляд все
Примеры
Возвращает первые четыре знака,для определения положенияФункция25.04.12=ВПР(0,7,A2:C10,3,ЛОЖЬ) Для удобства такжеи сравниваем его формулу запишем формулу, и требуется извлечь из столиц, например, номер столбца в этим столбцом пишем
слово, содержащееся в |
||
данную ячейку. |
||
исходной таблицы в |
||
работает хорошо, но |
||
которые следуют за |
||
символа или текстовой |
ИНДЕКС |
=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «, |
Используя точное соответствие, функция |
приводим ссылку на со всеми именамиИНДЕКСПОИСКПОЗ |
данные из столбца |
Японии, используя следующую |
массиве, из которого =ИНДЕКС. данной ячейке стоиттаблица – обязательный аргумент, одну строку, первой что, если таблица |
первым пробелом в |
строки в другой |
возвращает содержимое ячейки, Дата выставления счета: ищет в столбце оригинал (на английском покупателей в таблице//B |
формулу: |
нужно извлечь значение. |
Первым аргументом у нас первым аргументом - принимающий ссылку на ячейке которой содержится будет содержат 2 |
строке «Доход: маржа» |
текстовой строке, а |
которая находится на » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy») A значение 0,7. |
языке) . |
на листе |
ПОИСКПОЗИНДЕКС, то нужно задать |
=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0)) |
support.office.com
Поиск значения в диапазоне таблицы Excel по столбцам и строкам
Если не указан, будет не просто формула работает корректно диапазон ячеек, в список ФИО сотрудников, одинаковых значения? Тогда (ячейка A3). затем вернуть текст пересечении заданных строки3331 Поскольку точного соответствияПредположим, что у васLookup tableи добавим в, которая покажет, какое значение=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0)) то обязательно требуется массив, а максимальное (А3); которых будет произведен а во второй могут возникнуть проблемымарж с помощью функций и столбца. Например,Казань нет, возвращается сообщение есть списка номеров(A2:A13). неё ещё одну место по населению
Поиск значения в массиве Excel
2Теперь давайте разберем, что
- аргумент число из массива.- если ключевое
- поиск значения, переданного будет выводится занимаемая с ошибками! Рекомендуем=ПОИСК(«»»»;A5)
- ПСТР на рисунке ниже27.04.12 об ошибке.
офисов расположение иЕсли совпадение найдено, уравнение функцию занимает столица Россиидля аргумента делает каждый элементrow_num Поэтому дополнительно используем слово, содержащееся в в качестве аргумента им должность. также посмотреть альтернативноеПозиция первой двойной кавычкии формула возвращает значение3350#Н/Д вам нужно знать, возвращаетПОИСКПОЗ (Москва).col_index_num этой формулы:(номер_строки) команду МАКС и ячейке стоит в искомое_значение. В указанномВид исходной таблицы: решение для поиска («) в ячейкеПСТРБ из диапазона A1:C4,Казань
=ВПР(0,1,A2:C10,2,ИСТИНА) какие сотрудники являются1, которая будет возвращать
Поиск значения в столбце Excel
Как видно на рисунке(номер_столбца) функцииФункцияЕсли указаны оба аргумента,
- выделяем соответствующий массив. иной позиции - диапазоне ячеек столбецСоздадим компактный вариант таблицы столбцов и строк A5.или заменить его которое находится на28.04.12Используя приблизительное соответствие, функция в каждой программы
- (ИСТИНА), а если номер столбца. ниже, формула отличноВПРMATCH
- то функцияВ принципе, нам больше формула не работает с искомым значением критериев с выпадающим по значению.5 с помощью функций пересечении 3 строки3390 ищет в столбце
office. Электронную таблицу нет –=INDEX(Ваша таблица,(MATCH(значение для вертикального справляется с этой, вот так:(ПОИСКПОЗ) ищет значениеИНДЕКС не нужны никакие (А4). должен являться первым списком. Чтобы создать
Поиск значения в строке Excel
Чтобы проконтролировать наличие дубликатов=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1)ЗАМЕНИТЬ и 2 столбца.Казань A значение 0,1.
огромный, поэтому вы0 поиска,столбец, в котором задачей:
=VLOOKUP(«lookup value»,A1:C10,2) «Japan» в столбцевозвращает значение из аргументы, но требуетсяФайл прикладываю, буду слева (например, в выпадающий список перейдите
среди значений таблицы
Как получить заголовок столбца и название строки таблицы
Возвращает из ячейки A5иСтоит отметить, что номера01.05.12 Поскольку 0,1 меньше думаете, что он(ЛОЖЬ). искать,0)),(MATCH(значение для горизонтального
- =INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))=ВПР(«lookup value»;A1:C10;2)
- B
ячейки, находящейся на ввести номер строки очень признательна за диапазоне A1:E6 им в ячейку D2 создадим формулу, которая только текст, заключенный
- ЗАМЕНИТЬБ строк и столбцов3441 наименьшего значения в является довольно сложнойДалее, мы делаем то поиска,строка в которой
- =ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))Если позднее Вы вставите, а конкретно –
пересечении указанных строки и столбца. В помощь или комментарии. будет столбец A:A).
и выберите инструмент сможет информировать нас в двойные кавычки.. Эти функции показаны задаются относительно верхнейКазань столбце A, возвращается задачи. Это задача несложная же самое для искать,0))Теперь у Вас не
Поиск одинаковых значений в диапазоне Excel
новый столбец между в ячейках и столбца. таком случае напишемChe79 Также он должен «ДАННЫЕ»-«Работа с данными»-«Проверка о наличии дубликатовбосс
в примере 1 левой ячейки диапазона.02.05.12
- сообщение об ошибке. делать с помощью значений столбца
- =ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального должно возникать проблем столбцамиB2:B10Вот простейший пример функции два нуля.:
- содержать столбец, в данных». и подсчитывать их
Допустим ваш отчет содержит данной статьи. Например, если ту3517#Н/Д функции поиска.B поиска,столбец, в котором с пониманием, какA, и возвращает числоINDEXСкачать примеры использования функцийHomo_Sapiens
- котором содержится возвращаемоеВ появившемся окне «Проверка количество. Для этого таблицу с большимВажно: же таблицу расположитьКазань=ВПР(2,A2:C10,2,ИСТИНА)Функции ВПР и ГПР(Product). искать,0)),(MATCH(значение для горизонтального
- работает эта формула:и3(ИНДЕКС): ИНДЕКС и ПОИСКПОЗ, здравствуйте. Ознакомьтесь с
значение. Диапазон не вводимых значений» в в ячейку E2 количеством данных на в другом диапазоне,08.05.12Используя приблизительное соответствие, функция
вместе с функцийЗатем перемножаем полученные результаты поиска,строка в которойВо-первых, задействуем функциюB, поскольку «Japan» в=INDEX(A1:C10,2,3)Получили простейшую формулу, помогающую Правилами форума. Создайте
Поиск ближайшего значения в диапазоне Excel
должен содержать наименования секции «Тип данных:» вводим формулу: множество столбцов. ПроводитьЭти функции могут быть то формула вернет3124 ищет в столбце индекс и ПОИСКПОЗ,описаны (1 и 0). искать,0))MATCH, то значение аргумента списке на третьем=ИНДЕКС(A1:C10;2;3) вывести максимальное значение свою новую тему столбцов. выберите опцию «Список».Более того для диапазона
визуальный анализ таких доступны не на тот же результат:Орел A значение 2, некоторые из наиболее Только если совпаденияОбратите внимание, что для(ПОИСКПОЗ), которая находит придется изменить с месте.Формула выполняет поиск в из массива. Протянем с вопросом -номер_столбца – обязательный аргумент, Затем заполните поле табличной части создадим таблиц крайне сложно.
всех языках.Если массив содержит только09.04.12 находит наибольшее значение, полезных функций в найдены в обоих двумерного поиска нужно положение «Russia» в2Функция диапазоне
ее вправо, получив помощь придет быстро
принимающий целое число «Источник:» ссылкой на правило условного форматирования: А одним изФункция ПОИСКБ отсчитывает по одну строку или3155 которое меньше или Microsoft Excel. столбцах (т.е. оба указать всю таблицу списке:наINDEXA1:C10 аналогичную информацию по (ответ, честно говоря,
exceltable.com
Примеры функции ВПР в Excel для выборки значений по условию
из диапазона от диапазон ячеек =$A$2:$A$10,Выделите диапазон B6:J12 и заданий по работе два байта на один столбец, т.е.Орел
равняется 2 иПримечание: критерия истинны), Вы в аргументе=MATCH(«Russia»,$B$2:$B$10,0))3(ИНДЕКС) используети возвращает значение цене и сумме. уже и у 1 до N так как показано выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное с отчетом является каждый символ, только является вектором, то11.04.12 составляет 1,29, а Функция мастер подстановок больше получитеarray=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)), иначе формула возвратит3 ячейки вос выводом либо адреса меня есть). Или
Примеры использования функции ВПР в Excel
(N – номер выше на рисунке. форматирование»-«Правила выделения ячеек»-«Равно». – анализ данных если языком по второй аргумент функции3177 затем возвращает значение не доступен в1(массив) функцииДалее, задаём диапазон для
результат из только
для аргумента2-й ячейки, либо соответствующего Вы обращаетесь конкретно последнего столбца вДля отображения должности каждогоВ левом поле введите относительно заголовков строк
умолчанию является языкИНДЕКСОрел из столбца B Microsoft Excel.. Если оба критерияINDEX функции что вставленного столбца.
row_numстроке и значения с другой
к Александру (_Boroda_)?
- диапазоне), указывающее номер сотрудника, выбранного из значение $B$1, а
- и столбцов касающихся с поддержкой БДЦС.указывает номер значения
- 19.04.12 в той жеВот пример того, как
ложны, или выполняется
(ИНДЕКС).INDEXИспользуя(номер_строки), который указывает3-м
таблицы (нужно искать
Поиск значения в диапазоне ячеек по условию
А, если его столбца с возвращаемым списка, используем формулу: из правого выпадающего определенного месяца. На В противном случае в этом векторе.3357 строке. использовать функцию ВПР. только один из
А теперь давайте испытаем
(ИНДЕКС), из которогоПОИСКПОЗ из какой строкистолбце, то есть
значение в столбце) не будет месяц,
значением.Описание аргументов: списка выберите опцию первый взгляд это функция ПОИСКБ работает При этом третийОрел1,71=ВПР(B2;C2:E7,3,ИСТИНА) них – Вы
этот шаблон на
Функция ВПР и сравнение двух таблиц в Excel если не работает
нужно извлечь значение./ нужно возвратить значение. из ячейкиАлексей матевосов (alexm) предпочитаете подождать?[интервальный_просмотр] – необязательный аргумент,A14 – ячейка, содержащая «Светло-красная заливка и весьма простое задание, так же, как аргумент указывать необязательно.
28.04.12
Скопируйте всю таблицу иВ этом примере B2 получите практике. Ниже Вы
В нашем случаеИНДЕКС Т.е. получается простаяC2: Допустим, в столбцеHomo_Sapiens принимающий логические значения: искомое значение (список темно-красный цвет» и но его нельзя функция ПОИСК, иНапример, следующая формула возвращает
3492 вставьте ее в — это первый0 видите список самых это, Вы можете удалять формула:. А вы хотите: Che79, добрый день!ИСТИНА – поиск ближайшего с ФИО сотрудников); нажмите ОК. решить, используя одну
отсчитывает по одному
пятое значение из
Орел
ячейку A1 пустого
аргумент
. населённых стран мира.A2:A10
или добавлять столбцы
=INDEX($D$2:$D$10,3)
Очень просто, правда? Однако, найти ячейку сХорошо, сейчас оперативно значения в первомA2:B10 – диапазон ячеекВ ячейку B1 введите стандартную функцию. Да, байту на каждый диапазона A1:A12 (вертикальный06.05.12 листа Excel.— элемент данных, функцияТеперь понимаете, почему мы Предположим, наша задача. к исследуемому диапазону,=ИНДЕКС($D$2:$D$10;3) на практике Вы числом 18 и создам. столбце диапазона, переданного со значениями, хранящимися значение 3478 и конечно можно воспользоваться символ. вектор):3316Совет: должна работать. Функции задали
Как работает функция ВПР в Excel при выборке из таблицы значений?
узнать население СШАЗатем соединяем обе части
не искажая результат,
Формула говорит примерно следующее:
- далеко не всегда получить адрес этойМне, напротив, не в качестве аргумента в таблице; полюбуйтесь на результат. инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F,К языкам, поддерживающим БДЦС,Данная формула возвращает третьеЧелябинск Прежде чем вставлять ВПР это первый1 в 2015 году. и получаем формулу: так как определен ищи в ячейках знаете, какие строка ячейки. хотелось множить однотипные таблица, при этом2 – номер столбца,Как видно при наличии чтобы вызвать окно относятся японский, китайский значение из диапазона25.04.12 данные в Excel, аргумент — значение,
- , как искомое значение?Хорошо, давайте запишем формулу.=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0)) непосредственно столбец, содержащий от и столбец ВамФормула =АДРЕС (ПОИСКПОЗ темы на форуме. данные в этом в котором содержится дубликатов формула для поиска значений на (упрощенное письмо), китайский A1:L1(горизонтальный вектор):3346 установите для столбцов которое требуется найти. Правильно, чтобы функция Когда мне нужно
- =ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) нужное значение. Действительно,D2 нужны, и поэтому (18;A1:A10);1;1)В Excel есть очень столбце должны быть возвращаемое значение. заголовков берет заголовок
- листе Excel. Или (традиционное письмо) и
- Если Вы уже работалиЧелябинск A – С Этот аргумент можетПОИСКПОЗ создать сложную формулуПодсказка: это большое преимущество,до требуется помощь функциигде: 18 - удобная, но почему-то
- отсортированы в алфавитномПример возвращаемого результата:
с первого дубликата
- же создать для корейский. с функциями28.04.12 ширину в 250 быть ссылка навозвращала позицию только, в Excel сПравильным решением будет
- особенно когда работатьD10ПОИСКПОЗ искомое число, А1:А10 редко используемая функция, порядке. Если аргументТеперь при выборе любой по горизонтали (с таблицы правило условногоПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция])ВПР3372 пикселей и нажмите
- ячейку или фиксированным когда оба критерия вложенными функциями, то всегда использовать абсолютные приходится с большимии извлеки значение. — диапазон поиска, которая называется ИНДЕКС. явно не указан, другой фамилии из лева на право). форматирования. Но тогдаПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция])
- ,Челябинск кнопку значением, например «строфа» выполняются. я сначала каждую ссылки для объёмами данных. Вы из третьей строки,
exceltable.com
Поиск значений в диапазоне по условиям (Формулы/Formulas)
Функция 1 — номер
Удобная она потому, значение ИСТИНА устанавливается выпадающего списка, автоматически А формула для нельзя будет выполнитьАргументы функций ПОИСК иГПР01.05.12Перенос текста или 21,000. ВторойОбратите внимание: вложенную записываю отдельно.ИНДЕКС можете добавлять и то есть из
MATCH столбца А, 1
что позволяет выдавать по умолчанию. выбирается соответствующая ей
получения названия (номера)
дальнейших вычислений с
ПОИСКБ описаны ниже.и3414
excelworld.ru
Поиск нескольких значений в диапазоне ячеек (Формулы/Formulas)
(вкладка « аргумент — этоВ этом случаеИтак, начнём с двухи удалять столбцы, не ячейки(ПОИСКПОЗ) в Excel — тип ссылки значение из диапазонаЛОЖЬ – поиск точного должность. строки берет номер полученными результатами. ПоэтомуИскомый_текстПРОСМОТРЧелябинскГлавная
диапазон ячеек, C2-:E7, необходимо использовать третий
функций
ПОИСКПОЗ
беспокоясь о том,
D4
ищет указанное значениеЗначение, которое даст по заданным номерам совпадения установленному критерию. с первого дубликата необходимо создать и Обязательный. Текст, который требуется
в Excel, то01.05.12», группа « в котором выполняется не обязательный аргументПОИСКПОЗ
, чтобы диапазоны поиска что нужно будет
, так как счёт в диапазоне ячеек формула будет типа строки и столбца.Примечания:Пример 2. В таблице по вертикали (сверху
правильно применить соответствующую найти. должны знать, что3451
Выравнивание
поиск значения, которые функции
, которые будут возвращать не сбились при исправлять каждую используемую начинается со второй и возвращает относительную $A$6. Чтобы получить
На практике ИНДЕКС редко
Если в качестве аргумента содержатся данные о вниз). Для исправления формулу.Просматриваемый_текст
они осуществляют поискЧелябинск»). нужно найти. Третий
ИНДЕКС
номера строки и копировании формулы в функцию строки. позицию этого значения значение A6 тип
используется, скорее всего, [интервальный_просмотр] было передано пользователях, посетивших сайт данного решения естьСхема решения задания выглядит Обязательный. Текст, в котором
только в одномерном02.05.12Оси
аргумент — это. Он необходим, т.к. столбца для функции другие ячейки.ВПРВот такой результат получится в диапазоне. ссылки должен быть из-за того, что значение ЛОЖЬ (точное за сутки. Определить, 2 пути: примерно таким образом: нужно найти значение массиве. Но иногда3467
Подшипники столбец в диапазон
в первом аргументеИНДЕКС
Вы можете вкладывать другие. в Excel:
excelworld.ru
Функции ИНДЕКС и ПОИСКПОЗ в Excel и примеры их использования
Например, если в диапазоне 4. эти самые номер совпадение поисковому критерию), посещал ли сайтПолучить координаты первого дубликатав ячейку B1 мы аргумента приходится сталкиваться с
ЧелябинскБолты ячеек, содержащий значение, мы задаем всю: функции Excel в3. Нет ограничения наВажно! Количество строк иB1:B3Для получения значения строки и столбца а в диапазоне пользователь с любым по горизонтали (с будем вводить интересующиеискомый_текст
Пример использования функций ИНДЕКС и ПОИСКПОЗ
двумерным поиском, когда02.05.124 которое вы поиска. таблицу и должныПОИСКПОЗ для столбцаИНДЕКС
размер искомого значения. столбцов в массиве,содержатся значения New-York, из одноименной ячейки, приходится вводить каждый ячеек (аргумент таблица) ником из списка. лева на право). нас данные;. соответствия требуется искать3474
4Четвертый аргумент не является указать функции, из– мы ищемиИспользуя который использует функция Paris, London, тогда допустим с Лист2 раз. Ведь искомое искомое значение отсутствует, Если посещений не Для этого тольков ячейке B2 будетНачальная_позиция сразу по двумЧелябинск9 обязательным. Введите TRUE какого столбца нужно в столбцеПОИСКПОЗ
ВПРINDEX следующая формула возвратит нужна формула =ДВССЫЛ значение не всегда функция ВПР вернет было, отобразить соответствующее в ячейке С3
отображается заголовок столбца, Необязательный. Номер знака в параметрам. Именно в04.05.125 или FALSE. Если
извлечь значение. ВB, например, чтобы найти, помните об ограничении(ИНДЕКС), должно соответствовать цифру («Лист2!»&АДРЕС (ПОИСКПОЗ (18;A1:A10);1;1)) нужно выдавать по код ошибки #Н/Д. сообщение. Иначе – следует изменить формулу который содержит значение аргументе
таких случаях связка3490
7 ввести значение ИСТИНА нашем случае это, а точнее в минимальное, максимальное или на длину искомого
значениям аргументов3Skip порядку. Но тогдаЕсли аргумент [интервальный_просмотр] принимает
отобразить число просмотров. на: В результате ячейки B1просматриваемый_текстПОИСКПОЗЧелябинск10 или аргумент оставлен столбец диапазоне ближайшее к среднему
значения в 255row_num, поскольку «London» –: В помощь: [ссылка к функции ИНДЕКС значение ИСТИНА (илиВид исходной таблицы: получаем правильные координатыв ячейке B3 будет, с которого следуети05.05.12
6 пустым, функция возвращаетCB2:B11 значение. Вот несколько символов, иначе рискуете(номер_строки) и это третий элемент заблокирована по решению на помощь приходит явно не указан),Вид таблицы с возвращаемым как для листа,
отображается название строки,
Поиск индекса максимального числа массива в Excel
начать поиск.ИНДЕКС35038 приблизительное значение, указать(Sum), и поэтому, значение, которое указано вариантов формул, применительно
получить ошибкуcolumn_num в списке. администрации проекта]
функция ПОИСКПОЗ, которая однако столбец с значением и выпадающим так и для которая содержит значениеФункциив Excel оказывается
Челябинск11 в качестве первого мы ввели в ячейке к таблице из#VALUE!
(номер_столбца) функции=MATCH(«London»,B1:B3,0)
Андрей брижеватый как раз таки искомым значением содержит списком как в таблицы: ячейки B1.
exceltable.com
Функция в Excel для поиска конкретного значения в диапазоне ячеек
ПОИСК просто незаменимой.08.05.12Формула аргумента. Если ввести
3H2 предыдущего примера:(#ЗНАЧ!). Итак, еслиMATCH=ПОИСКПОЗ(«London»;B1:B3;0): вопрос не корректен…
позволяет найти нужную неотсортированные данные, функция
предыдущем примере:Получить координаты первого дубликатаФактически необходимо выполнить поискиНа рисунке ниже представлена3151
Описание значение FALSE, функция.(USA). Функция будет1. таблица содержит длинные
(ПОИСКПОЗ). Иначе результатФункция что именно нужно? позицию. вернет код ошибки
Для расчетов используем следующую по вертикали (сверху координат в Excel.ПОИСКБ
таблица, которая содержитНижний НовгородРезультат
будут соответствовать значение
Поиск нужных данных в диапазоне
Как использовать функцию ВПР (VLOOKUP) для поиска и выборки нужных значений из списка мы недавно разбирали. Если вы еще с ней не знакомы — загляните сюда, не пожалейте пяти минут, чтобы сэкономить себе потом несколько часов.
Если же вы знакомы с ВПР, то — вдогон — стоит разобраться с похожими функциями: ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), владение которыми весьма облегчит жизнь любому опытному пользователю Excel. Гляньте на следующий пример:
Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.
Задача решается при помощи двух функций:
=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)
Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.
Функция ИНДЕКС выбирает из диапазона A1:G13 значение, находящееся на пересечении заданной строки (номер строки с артикулом выдает функция ПОИСКПОЗ) и столбца (нам нужен регион, т.е. второй столбец).
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
- Улучшенная версия функции ВПР (VLOOKUP)
- Многоразовый ВПР
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в 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);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение:
Функция ПОИСК осуществляет поиск текста, символа, цифры в указанной области. Она похожа на функцию НАЙТИ, которая так же ищет значение в указанной области, но у них есть отличия, которые мы разберем на примерах.
Как работает функция ПОИСК в Excel
Синтаксис данной функции выглядит следующим образом:
У нас есть слово «Excel». В этом примере нужно найти положение буквы «Х» в слове. Функция возвратит значение 2, поскольку буква находится по счету на втором месте в искомых данных:
Несмотря на то, что искомая буква «Х» находится в верхнем регистре, функция нашла ее аналог в нижнем регистре и выдала результат. В этом и есть отличие с функцией НАЙТИ – она обращает внимание на соответствие регистров.
Также мы можем искать часть слова или слово в искомой области, например найти слово «Excel» в «Exceltable» и «table» во фразе «Excel table». В первом случае в результате мы получим 1, потому что слово «Excel» начинается с первого символа. Во втором случае у нас будет результат 7, потому что «table» начинается с седьмого символа:
Аргумент начальная_позиция используем, когда нужно отсчитать положение символа, начиная с которого возвратится искомое значение. Например, нужно отследить с какой позиции начинается буквенное значение кода. Если не указать номер позиции, у нас возвратится число «2», поскольку буква «о» в ячейке А8 находится второй по порядку:
Благодаря этой функции можно возвращать части фраз, которые требует условие, а не только порядочное положение символа. Для этого функцию ПОИСК нужно комбинировать с другими функциями. Однако, такие комбинации функции могут быть довольно объёмными и существуют функции, более подходящие для выполнения таких задач.
Функция ПОИСКа значения в столбце Excel
В данном примере будет использоваться формула комбинации функции ПОИСК с функциями: ЛЕВСИМВ, ПРАВСИМВ, ДЛСТР. Рассмотрим поэтапно пример, где мы сможем извлекать части фраз с текста, из которого получим искомое значение. У нас есть товар и артикул товара. Наше задание – возвратить только буквенную часть названия артикула. Для этого в ячейке C12 начинаем писать формулу. Для получения результата нам нужна функция ЛЕВСИМВ.
- Первый аргумент — текст, в котором происходит поиск (ячейка B12).
- Второй аргумент — нужна длина искомого слова. В первом артикуле она равна 3, а в последующих меняется, поэтому используем формулу ПОИСК(«_»;B12).
Формула с аргументами («_»;B12) указала, что будут возвращаться те символы, которые расположены перед символом нижнего подчеркивания. Проверим наш результат:
Функция ПОИСК возвратила число 4 (порядочное положение знака нижнего подчеркивания), и в качестве второго аргумента функции ЛЕВСИМВ указала какие символы будут находиться в ячейке С12. Пока что это не совсем то, что необходимо получить – знак «_» в идеале должен отсутствовать. Для этого немного подкорректируем формулу: перед вторым аргументом (формулой ПОИСК) отнимаем единицу, этим мы указали что вывод символов будет без знака нижнего подчеркивания (4-1):
Поскольку формула у нас динамическая, копируем ее до конца столбца и наблюдаем результат нашей работы – по каждому артикулу мы получили буквенное значение независимо от количества букв:
Если вдруг вам понадобится в этой же таблице изменить артикул – функция среагирует на изменения корректно и автоматически возвратит текстовое значение заменённого артикула. Например для товара «Бокал» будет буквенная часть «К», для «Тарелки» — «М», для «Стола» — ADCDE:
Теперь рассмотрим пример, где будем извлекать символы не ПЕРЕД нижним подчеркиванием, а ПОСЛЕ. В этом нам поможет функция ДЛСТР. Она помогает узнать длину текстовой строки. В ячейке С20 пишем формулу:
В результате она возвратила нам длину артикула товара «Бокал». Скопируем формулу до конца столбца и в следующем этапе в ячейке Е20 напишем формулу ПОИСК. Нижнее подчеркивание – это искомое значение (аргумент 1), возвращаемое значение – позиция порядковый номер положения нижнего подчеркивания. Копируем до конца столбца:
Затем нам нужен столбец, где мы от длины строки отнимаем позицию нижнего подчеркивания (9 — 4) и копируем формулу до конца столбца. То есть этот столбец содержит длину числового значения артикула (значения ПОСЛЕ нижнего подчеркивания):
Теперь в ячейке F20 пишем функцию ПРАВСИМВ, которая возвратит нам текст, часть фразы, которую мы запрашимаем. Первый аргумент функции – это ячейка, которую проверяет формула, а второй – длина возвращаемого значения:
Функция возвратила нам числовое значение артикула товара. Копируем до конца столбца и получаем результат по каждому товару:
Данный пример был рассмотрен поэтапно для более понятного алгоритма выполнения задачи, однако можно числовое значение получить одним шагом:
В этом примере мы сделали то же самое, что и ранее, только все операции сделали в одной формуле: нашли длину текста, отняли длину текста после знака «_» и возвратили эту длину функцией ПРАВСИМВ.
Как использовать функцию ПОИСК с функцией ЕСЛИ
Рассмотрим пример, где будем проверять частичное совпадение текста в проверяемом тексте. У нас есть несколько адресов и нам нужно знать локальные они или нет:
Если почтовый индекс начинается с СВ2, тогда это локальный адрес. Мы не можем использовать функцию ЕСЛИ в её обычном выражении, потому что в ячейках много другого текста. Нам нужно знать содержит ли ячейка часть «СВ2». Чтобы лучше понимать логику построения функции, будем делать это от простого к более сложному выражению:
- Строим функцию ПОИСК: 1-й аргумент – «СВ2», 2-й аргумент – ячейка А37, копируем до конца столбца. Так мы указали что и где будем искать. Там, где нет текста СВ2, возвратилась ошибка. Но сейчас у нас есть только номер позиции текста СВ2. А функция ЕСЛИ будет искать идентичное совпадение. То есть она будет искать число 11 в тексте ячейки А37, которого у нас, конечно, не будет нигде.
- Формулу функции ПОИСК вкладываем в функцию ЕЧИСЛО (имеет только 1 аргумент), которая будет указателем в дальнейшем для ЕСЛИ, что результатом функции ПОИСК является число (как сейчас, у нас 11):
- Полученную формулу вкладываем в ЕСЛИ, указывая, что для значения ИСТИНА у нас будет слово «Местный», а для значения ЛОЖЬ – «Далеко». Копируем до конца столбца:
Скачать примеры формул с функцией ПОИСК в Excel
Теперь у нас есть информация об адресах в зависимости от их почтового индекса. Вполне логичное предположение, что можно также было использовать НАЙТИ, но поскольку НАЙТИ учитывает регистр, полезнее и надежнее будет работа с ПОИСКом.
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
Время на прочтение
16 мин
Количество просмотров 236K
Добрый день, уважаемые хаброжители!
Время от времени некоторым (а может и более, чем некоторым) из нас приходится сталкиваться с задачами по обработке небольших массивов данных, начиная от составления и анализа домашнего бюджета и заканчивая какими-либо расчетами по работе, учебе и т.д. Пожалуй, наиболее подходящим инструментом для этого является Microsoft Excel (или возможно иные его аналоги, но они менее распространены).
Поиск выдал мне всего одну статью на Хабре по схожей тематике — «Талмуд по формулам в Google SpreadSheet». В ней дано хорошее описание базовых вещей для работы в excel (хотя он и не 100% про сам excel).
Таким образом, накопив определенный пул запросов/задач, появилась идея их типизировать и предложить возможные решения (пусть не все возможные, но быстро дающие результат).
Речь пойдет о решении наиболее распространенных задач, с которыми сталкиваются пользователи.
Описание решений построено следующим образом – дается кейс, содержащий исходное задание, которое постепенно усложняется, к каждому шагу дано развернутое решение с пояснениями. Наименования функций будут даваться на русском языке, но в скобках при первом упоминании будет приводиться оригинальное наименование на английском языке (т.к. по опыту у подавляющего большинства пользователей установлена русскоязычная версия).
Кейс_1: Логические функции и функции поиска совпадений
«У меня есть набор значений в табличке и необходимо что бы при выполнении определенного условия/набора условий выводилось определенное значение» (с) Пользователь
Данные, как правило, представлены в табличной форме:
Условие:
- если значение в столбце «Количество» больше 5,
- то нужно вывести в колонке «Результат» значение «Заказ не требуется»,
В этом нам поможет формула «ЕСЛИ» (IF), которая относится к логическим формулам и может выдавать в решении любые значения, которые мы заранее записываем в формуле. Обращаю внимание, что любые текстовые значения записываются, используя кавычки.
Синтаксис формулы следующий:
ЕСЛИ(лог_выражение, [значение_если_истина], [значение_если_ложь])
- Лог_выражение — выражение, дающее в результате значение ИСТИНА или ЛОЖЬ.
- Значение_если_истина — значение, которое выводится, если логическое выражение истинно
- Значение_если_ложь — значение, которое выводится, если логическое выражение ложно
Синтаксис формулы для решения:
Вывод результата в ячейку D2:
=ЕСЛИ(C5>5;«Заказ не требуется»;«Необходим заказ»)
На выходе получаем результат:
Бывает, что условие носит более сложный характер, например выполнение 2-х и более условий:
- если значение в столбце «Количество» больше 5, а значение в колонке «Тип» равно «А»
- то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».
В данном случае мы уже не можем ограничиться использованием одной только формулы «ЕСЛИ», необходимо добавить в ее синтаксис другую формулу. И это будет еще одна логическая формула «И» (AND).
Синтаксис формулы следующий:
И(логическое_значение1, [логическое_значение2], …)
- Логическое_значение1-2 и т.д. — проверяемое условие, вычисление которого дает значение ИСТИНА или ЛОЖЬ
Синтаксис решения будет следующим:
Вывод результата в ячейку D2:
=ЕСЛИ(И(C2>5;B2=«А»);1;0)
Таким образом, используя сочетание 2-х формул, мы находим решение нашей задачи и получаем результат:
Попробуем усложнить задачу – новое условие:
- если значение в столбце «Количество» равно 10, а значение в колонке «Тип» равно «А»
- или же значение в столбце «Количество» больше или равно 5, а значение «Тип» равен «Б»
- то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».
Синтаксис решения будет следующим:
Вывод результата в ячейку D2:
=ЕСЛИ(ИЛИ(И(C2=10;B2=«А»); И(C2>=5;B2=«Б»));1;0)
Как видно из записи, в формулу «ЕСЛИ» включено одно условие «ИЛИ» (OR) и два условия с использованием формулы «И», включенных в него. Если хотя бы одно из условий 2-го уровня имеет значение «ИСТИНА», то в колонку «Результат» будет выведен результат «1», в противном случае будет «0».
Результат:
Теперь перейдем к следующей ситуации:
Представим, что в зависимости от значения в столбце «Условие» должно выводиться определенное условие в столбце «Результат», ниже приведено соответствие значений и результата.
Условие:
- 1 = А
- 2 = Б
- 3 = В
- 4 = Г
При решении задачи с помощью функции «ЕСЛИ», синтаксис будет следующим:
Вывод результата в ячейку B2:
=ЕСЛИ(A2=1;«А»; ЕСЛИ(A2=2;«Б»; ЕСЛИ(A2=3;«В»; ЕСЛИ(A2=4;«Г»;0))))
Результат:
Как видно, написание подобной формулы не только не очень удобно и громоздко, но и может занять некоторое время на ее редактирование у неопытного пользователя в случае ошибки.
Минус подобного подхода в том, что он применим для небольшого количества условий, ведь, все их придется набирать вручную и «раздувать» нашу формулу до больших размеров, однако подход отличает полная «всеядность» к значениям и универсальность использования.
Альтернативное решение_1:
Использование формулы «ВЫБОР» (CHOOSE),
Синтаксис функции:
ВЫБОР(номер_индекса, значение1, [значение2], …)
- Номер_индекса — номер выбираемого аргумента-значения. Номер индекса должен быть числом от 1 до 254, формулой или ссылкой на ячейку, содержащую число в диапазоне от 1 до 254.
- Значение1, значение2,… — значение от 1 до 254 аргументов-значений, из которых функция «ВЫБОР», используя номер индекса, выбирает значение или выполняемое действие. Аргументы могут быть числами, ссылками на ячейки, определенными именами, формулами, функциями или текстом.
При ее использовании, мы сразу заносим результаты условий в зависимости от указанных значений.
Условие:
- 1 = А
- 2 = Б
- 3 = В
- 4 = Г
Синтаксис формулы:
=ВЫБОР(A2;«А»;«Б»;«В»;«Г»)
Результат аналогичен решению с цепочкой функций «ЕСЛИ» выше.
При применении этой формулы существуют следующие ограничения:
В ячейку «А2» (номер индекса) могут быть указаны только цифры, а значения результата будут выводиться в порядке возрастания от 1 до 254 значений.
Иными словами, функция будет работать только если в ячейке «А2» указаны цифры от 1 до 254 в порядке возрастания и это накладывает определенные ограничения при использовании этой формулы.
Т.е. если мы захотим, что бы значение «Г» выводилось при указании числа 5,
- 1 = А
- 2 = Б
- 3 = В
- 5 = Г
то формула будет иметь следующий синтаксис:
Вывод результата в ячейку B2:
=ВЫБОР(A31;«А»;«Б»;«В»;;«Г»)
Как видно, значение «4» в формуле нам приходится оставить пустым и перенести результат «Г» на порядковый номер «5».
Альтернативное решение_2:
Вот мы и подошли к одной из самых популярных функций Excel, овладение которой автоматически превращает любого офисного работника в «опытного пользователя excel» /sarcasm/.
Синтаксис формулы:
ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр])
- Искомое_значение – значение, поиск которого осуществляется функцией.
- Таблица – диапазон ячеек, содержащий данные. Именно в этих ячейках будет происходить поиск. Значения могут быть текстовыми, числовыми или логическими.
- Номер_столбца — номер столбца в аргументе «Таблица», из которого будет выводиться значение в случае совпадения. Важно понимать, что отсчет столбцов происходит не по общей сетке листа (A.B,C,D и т.д.), а внутри массива, указанного в аргументе «Таблица».
- Интервальный_просмотр — определяет, какое совпадение должна найти функция — точное или приблизительное.
Важно: функция «ВПР» ищет совпадение только по первой уникальной записи, если искомое_значение присутствует в аргументе «Таблица» несколько раз и имеет разные значения, то функция «ВПР» найдет только самое ПЕРВОЕ совпадение, результаты по всем остальным совпадениям показаны не будутИспользование формулы «ВПР» (VLOOKUP) связано с еще одним подходом в работе с данными, а именно с формированием «справочников».
Суть подхода в создании «справочника» соответствия аргумента «Искомое_значение» определенному результату, отдельно от основного массива, в котором прописываются условия и соответствующие им значения:
Затем в рабочей части таблицы уже прописывается формула со ссылкой на справочник, заполненный ранее. Т.е. в справочнике в столбце «D» происходит поиск значения из столбца «А» и при нахождении соответствия выводится значение из столбца «Е» в столбец «В».
Синтаксис формулы:
Вывод результата в ячейку B2:
=ВПР(A2;$D$2:$E$5;2;0)
Результат:
Теперь представим ситуацию, когда необходимо подтянуть данные в одну таблицу из другой, при этом таблицы не идентичны. См. пример ниже
Видно, что строки в столбцах «Продукт» обеих таблиц не совпадают, однако, это не является препятствием для использования функции «ВПР».
Вывод результата в ячейку B2:
=ВПР($A3;$H$3:$M$6;2;0)
Но при решении сталкиваемся с новой проблемой – при «протягивании» написанной нами формулы вправо от столбца «В» до столбца «Е», нам придется вручную заменять аргумент «номер_столбца». Дело это трудоемкое и неблагодарное, потому, на помощь нам приходит другая функция — «СТОЛБЕЦ» (COLUMN).
Синтаксис функции:
СТОЛБЕЦ([ссылка])
- Ссылка — ячейка или диапазон ячеек, для которых требуется возвратить номер столбца.
Если использовать запись типа:
=СТОЛБЕЦ()
то функция выведет номер текущего столбца (в ячейке которого написана формула).
В результате получается число, которое можно использовать в функции «ВПР», чем мы и воспользуемся и получаем следующую запись формулы:
Вывод результата в ячейку B2:
=ВПР($A3;$H$3:$M$6; СТОЛБЕЦ();0)
Функция «СТОЛБЕЦ» определит номер текущего столбца, который будет использоваться аргументом «Номер_столбца» для определения номера столбца поиска в справочнике.
Кроме того, можно использовать конструкцию:
=СТОЛБЕЦ()-1
Вместо числа «1» можно использовать любое число (а также не только вычитать его, но и прибавлять к полученному значению), для получения желаемого результата, если нет желания ссылаться на определенную ячейку в столбце с нужным нам номером.
Получившийся результат:
Продолжаем развивать тему и усложняем условие: представим, что у нас есть два справочника с разными данными по продуктам и необходимо вывести в таблицу с результатом значения в зависимости от того, какой тип справочника указан в колонке «Справочник»
Условие:
- Если в столбце «Справочник» указано число 1, данные должны тянуться из таблицы «Справочник_1», если число 2, то из таблицы «Справочник_2» в соответствии с указанным месяцем
Вариант решения, который сразу приходит на ум, следующий:
Вывод результата в ячейку C3:
=ЕСЛИ($B3=1; ВПР($A3;$G$3:$I$6; СТОЛБЕЦ()-1;0); ВПР($A3;$K$3:$M$6; СТОЛБЕЦ()-1;0))
Плюсы: наименование справочника может быть любым (текст, цифры и их сочетание), минусы – плохо подходит, если вариантов более 3-х.
Если же номера справочников всегда представляют собой числа, имеет смысл использовать следующее решение:
Вывод результата в ячейку C3:
=ВПР($A3; ВЫБОР($B3;$G$3:$I$6;$K$3:$M$6); СТОЛБЕЦ()-1;0)
Плюсы: формула может включать до 254 наименований справочников, минусы – их наименование должно быть строго числовым.
Результат для формулы с использованием функции «ВЫБОР»:
Бонус: ВПР по двум и более признакам в аргументе «искомое_значение».
Условие:
- Представим, что у нас как всегда есть массив данных в табличной форме (если нет, то мы к нему приводим данные), из массива по определенным признакам необходимо получить значения и поместить их в другую табличную форму.
Обе таблицы приведены ниже:
Как видно из табличных форм, каждая позиция имеет не только наименование (которое не является уникальным), но также и относится к определенному классу и имеет свой вариант фасовки.
Используя сочетание имени и класса и фасовки, мы можем создать новый признак, для этого в таблице с данными создаем дополнительный столбец «Доп.признак», который заполняем при помощи следующей формулы:
=H3&»_»&I3&»_»&J3
Используя символ «&», объединяем три признака в один (разделитель между словами может быть любым, как и не быть вовсе, главное использовать аналогичное правило и для поиска)
Аналогом формулы может быть функция «СЦЕПИТЬ» (CONCATENATE), в этом случае она будет выглядеть следующим образом:
=СЦЕПИТЬ(H3;»_»;I3;»_»;J3)
После того, как дополнительный признак создан для каждой записи в таблице с данными, приступаем к написанию функции поиска по этому признаку, которая будет иметь вид:
Вывод результата в ячейку D3:
=ЕСЛИОШИБКА(ВПР(A2&»_»&B2&»_»&C2;$G$2:$K$6;5;0);0)
В функции «ВПР» в качестве аргумента «искомое_значение» используем все ту же связку трех признаков (наименование_класс_фасовка), но берем ее уже в таблице для заполнения и заносим непосредственно в аргумент (как вариант, можно было бы выделить значение для аргумента в дополнительный столбец в таблице для заполнения, но это действие будет излишним).
Напоминаю, что использование функции «ЕСЛИОШИБКА» (IFERROR) необходимо, если искомое значение так и не будет найдено, и функция «ВПР» выведет нам значение «#Н/Д» (об этом ниже).
Результат на картинке ниже:
Данный прием можно использовать и для большего количества признаков, единственное условие – уникальность получаемых комбинаций, если она не соблюдается, то результат будет некорректным.
Кейс_3 Поиск значения в массиве, или когда ВПР не в силах нам помочь
Рассмотрим ситуацию, когда необходимо понять, есть ли в массиве ячеек нужные нам значения.
Задача:
- в столбце «Условие поиска» указано значение и необходимо определить, присутствует ли оно в столбце «Массив для поиска»
Визуально все выглядит в следующем виде:
Как мы видим, функция «ВПР» тут бессильна, т.к. мы ищем не точное совпадение, а именно наличие в ячейке нужного нам значения.
Для решения задачи необходимо использовать комбинацию нескольких функций, а именно:
«ЕСЛИ»
«ЕСЛИОШИБКА»
«СТРОЧН»
«НАЙТИ»
По порядку обо всех, «ЕСЛИ» мы уже разобрали ранее, потому перейдем к функции «ЕСЛИОШИБКА» (IFERROR)
ЕСЛИОШИБКА(значение, значение_при_ошибке)
- Значение — аргумент, проверяемый на возникновение ошибок.
- Значение_при_ошибке — значение, возвращаемое при ошибке при вычислении по формуле. Возможны следующие типы ошибок: #Н/Д, #ЗНАЧ!, #ССЫЛКА!, #ДЕЛ/0!, #ЧИСЛО!, #ИМЯ? и #ПУСТО!.
Важно: данная формула практически всегда обязательна при работе с массивами информации и справочниками, т.к. зачастую бывает, что искомое значение не находится в справочнике и в этом случае функция возвращает ошибку. Если же в ячейке выводится ошибка и ячейка участвует, например, в вычислении, то оно так же произойдет с ошибкой. Плюс ко всему, ячейкам, где формула возвратила ошибку можно присваивать различные значения, которые облегчают их статистическую обработку. Также, в случае ошибки можно выполнять другие функции, что очень удобно при работе с массивами и позволяет строить формулы с учетом довольно разветвленных условий.
«СТРОЧН» (LOWER)
СТРОЧН(текст)
- Текст — текст, преобразуемый в нижний регистр.
Важно: функция «СТРОЧН» не заменяет знаки, не являющиеся буквами.
Роль в формуле: поскольку функция «НАЙТИ» (FIND) осуществляет поиск и учетом регистра текста, то необходимо привести весь текст к одному регистру, в противном случае «чАй» будет не равно «чай» и т.д. Это актуально, если значение регистра не является условием поиска и отбора значений, в противном случае формулу «СТРОЧН» можно не использовать, так поиск будет более точным.
Теперь подробнее о синтаксисе функции «НАЙТИ» (FIND).
НАЙТИ(искомый_текст, просматриваемый_текст, [нач_позиция])
- Искомый_текст — текст, который необходимо найти.
- Просматриваемый_текст — текст, в котором нужно найти искомый текст.
- Нач_позиция — знак, с которого нужно начать поиск. Первый знак в тексте «просматриваемый_текст» имеет номер 1. Если номер не указан, он по умолчанию считается равным 1.
Синтаксис формулы-решения будет иметь вид:
Вывод результата в ячейку B2:
=ЕСЛИ(ЕСЛИОШИБКА(НАЙТИ(СТРОЧН(A2); СТРОЧН(E2);1);0)=0;«fail»;«bingo!»)
Разберем логику формулы по действиям:
- СТРОЧН(A2) – преобразует аргумент «Искомый_текст» в ячейке в А2 в текст с нижним регистром
- Функция «НАЙТИ» начинает поиск преобразованного аргумента «Искомый_текст» в массиве «Просматриваемый_текст», который преобразовывается функцией «СТРОЧН(E2)», также в текст с нижним регистром.
- В случае если, функция находит совпадение, т.е. возвращает порядковый номер первого символа совпадающего слова/значения, срабатывает условие ИСТИНА в формуле «ЕСЛИ», т.к. полученное значение не равно нулю. Как результат, в столбце «Результат» будет выведено значение «Bingo!»
- Если же, функция не находит совпадение т.е. порядковый номер первого символа совпадающего слова/значения не указывается и вместо значения возвращается ошибка, срабатывает условие, заложенное в формулу «ЕСЛИОШИБКА» и возвращается значение равное «0», что соответствует условию ЛОЖЬ в формуле «ЕСЛИ», т.к. полученное значение равно «0». Как результат, в столбце «Результат» будет выведено значение «fail».
Как видно из рисунка выше, благодаря функциям «СТРОЧН» и «НАЙТИ» мы находим искомые значения вне зависимости от регистра символов, и места нахождения в ячейке, но необходимо обратить внимание на строку 5.
Условие поиска задано как «111», но в массиве поиска указано значение «1111111 печенюшки», однако формула выдает результат «Bingo!». Это происходит потому, что значение «111» входит в ряд значений «1111111», как следствие находится совпадение. В обратном случае данное условие не сработает.
Кейс_4 Поиск значения в массиве по нескольким условиям, или когда ВПР тем более не в силах нам помочь
Представим ситуацию, когда необходимо найти значение из «Таблица с результатом» в двумерном массиве «Справочник» по нескольким условиям, а именно по значению «Наименование» и «Месяц».
Табличная форма задания будет иметь следующий вид:
Условие:
- В таблицу с результатом необходимо подтянуть данные в соответствии с совпадением условий «Наименование» и «Месяц».
Для решения подобной задачи подойдет комбинация функций «ИНДЕКС» и «ПОИСКПОЗ»
Синтаксис функции «ИНДЕКС» (INDEX)
ИНДЕКС(массив, номер_строки, [номер_столбца])
- Массив — диапазон ячеек, из которого будут показываться значения в случае совпадения условий их поиска.
- Если массив содержит только одну строку или один столбец, аргумент «номер_строки» или «номер_столбца» соответственно не является обязательным.
- Если массив занимает больше одной строки и одного столбца, а из аргументов «номер_строки» и «номер_столбца» задан только один, то функция «ИНДЕКС» возвращает массив, состоящий из целой строки или целого столбца аргумента «массив».
- Номер_строки — номер строки в массиве, из которой требуется возвратить значение.
- Номер_столбца — номер столбца в массиве, из которого требуется возвратить значение.
Иными словами функция возвращает из указанного массива в аргументе «Массив» значение, которое находится на пересечении координат, указанных в аргументах «Номер_строки» и «Номер_столбца».
Синтаксис функции «ПОИСКПОЗ» (MATCH)
ПОИСКПОЗ(искомое_значение, просматриваемый_массив, [тип_сопоставления])
- Искомое_значение — значение, которое сопоставляется со значениями в аргументе просматриваемый_массив. Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.
- Просматриваемый_массив — диапазон ячеек, в которых производится поиск.
- Тип_сопоставления — необязательный аргумент. Число -1, 0 или 1.
Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне.
Суть использования комбинации функций «ИНДЕКС» и «ПОИСКПОЗ» в том, то мы производим поиск координат значений по их наименованию по «осям координат».
Осью Y будет столбец «Наименование», а осью X – строка «Месяцы».
часть формулы:
ПОИСКПОЗ($A4;$I$4:$I$7;0)
возвращает число по оси Y, в данном случае оно будет равно 1, т.к. значение «А» присутствует в искомом диапазоне и имеет относительную позицию «1» в этом диапазоне.
часть формулы:
ПОИСКПОЗ(B$3;$J$3:$L$3;0)
возвращает значение #Н/Д, т.к. значение «1» отсутствует в просматриваемом диапазоне.
Таким образом, мы получили координаты точки (1; #Н/Д) которые функция «ИНДЕКС» использует для поиска в аргументе «Массив».
Полностью написанная функция для ячейки B4 будет иметь следующий вид:
=ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0))
По сути, если бы мы знали координаты нужного нам значения, функция выглядела бы следующим образом:
=ИНДЕКС($J$4:$L$7;1;#Н/Д))
Поскольку, аргумент «Номер_столбца» имеет значение «#Н/Д», то результат для ячейки «B4» будет соответствующий.
Как видно из получившегося результата не все значения в таблице с результатом находят совпадение со справочником и в итоге мы видим, что часть значений в таблице выводится в виде «#Н/Д», что затрудняет использование данных для дальнейших расчетов.
Результат:
Что бы нейтрализовать этот негативный эффект используем функцию «ЕСЛИОШИБКА», о которой мы читали ранее, и заменяем значение, возвращающееся при ошибке на «0», тогда формула будет иметь вид:
Вывод результата в ячейку B4:
=ЕСЛИОШИБКА(ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0));0)
Демонстрация результата:
Как видно на картинке, значения «#Н/Д» более не мешают нам в последующих вычислениях с использованием значений в таблице с результатом.
Кейс_5 Поиск значения в диапазоне чисел
Представим, что нам необходимо дать определенный признак числам, входящим в определенный диапазон.
Условие:
В зависимости от стоимости продукта ему должна присваиваться определенная категория
Если значение находится в диапазоне
- От 0 до 1000 = А
- От 1001 до 1500 = Б
- От 1501 до 2000 = В
- От 2001 до 2500 = Г
- Более 2501 = Д
Функция ПРОСМОТР (LOOKUP) возвращает значение из строки, столбца или массива. Функция имеет две синтаксических формы: векторную и форму массива.
ПРОСМОТР(искомое_значение; просматриваемый_вектор; [вектор_результатов])
- Искомое_значение — значение, которое функция ПРОСМОТР ищет в первом векторе. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой на значение.
- Просматриваемый_вектор — диапазон, состоящий из одной строки или одного столбца. Значения в аргументе просматриваемый_вектор могут быть текстом, числами или логическими значениями.
- Значения в аргументе просматриваемый_вектор должны быть расположены в порядке возрастания: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ПРОСМОТР может возвратить неправильный результат. Текст в нижнем и верхнем регистрах считается эквивалентным.
- Вектор_результатов — диапазон, состоящий из одной строки или столбца. Вектор_результатов должен иметь тот же размер, что и просматриваемый_вектор.
Вывод результата в ячейку B3:
=ПРОСМОТР(E3;$A$3:$A$7;$B$3:$B$7)
Аргументы «Просматриваемый_вектор» и «Вектор_результата» можно записать в форме массива – в этом случае не придется выводить их в отдельную таблицу на листе Excel.
В этом случае функция будет выглядеть следующим образом:
Вывод результата в ячейку B3:
=ПРОСМОТР(E3;{0;1001;1501;2001;2501};{«А»;«Б»;«В»;«Г»;«Д»})
Кейс_6 Суммирование чисел по признакам
Для суммирования чисел по определенным признакам можно использовать три разных функции:
СУММЕСЛИ (SUMIF) – суммирует только по одному признаку
СУММЕСЛИМН (SUMIFS) – суммирует по множеству признаков
СУММПРОИЗВ (SUMPRODUCT) – суммирует по множеству признаков
Существует также вариант с использованием «СУММ» (SUM) и функции формулы массивов, когда формула «СУММ» возводится в массив:
({=СУММ(()*())}
но такой подход довольно неудобен и полностью перекрывается по функционалу формулой «СУММПРОИЗВ»
Теперь подробнее по синтаксису «СУММПРОИЗВ»:
СУММПРОИЗВ(массив1, [массив2], [массив3],…)
- Массив1 — первый массив, компоненты которого нужно перемножить, а затем сложить результаты.
- Массив2, массив3… — от 2 до 255 массивов, компоненты которых нужно перемножить, а затем сложить результаты.
Условие:
- Найти общую сумму по стоимости отгрузок по каждому из продуктов за определенный период:
Как видно из таблицы с данными, что бы посчитать стоимость необходимо цену умножить на количество, а полученное значение, применив условия отбора переносить в таблица с результатом.
Однако, формула «СУММПРОИЗ» позволяет проводить такие расчеты внутри формулы.
Вывод результата в ячейку B4:
=СУММПРОИЗВ(($A4=$H$3:$H$11)*($K$3:$K$11>=B$3)*($K$3:$K$11<C$3);($M$3:$M$11)*($L$3:$L$11))
Разберем формулу по частям:
($A4=$H$3:$H$11)
– задаем условие по отбору в столбце «Наименование» таблицы с данными по столбцу «Наименование» в таблице с результатом
($K$3:$K$11>=B$3)*($K$3:$K$11<C$3)
– задаем условие по временным рамкам, дата больше или равна первого числа текущего месяца, но меньше первого числа месяца следующего. Аналогично – условие в таблице с результатом, массив – в таблице с данными.
($M$3:$M$11)*($L$3:$L$11)
– перемножаем столбцы «Количество» и «Цена» в таблице с данными.
Несомненным плюсом данной функции является свободный порядок записи условий, их можно записывать в любом порядке, на результат это не повлияет.
Результат:
Теперь усложним условие и добавим требование, что бы отбор по наименованию «печеньки» происходил только по классам «малые» и «большие», а по наименованию «булки» все, кроме по классу «с джемом»:
Вывод результата в ячейку B4:
=СУММПРОИЗВ(($A4=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»));($L$3:$L$11*$K$3:$K$11))
В формуле для отбора по печенькам добавилось новое условие:
(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»))
– как видно, два или более условия по одному столбцу выделяются в отдельную группу при помощи символа «+» и заключения условий в дополнительные скобки.
В формуле для отбора по булкам также добавилось новое условие:
=СУММПРОИЗВ(($A5=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*($I$3:$I$11<>«с джемом»);($L$3:$L$11)*($K$3:$K$11))
это:
($I$3:$I$11<>«с джемом»)
– на самом деле, в данной формуле можно было написать условие отбора также как и при отборе по печенькам, но тогда, пришлось бы перечислять три условия в формуле, в данном случае, проще написать исключение – не равно «с джемом» для этого используем значение «<>».
Вообще, если группы признаков/классов заранее известны, то лучше объединять их в эти группы, создавая справочники, чем записывать все условия в функцию, раздувая ее.
Результат:
Что ж, вот мы и подошли к концу нашего краткого мануала, который на самом деле мог бы быть намного больше, но целью было все-таки дать решение наиболее встречающихся ситуаций, а не описывать решение частных (но гораздо более интересных случаев).
Надеюсь, что мануал поможет кому-нибудь в решении задач при помощи Excel, ведь это будет значить, что мой труд не пропал зря!
Спасибо за уделенное время!