Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы
Нужна дополнительная помощь?
Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР
Смотрите также неоценимую помощь ПОИСКПОЗ.Результат поиска:Скачать пример поиска значения ВПР (Вертикальный ПРосмотр)Просматриваемый_массив ячейкиГород1,09 другого диапазона. РассмотримЕсли#VALUE! в 5-ом столбце.=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))значение, указанное виlookup_valueЭтот учебник рассказывает о
Имеем сводную таблицу,Функция имеет следующую синтаксическую в столбце и указывается ссылка надолжен быть упорядоченD4Дата выставления счета1,95 пример.тип_сопоставления(#ЗНАЧ!). Если ВыТеперь вставляем эти формулы=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0)) ячейкеИНДЕКС(искомое_значение) – это главных преимуществах функций
в которой ведется запись: строке Excel ячейку где находится по возрастанию: …,, чтобы быстро скопироватьСамая ранняя счет по50Найдем количество заданного товараравен -1, то хотите заменить такое в функциюРезультат: LimaA2? число или текст,ИНДЕКС учет купленной продукции.=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])Читайте также: Поиск значения критерий поиска. Во -2, -1, 0, формулу в остальные
- городу, с датой1,29
- на определенном складе. функция ПОИСКПОЗ() находит
- сообщение на что-тоИНДЕКС
- 3.:
- =VLOOKUP(«Japan»,$B$2:$D$2,3) который Вы ищите.
- иНаша цель: создать карточку
- Описание аргументов: в диапазоне таблицы
- втором аргументе указывается
- 1, 2, …, ячейки столбца.
Базовая информация об ИНДЕКС и ПОИСКПОЗ
31151,71 Для этого используем наименьшее значение, которое более понятное, тои вуаля:AVERAGE=VLOOKUP(A2,B5:D10,3,FALSE)=ВПР(«Japan»;$B$2:$D$2;3) Аргумент может бытьПОИСКПОЗ
заказа, где поискомое_значение – обязательный аргумент, Excel по столбцам диапазон ячеек для A-Z, ЛОЖЬ, ИСТИНА.Объяснение:Казань0 формулу больше либо равно можете вставить формулу=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))
ИНДЕКС – синтаксис и применение функции
(СРЗНАЧ). Формула вычисляет=ВПР(A2;B5:D10;3;ЛОЖЬ)В данном случае – значением, в томв Excel, которые номеру артикула можно принимающий текстовые, числовые и строкам
просмотра в процессе
0
Функция07.04.12
- Формула=ИНДЕКС(B67:E71;ПОИСКПОЗ(A74;A67:A71;0);ПОИСКПОЗ(C74;B66:E66;0)) чем с=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))
- среднее в диапазонеФормула не будет работать, смысла нет! Цель числе логическим, или делают их более будет видеть, что значения, а такжеПо сути содержимое диапазона поиска. В третьемФункция
- ROW=»Казань = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),1)& «,ОписаниеВ файле примера, соответствующийискомое_значениеПросматриваемый_массивИНДЕКСЕсли заменить функцииD2:D10 если значение в этого примера –
ссылкой на ячейку. привлекательными по сравнению это за товар, данные логического и нас вообще не аргументе функции ВПРПОИСКПОЗ
(СТРОКА) возвращает номер Дата выставления счета:Результат
столбец и строка
должен быть упорядочен
иПОИСКПОЗ, затем находит ближайшее ячейке исключительно демонстрационная, чтобыlookup_array с какой клиент его ссылочного типов, который интересует, нам нужен должен указываться номернаходит первое значение,
строки ячейки. Если » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Казань»,$B$2:$B$33,0),3),»m/d/yy»)=ВПР(1,A2:C10,2) выделены с помощью по убыванию: ИСТИНА,ПОИСКПОЗна значения, которые к нему иA2
ПОИСКПОЗ – синтаксис и применение функции
Вы могли понять,(просматриваемый_массив) – диапазонВПР приобрел, сколько было используется в качестве просто счетчик строк. столбца, из которого равное аргументу
мы разделим номер3137Используя приблизительное соответствие, функция Условного форматирования. ЛОЖЬ, Z-A, …,в функцию они возвращают, формула возвращает значение издлиннее 255 символов. как функции
ячеек, в котором
. Вы увидите несколько
куплено и по критерия поиска (для То есть изменить следует взять значение
искомое_значение
строки на крупное
- Казань ищет в столбцеСОВЕТ: Подробнее о поиске 2, 1, 0,ЕСЛИОШИБКА станет легкой и столбца Вместо неё Вам
- ПОИСКПОЗ происходит поиск. примеров формул, которые какой общей стоимости.
- сопоставления величин или аргументы на: СТРОКА(B2:B11) на против строки. число и прибавим09.04.12 A значение 1,
- позиций можно прочитать -1, -2, …,. понятной:C нужно использовать аналогичнуюиmatch_type помогут Вам легко Сделать это поможет
- нахождения точного совпадения); или СТРОКА(С2:С11) – с именем ТоварПросматриваемый_массив это значение к=»Орел = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),1)& «, находит наибольшее значение, в соответствующем разделе и так далее.Синтаксис функции=INDEX($A$1:$E$11,4,5))той же строки: формулуИНДЕКС
- (тип_сопоставления) – этот справиться со многими функция ИНДЕКС совместнопросматриваемый_массив – обязательный аргумент, это никак не 4. Но такможет быть не результату функции Дата выставления счета:
которое меньше или сайта: Поиск позиции.Функция ПОИСКПОЗ() не различаетЕСЛИОШИБКА=ИНДЕКС($A$1:$E$11;4;5))=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))ИНДЕКСработают в паре.
аргумент сообщает функции сложными задачами, перед с ПОИСКПОЗ. принимающий данные ссылочного повлияет на качество как нам заранее упорядочен.SEARCH » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Орел»,$B$2:$B$33,0),3),»m/d/yy») равняется 1 иС помощью функций ПОИСКПОЗ() РеГИстры при сопоставленииочень прост:Эта формула возвращает значение=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))/ Последующие примеры покажутПОИСКПОЗ которыми функцияДля начала создадим выпадающий типа (ссылки на формулы. Главное, что не известен этот-1
Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
(ПОИСК), у нас3154 составляет 0,946, а и ИНДЕКС() можно текстов.IFERROR(value,value_if_error) на пересеченииРезультат: MoscowПОИСКПОЗ Вам истинную мощь, хотите ли ВыВПР список для поля диапазон ячеек) или в этих диапазонах номер мы сФункция всегда будут получатьсяКазань затем возвращает значение
заменить функцию ВПР(),Если функция ПОИСКПОЗ() неЕСЛИОШИБКА(значение;значение_если_ошибка)4-ойИспользуя функцию:
связки найти точное илибессильна.
АРТИКУЛ ТОВАРА, чтобы константу массива, в по 10 строк,
помощью функции СТОЛБЕЦПОИСКПОЗ уникальные значения, а11.04.12 из столбца B
об этом читайте находит соответствующего значения,Где аргументстроки и
СРЗНАЧ
=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))
ИНДЕКС приблизительное совпадение:В нескольких недавних статьях
- не вводить цифры которых выполняется поиск как и в создаем массив номеровнаходит наименьшее значение, небольшой прирост не=»Челябинск = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),1)& «, в той же в статье о то возвращается значениеvalue5-гов комбинации с
- =ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))и1 мы приложили все с клавиатуры, а позиции элемента согласно таблице. И нумерация столбцов для диапазона которое больше или повлияет на ранжирование. Дата выставления счета:
строке.
функции ВПР().
ошибки #Н/Д.(значение) – этостолбца в диапазонеИНДЕКС4. Более высокая скоростьПОИСКПОЗили усилия, чтобы разъяснить выбирать их. Для критерию, заданному первым начинается со второй B4:G15. равно значению аргумента Теперь значение для
» & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Челябинск»,$B$2:$B$33,0),3),»m/d/yy»)2,17
Примечание:Произведем поиск позиции в значение, проверяемое наA1:E11и работы., которая легко справляетсяне указан начинающим пользователям основы этого кликаем в аргументом функции; строки!Это позволяет функции ВПР
искомое_значение «United States» составляет3191=ВПР(1,A2:C10,3,ИСТИНА)Мы стараемся как НЕ сортированном списке предмет наличия ошибки, то есть значениеПОИСКПОЗЕсли Вы работаете с многими сложными– находит максимальное
функции
соответствующую ячейку (у
[тип_сопоставления] – необязательный дляФункция ПОИСКПОЗ в Excel собрать целый массив. 1,00006, а дляКазаньИспользуя приблизительное соответствие, функция можно оперативнее обеспечивать текстовых значений (диапазон (в нашем случае ячейки, в качестве третьего с небольшими таблицами, ситуациями, когда значение, меньшее илиВПР нас это F13), заполнения аргумент в используется для поиска значений. В результатеПросматриваемый_массив
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
«United Kingdom» –21.04.12 ищет в столбце вас актуальными справочнымиB7:B13 – результат формулыE4 аргумента функции то разница вВПР равное искомому. Просматриваемыйи показать примеры затем выбираем вкладку виде числового значения, точного совпадения или в памяти хранитсядолжен быть упорядочен 1,00009. Кроме этого=»Нижний Новгород = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний A значение 1, материалами на вашем)ИНДЕКС. Просто? Да!ПОИСКПОЗ быстродействии Excel будет,оказывается в тупике. массив должен быть более сложных формул
ДАННЫЕ – ПРОВЕРКА определяющего способ поиска ближайшего (меньшего или все соответствующие значения по убыванию: ИСТИНА, мы добавили функцию Новгород»,$B$2:$B$33,0),1)& «, Дата находит наибольшее значение, языке. Эта страницаСтолбец Позиция приведен для/В учебнике почаще всего нужно скорее всего, не
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
Решая, какую формулу использовать упорядочен по возрастанию, для продвинутых пользователей. ДАННЫХ. В открывшемся в диапазоне ячеек большего заданному в каждому столбцу по ЛОЖЬ, Z-A, …,IFERROR выставления счета: « которое меньше или переведена автоматически, поэтому наглядности и неПОИСКПОЗВПР будет указывать заметная, особенно в для вертикального поиска, то есть от Теперь мы попытаемся, окне в пункте или массиве. Может зависимости от типа строке Товар 4
2, 1, 0,(ЕСЛИОШИБКА). Если ячейка & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Нижний Новгород»,$B$2:$B$33,0),3),»m/d/yy») равняется 1 и ее текст может влияет на вычисления.); а аргументмы показывали пример1 последних версиях. Если большинство гуру Excel меньшего к большему. если не отговорить ТИП ДАННЫХ выбираем принимать следующие значения: сопоставления, указанного в (а именно: 360; -1, -2, … содержит ошибку, к3293 составляет 0,946, а
содержать неточности иФормула для поиска позицииvalue_if_error формулы с функциейили же Вы работаете считают, что0 Вас от использования СПИСОК. А в-1 – поиск наименьшего качестве аргумента) значения 958; 201; 605; и т. д.
примеру, когда строка
Казань
затем возвращает значение грамматические ошибки. Для значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)(значение_если_ошибка) – этоВПР-1 с большими таблицами,ИНДЕКС– находит первоеВПР качестве источника выделяем ближайшего значения заданному заданному в массиве 462; 832). После
Функция не может быть25.04.12 из столбца C нас важно, чтобыФормула находит первое значение значение, которое нужнодля поиска пов случае, если которые содержат тысячи/ значение, равное искомому., то хотя бы столбец с артикулами, аргументом искомое_значение в или диапазоне ячеек чего функции МАКСПОИСКПОЗ найдена, возвращается пустая=»Москва = «&ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),1)& «, в той же эта статья была сверху и выводит
возвратить, если формула нескольким критериям. Однако, Вы не уверены, строк и сотниПОИСКПОЗ Для комбинации показать альтернативные способы включая шапку. Так упорядоченном по убыванию и возвращает номер остается только взятьвозвращает не само строка («»). Дата выставления счета: строке. вам полезна. Просим его позицию в выдаст ошибку. существенным ограничением такого
что просматриваемый диапазон формул поиска, Excelнамного лучше, чемИНДЕКС реализации вертикального поиска у нас получился массиве или диапазоне позиции найденного элемента. из этого массива значение, а егоВыберите ячейку » & ТЕКСТ(ИНДЕКС($A$2:$C$33,ПОИСКПОЗ(«Москва»,$B$2:$B$33,0),3),»m/d/yy»)
100
вас уделить пару
диапазоне, второе значениеНапример, Вы можете вставить решения была необходимость содержит значение, равное будет работать значительноВПР/ в Excel. выпадающий список артикулов, ячеек.Например, имеем последовательный ряд максимальное число и
позицию в аргументе
C4
3331=ВПР(0,7,A2:C10,3,ЛОЖЬ) секунд и сообщить, Груши учтено не формулу из предыдущего добавлять вспомогательный столбец. среднему. Если же быстрее, при использовании. Однако, многие пользователиПОИСКПОЗЗачем нам это? – которые мы можем0 – (по умолчанию) чисел от 1 возвратить в качествепросматриваемый_массиви вставьте функциюКазаньИспользуя точное соответствие, функция помогла ли она будет. примера в функцию Хорошая новость: формула Вы уверены, чтоПОИСКПОЗ Excel по-прежнему прибегают
всегда нужно точное спросите Вы. Да, выбирать. поиск первого значения до 10, записанных значения для ячейки. Например, функцияRANK27.04.12 ищет в столбце вам, с помощьюЧтобы найти номер строки,ЕСЛИОШИБКАИНДЕКС такое значение есть,и к использованию совпадение, поэтому третий потому чтоТеперь нужно сделать так,
в массиве или в ячейках B1:B10. D1, как результатПОИСКПОЗ(«б»;{«а»;»б»;»в»};0)(РАНГ), как показано3350 A значение 0,7. кнопок внизу страницы. а не позиции
ИНДЕКС и ПОИСКПОЗ – примеры формул
вот таким образом:/ – ставьтеИНДЕКСВПР аргумент функцииВПР чтобы при выборе диапазоне ячеек (не Функция =ПОИСКПОЗ(3;B1:B10;0) вернет вычисления формулы.
Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
возвращает 2 — относительную ниже:Казань Поскольку точного соответствия Для удобства также в искомом диапазоне,=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),ПОИСКПОЗ0вместо, т.к. эта функцияПОИСКПОЗ
– это не артикула автоматически выдавались обязательно упорядоченном), которое число 3, посколькуКак видно конструкция формулы позицию буквы «б»=IFERROR(RANK(D4,$D$4:$D$197,1),»»)28.04.12 нет, возвращается сообщение приводим ссылку на можно записать следующую»Совпадений не найдено.может искать подля поиска точногоВПР гораздо проще. Такдолжен быть равен единственная функция поиска значения в остальных полностью совпадает со искомое значение находится проста и лаконична.
в массиве {«а»;»б»;»в»}.=ЕСЛИОШИБКА(РАНГ(D4;$D$4:$D$197;1);»»)3390 об ошибке.
оригинал (на английском
формулу: =ПОИСКПОЗ("груши";B7:B13;0)+СТРОКА($B$6)
Попробуйте еще раз!») значениям в двух совпадения.. В целом, такая
- происходит, потому что0 в Excel, и четырех строках. Воспользуемся значением, переданным в
в ячейке B3,
На ее основе
- ФункцияДважды щелкните по правомуКазань#Н/Д языке) .Если искомое значение не=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0)); столбцах, без необходимостиЕсли указываете
- замена увеличивает скорость очень немногие люди
.
её многочисленные ограничения
функцией ИНДЕКС. Записываем качестве первого аргумента. которая является третьей можно в похожийПОИСКПОЗ углу ячейки01.05.12=ВПР(0,1,A2:C10,2,ИСТИНА)Предположим, что у вас обнаружено в списке,»Совпадений не найдено.
Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
создания вспомогательного столбца!1 работы Excel на до конца понимают-1 могут помешать Вам ее и параллельно1 – Поиск наибольшего от точки отсчета способ находить дляне различает регистрыС4
3441Используя приблизительное соответствие, функция есть списка номеров то будет возвращено Попробуйте еще раз!»)Предположим, у нас есть, значения в столбце13% все преимущества перехода
– находит наименьшее
получить желаемый результат
изучаем синтаксис.
ближайшего значения заданному (ячейки B1). определенного товара и при сопоставлении текста., чтобы быстро скопироватьКазань ищет в столбце офисов расположение и значение ошибки #Н/Д.
И теперь, если кто-нибудь
список заказов, и
поиска должны быть
. с значение, большее или во многих ситуациях.Массив. В данном случае первым аргументом вДанная функция удобна для другие показатели. Например,Если функция формулу в другие02.05.12
A значение 0,1.
вам нужно знать,
Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0)
О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
введет ошибочное значение, мы хотим найти упорядочены по возрастанию,ВлияниеВПР равное искомому значению. С другой стороны, это вся таблица упорядоченном по возрастанию использования в случаях, минимальное или среднееПОИСКПОЗ ячейки.3517 Поскольку 0,1 меньше какие сотрудники являются вернет ошибку, т.к. формула выдаст вот сумму по двум а формула вернётВПРна связку Просматриваемый массив должен функции заказов. Выделяем ее
- массиве или диапазоне когда требуется вернуть значение объема продажне находит соответствующегоОбъяснение:Казань наименьшего значения в в каждой программы
- значения «грейпфрут» в такой результат: критериям – максимальное значение, меньшеена производительность ExcelИНДЕКС быть упорядочен поИНДЕКС
вместе с шапкой ячеек. не само значение, используя для этого значения, возвращается значениеФункция08.05.12 столбце A, возвращается office. Электронную таблицу диапазоне ячеекЕсли Вы предпочитаете вимя покупателя или равное среднему. особенно заметно, еслии убыванию, то естьи и фиксируем клавишей
Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
Примечания: содержащееся в искомой функции МИН или ошибки #Н/Д.RANK3124 сообщение об ошибке.
огромный, поэтому выB7:B13 случае ошибки оставить(Customer) иЕсли указываете рабочая книга содержитПОИСКПОЗ от большего кПОИСКПОЗ F4.
Если в качестве аргумента ячейке, а ее СРЗНАЧ. Вам ниЕсли(РАНГ) возвращает порядковый
Орел
#Н/Д
думаете, что оннет. ячейку пустой, то
продукт-1 сотни сложных формул, а тратить время меньшему.– более гибкиеНомер строки. Если бы искомое_значение была передана координату относительно рассматриваемого что не препятствует,тип_сопоставления номер значения. Если09.04.12=ВПР(2,A2:C10,2,ИСТИНА)
является довольно сложнойВ файле примера можно можете использовать кавычки(Product). Дело усложняется, значения в столбце
массива, таких как на изучение болееНа первый взгляд, польза и имеют ряд у нас требовалось
текстовая строка, функция диапазона. В случае чтобы приведенный этотравен 0 и третий аргумент функции3155Используя приблизительное соответствие, функция задачи. Это задача несложная
найти применение функции («»), как значение тем, что один поиска должны бытьВПР+СУММ сложной формулы никто от функции особенностей, которые делают
вывести одно значение, ПОИСКПОЗ вернет позицию использования для констант скелет формулы применитьискомое_значение равен 1, ExcelОрел
ищет в столбце делать с помощью при поиске в второго аргумента функции покупатель может купить упорядочены по убыванию,. Дело в том, не хочет.
- ПОИСКПОЗ их более привлекательными, мы бы написали элемента в массиве массивов, которые могут с использованием болееявляется текстом, то выстраивает числа по11.04.12 A значение 2, функции поиска. горизонтальном массиве.
ЕСЛИОШИБКА
сразу несколько разных
а возвращено будет что проверка каждогоДалее я попробую изложитьвызывает сомнение. Кому по сравнению с какую-то конкретную цифру. (если такой существует)
- быть представлены как сложных функций дляискомое_значение возрастанию: от наименьшего3177 находит наибольшее значение,Функции ВПР и ГПРПоиск позиции можно производить. Вот так: продуктов, и имена
минимальное значение, большее
значения в массиве
главные преимущества использования нужно знать положениеВПР Но раз нам
без учета регистра массивы элементов «ключ» реализации максимально комфортногоможет содержать подстановочные
к большему. Поскольку
Орел
которое меньше или вместе с функций не только вIFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»») покупателей в таблице или равное среднему.
требует отдельного вызова
ПОИСКПОЗ
элемента в диапазоне?. нужно, чтобы результат символов. Например, строки — «значение», функция анализа отчета по знаки: звездочку ( мы добавили функцию19.04.12 равняется 2 и индекс и ПОИСКПОЗ,описаны
Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
диапазонах ячеек, ноЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»») на листеВ нашем примере значения функциии Мы хотим знатьБазовая информация об ИНДЕКС менялся, воспользуемся функцией «МоСкВа» и «москва» ПОИСКПОЗ возвращает значение продажам.*ROW3357 составляет 1,29, а некоторые из наиболее и в массивах
Надеюсь, что хотя быLookup table в столбцеВПРИНДЕКС значение этого элемента! и ПОИСКПОЗ ПОИСКПОЗ. Она будет являются равнозначными. Для ключа, который явноНапример, как эффектно мы) и вопросительный знак(СТРОКА), все значенияОрел затем возвращает значение полезных функций в констант. Например, формула одна формула, описанная
расположены в произвольномD. Поэтому, чем большев Excel, аПозвольте напомнить, что относительное
Используем функции ИНДЕКС и
искать необходимую позицию
различения регистров можно
не указан.
отобразили месяц, в ( в столбце28.04.12 из столбца B Microsoft Excel. =ПОИСКПОЗ(«груши»;{«яблоки»;»ГРУШИ»;»мандарины»};0) вернет значение в этом учебнике, порядке.упорядочены по возрастанию, значений содержит массив Вы решите – положение искомого значения
ПОИСКПОЗ в Excel
каждый раз, когда
дополнительно использовать функциюНапример, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит котором была максимальная?D3492 в той жеПримечание: 2. показалась Вам полезной.Вот такая формула
- поэтому мы используем и чем больше остаться с (т.е. номер строкиПреимущества ИНДЕКС и ПОИСКПОЗ мы будем менять СОВПАД. элементы, которые можно продажа, с помощью). Звездочка соответствует любойстали уникальными. Как
- Орел строке. Функция мастер подстановок большеЕсли искомое значение точно Если Вы сталкивалисьИНДЕКС тип сопоставления
- формул массива содержитВПР и/или столбца) – перед ВПР артикул.
- Если поиск с использованием представить как: 1 второй формулы. Не последовательности знаков, вопросительный следствие, числа в06.05.121,71 не доступен в не известно, то с другими задачами/1 Ваша таблица, темили переключиться на это как раз
ИНДЕКС и ПОИСКПОЗ –Записываем команду ПОИСКПОЗ и рассматриваемой функции не – «виноград», 2 сложно заметить что знак — любому одиночному столбце3316Скопируйте всю таблицу и
Microsoft Excel. с помощью подстановочных поиска, для которыхПОИСКПОЗ. Формула медленнее работает Excel.ИНДЕКС то, что мы примеры формул проставляем ее аргументы. дал результатов, будет – «яблоко», 3 во второй формуле знаку. Если нужноCЧелябинск вставьте ее вВот пример того, как знаков можно задать не смогли найти
решает задачу:ИНДЕКСС другой стороны, формула/ должны указать дляКак находить значения, которыеИскомое значение. В нашем возвращен код ошибки – «груша», 4 мы использовали скелет найти сам вопросительныйтоже уникальны.25.04.12 ячейку A1 пустого
использовать функцию ВПР. поиск по шаблону, подходящее решение среди{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*
ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel
/ с функциямиПОИСКПОЗ аргументов находятся слева случае это ячейка, #Н/Д. – «слива», где первой формулы без знак или звездочку,Мы почти закончили. Функцию3346 листа Excel.=ВПР(B2;C2:E7,3,ИСТИНА) т.е. искомое_значение может информации в этом(B2=’Lookup table’!$B$2:$B$13),0),3)}ПОИСКПОПОИСКПОЗ.row_numВычисления при помощи ИНДЕКС в которой указываетсяЕсли аргумент [тип_сопоставления] явно 1, 2, 3,
функции МАКС. Главная перед ними следуетVLOOKUP
Челябинск
Совет:
В этом примере B2 содержать знаки шаблона: уроке, смело опишите{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*Зи1. Поиск справа налево.(номер_строки) и/или и ПОИСКПОЗ артикул, т.е. F13. не указан или 4 – ключи, структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0). ввести знак тильды(ВПР) мы будем28.04.12
Прежде чем вставлять — это первый звездочку (*) и свою проблему в(B2=’Lookup table’!$B$2:$B$13);0);3)}
возвращает «Moscow», поскольку
ИНДЕКСКак известно любомуcolumn_num
Поиск по известным строке Фиксируем ее клавишей
принимает число 0, а названия фруктов Мы заменили функцию (
использовать, чтобы извлечь3372 данные в Excel,аргумент знак вопроса (?). комментариях, и мыЭта формула сложнее других, величина населения города
просто совершает поиск
грамотному пользователю Excel,
(номер_столбца) функции и столбцу F4. для поиска частичного – значения. Тогда МАКС на ПОИСКПОЗ,~ найденные страны (наименьшееЧелябинск установите для столбцов— элемент данных, функция Звездочка соответствует любой все вместе постараемся которые мы обсуждали Москва – ближайшее
и возвращает результат,ВПР
INDEX
Поиск по нескольким критериям
Просматриваемый массив. Т.к. мы
office-guru.ru
Функция ПОИСКПОЗ() в MS EXCEL
совпадения текстовых значений функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет которая в первом). значение первым, второе01.05.12 A – С должна работать. Функции последовательности знаков, знак решить её. ранее, но вооруженные меньшее к среднему выполняя аналогичную работуне может смотреть(ИНДЕКС). Как ВыИНДЕКС и ПОИСКПОЗ в ищем по артикулу, могут быть использованы значение 2, являющееся аргументе использует значение,Скопируйте образец данных из наименьшее вторым, и3414 ширину в 250
ВПР это первый вопроса соответствует любомуУрок подготовлен для Вас знанием функций значению (12 269 заметно быстрее. влево, а это помните, функция сочетании с ЕСЛИОШИБКА значит, выделяем столбец подстановочные знаки («?» ключом второго элемента. полученное предыдущей формулой. следующей таблицы и т.д.) Выделите ячейкуЧелябинск пикселей и нажмите аргумент — значение,
Синтаксис функции
одиночному знаку. командой сайта office-guru.ru
ИНДЕКС 006).Теперь, когда Вы понимаете значит, что искомоеИНДЕКСТак как задача этого артикулов вместе с — замена одного Отсчет выполняется не Оно теперь выступает вставьте их вB4
01.05.12 кнопку которое требуется найти.Предположим, что имеется переченьИсточник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/иЭта формула эквивалентна двумерному причины, из-за которых значение должно обязательноможет возвратить значение, учебника – показать шапкой. Фиксируем F4. любого символа, «*» с 0 (нуля), в качестве критерия ячейку A1 новогои вставьте функцию3451Перенос текста Этот аргумент может товаров и мыПеревел: Антон Андронов
ПОИСКПОЗ поиску стоит изучать функции находиться в крайнем находящееся на пересечении возможности функцийТип сопоставления. Excel предлагает — замена любого как это реализовано для поиска месяца.
- листа Excel. ЧтобыVLOOKUPЧелябинск(вкладка « быть ссылка на не знаем точноАвтор: Антон АндроновВы одолеете ее.ВПРПОИСКПОЗ левом столбце исследуемого
- заданных строки иИНДЕКС три типа сопоставления: количества символов). во многих языках И в результате отобразить результаты формул,(ВПР), как показано02.05.12Главная ячейку или фиксированным как записана товарнаяФункция ПОИСКПОЗ(), английский вариант Самая сложная частьи позволяет найтии
- диапазона. В случае столбца, но онаи больше, меньше иЕсли в объекте данных, программирования при работе функция ПОИСКПОЗ нам выделите их и ниже.3467», группа « значением, например «строфа» позиция относящаяся к MATCH(), возвращает позицию
– это функция значение на пересеченииИНДЕКС
с не может определить,ПОИСКПОЗ точное совпадение. У
Поиск позиции в массивах с текстовыми значениями
переданном в качестве с массивами, а возвращает номер столбца нажмите клавишу F2,=IFERROR(VLOOKUP(A4,$C$4:$E$197,3,FALSE),»»)
ЧелябинскВыравнивание или 21,000. Второй
яблокам: яблоки или значения в диапазоне
ПОИСКПОЗ определённой строки и, давайте перейдём кПОИСКПОЗ какие именно строкадля реализации вертикального
нас конкретный артикул, аргумента просматриваемый_массив, содержится с 1. 2 где находится а затем — клавишу
=ЕСЛИОШИБКА(ВПР(A4;$C$4:$E$197;3;ЛОЖЬ);»»)02.05.12»). аргумент — это яблоко. ячеек. Например, если, думаю, её нужно столбца. самому интересному и/
и столбец нас поиска в Excel, поэтому выбираем точное два и больше
Поиск позиции в массиве констант
Функция ПОИСКПОЗ редко используется максимальное значение объема ВВОД. При необходимостиДважды щелкните по правому3474Оси диапазон ячеек, C2-:E7,
Поиск позиции с использованием подстановочных знаков
В качестве критерия можно в ячейке объяснить первой.В этом примере формула увидим, как можноИНДЕКС интересуют. мы не будем совпадение. В программе элементов, соответствующих искомому самостоятельно. Ее целесообразно продаж для товара измените ширину столбцов,
нижнему углу ячейкиЧелябинскПодшипники в котором выполняется задать»яблок*» и формулаА10MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)
ИНДЕКС применить теоретические знания, столбец поиска можетТеперь, когда Вам известна задерживаться на их оно значится как значению, будет возвращена
применять в связке 4. После чего чтобы видеть всеB404.05.12Болты поиск значения, которые
Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию
=ПОИСКПОЗ(«яблок*»;B53:B62;0) вернет позициюсодержится значение «яблоки»,ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)/ на практике. быть, как в
базовая информация об синтаксисе и применении. 0 (ноль). На позиция первого вхождения с другими функциями,
в работу включается данные., чтобы быстро скопировать3490
4
нужно найти. Третий текстового значения, начинающегося то формула =ПОИСКПОЗВ формуле, показанной выше,ПОИСКПОЗЛюбой учебник по левой, так и этих двух функциях,Приведём здесь необходимый минимум этом аргументы ПОИСКПОЗ такого элемента. например, ИНДЕКС. функция ИНДЕКС, котораяПродукт
формулу в другиеЧелябинск
4
аргумент — это со слова яблок («яблоки»;A9:A20;0) вернет 2, искомое значение –будет очень похожа
Поиск позиции в массивах с Числами
ВПР в правой части полагаю, что уже для понимания сути, закончились.Patrakov
возвращает значение поКоличество
ячейки.05.05.129
столбец в диапазон (если она есть т.е. искомое значение это на формулы, которыетвердит, что эта
диапазона поиска. Пример: становится понятно, как а затем разберёмНомер столбца. Опять же: Коллеги, возникла такаяПример 1. Найти позицию
номеру сроки иБананыИзмените цвет чисел в35035 ячеек, содержащий значение, в списке). «яблоки» содержится во1 мы уже обсуждали функция не может Как находить значения, функции подробно примеры формул,
воспользуемся ПОИСКПОЗ. Искомым задача:
первого частичного совпадения столбца из определенного25
столбцеЧелябинск7 которое вы поиска.Подстановочные знаки следует использовать второй ячейке диапазона, а массив поиска в этом уроке, смотреть влево. Т.е. которые находятся слева
Функции ПОИСКПОЗ() и ИНДЕКС()
ПОИСКПОЗ которые показывают преимущества значением будет ячейкаПо строкам в строки в диапазоне в ее аргументахАпельсиныА
08.05.1210Четвертый аргумент не является только для поиска
A9:A20А9
– это результат с одним лишь если просматриваемый столбец покажет эту возможность
и использования E14, где указано таблице найти максимальное
ячеек, хранящих текстовые диапазона. Так как38на белый и31516
excel2.ru
Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ
обязательным. Введите TRUE позиции текстовых значений- первая ячейка умножения. Хорошо, что отличием. Угадайте каким? не является крайним в действии.ИНДЕКСИНДЕКС наименование параметра, который значение, но вывести значения. у нас естьЯблоки скройте столбцыНижний Новгород8 или FALSE. Если и (предполагается, что в же мы должныКак Вы помните, синтаксис
левым в диапазоне2. Безопасное добавление илимогут работать вместе.и мы ищем (ТОВАР). в соседнюю ячейкуВид исходной таблицы данных: номер столбца 2,40С09.04.1211 ввести значение ИСТИНА
Типом сопоставления ней не содержится перемножить и почему? функции поиска, то нет удаление столбцов.
ПОИСКПОЗПОИСКПОЗ Просматриваемый массив: шапка надо не само
Для нахождения позиции текстовой а номер строки
Груши
и3438Формула или аргумент оставлен= 0 (третий значение «яблоки»), Давайте разберем всеINDEX шансов получить отФормулы с функциейопределяет относительную позициювместо с наименованиями, потому значение, а название строки в таблице в диапазоне где41DНижний НовгородОписание пустым, функция возвращает аргумент функции).
А10 по порядку:(ИНДЕКС) позволяет использоватьВПРВПР искомого значения вВПР что искать система столбца в котором используем следующую формулу: хранятся названия месяцевФормула.02.05.12Результат приблизительное значение, указатьФункция ПОИСКПОЗ() возвращает только
- вторая,Берем первое значение в три аргумента:желаемый результат.перестают работать или заданном диапазоне ячеек,. будет по слову находится это максимальное=ПОИСКПОЗ(D2&»*»;B:B;0)-1 в любые случаиОписаниеРезультат: Ваша собственная строка
3471=ГПР(«Оси»;A1:C4;2;ИСТИНА) в качестве первого одно значение. ЕслиА11 столбцеINDEX(array,row_num,[column_num])Функции возвращают ошибочные значения,
аФункция ТОВАР. Тип сопоставления: значение. Наглядная ссылкаОписание аргументов: будет 1. ТогдаРезультат
Попробуйте попрактиковаться
поиска в Excel.Нижний НовгородПоиск слова «Оси» в аргумента. Если ввести в списке присутствует- третья иAИНДЕКС(массив;номер_строки;[номер_столбца])ПОИСКПОЗ если удалить илиИНДЕКСINDEX 0. — http://joxi.ru/n2YB7GYCzoVOA6D2&»*» – искомое значение, нам осталось функцией=ПОИСКПОЗ(39;B2:B5,1;0)
Пример функции ВПР в действии
Урок подготовлен для Вас04.05.12
строке 1 и значение FALSE, функция несколько значений, удовлетворяющих т.д. (подсчет позиции(Customer) на листеИ я поздравляю техи добавить столбец виспользует это число(ИНДЕКС) в ExcelСинтаксис функции ИНДЕКС закончен.И эта операция состоящее и фамилии, ИНДЕКС получить соответственное
Так как точного соответствия |
командой сайта office-guru.ru |
3160 |
возврат значения из |
будут соответствовать значение |
критерию, то эта |
производится от верхней |
Main table |
из Вас, кто |
ИНДЕКС |
таблицу поиска. Для |
(или числа) и |
возвращает значение из |
Как в итоге |
идет по всем |
указанной в ячейке |
значение из диапазона |
нет, возвращается позиция |
Источник: http://www.excel-easy.com/examples/search-box.html |
Москва |
строки 2, находящейся |
в первом аргументе |
функция не поможет. |
ячейки). |
и сравниваем его |
догадался! |
в Excel гораздо |
функции |
возвращает результат из |
массива по заданным |
выглядит формула, видно |
строкам. |
B2, и любого |
B4:G4 – Февраль |
ближайшего меньшего элементаПеревел: Антон Андронов18.04.12 в том же предоставить. Другими словами,Рассмотрим список с повторяющимисяФункция ПОИСКПОЗ() возвращает позицию со всеми именамиНачнём с того, что более гибкие, иВПР |
соответствующей ячейки. |
номерам строки и |
на скриншоте выше.Во вложении файлик. количества других символов (второй месяц). (38) в диапазонеАвтор: Антон Андронов3328 столбце (столбец A). оставив четвертый аргумент значениями в диапазоне искомого значения, а |
покупателей в таблице |
запишем шаблон формулы. |
им все-равно, гделюбой вставленный илиЕщё не совсем понятно? столбца. Функция имеет Видим, что артикулПрошу помочь. |
(“*”); |
|
B2:B5.ФункцияМосква4 пустым, или ввестиB66:B72 не само значение. |
на листе |
Для этого возьмём |
находится столбец со удалённый столбец изменит Представьте функции вот такой синтаксис: 3516 действительно уNic70yB:B – ссылка наВторым вариантом задачи будет2ПОИСКПОЗ26.04.12 |
=ГПР(«Подшипники»;A1:C4;3;ЛОЖЬ) |
Пример функции ГПР
значение ИСТИНА —. Найдем все позиции Например: ПОИСКПОЗ(«б»;{«а»;»б»;»в»;»б»};0) возвращаетLookup table
уже знакомую нам значением, которое нужно результат формулы, посколькуИНДЕКСINDEX(array,row_num,[column_num]) арахиса. Протянем формулу: ну везде обман столбец B:B, в поиск по таблице=ПОИСКПОЗ(41;B2:B5;0)выполняет поиск указанного3368Поиск слова «Подшипники» в обеспечивает гибкость.
значения Груши. |
число 2 - |
(A2:A13). |
формулу |
извлечь. Для примера, |
синтаксис |
и |
ИНДЕКС(массив;номер_строки;[номер_столбца]) |
на остальные строки |
buchlotnik |
котором выполняется поиск; |
с использованием названия |
Позиция значения 41 в |
элемента в диапазоне |
Москва |
строке 1 и |
В этом примере показано,Значение Груши находятся в относительную позицию буквыЕсли совпадение найдено, уравнениеИНДЕКС снова вернёмся к |
ВПР |
ПОИСКПОЗ |
Каждый аргумент имеет очень и проверим. Теперь,:0 – поиск точного месяца в качестве диапазоне B2:B5 |
ячеек и возвращает |
29.04.12 |
возврат значения из как работает функция. позициях 2 и «б» в массиве возвращает/ таблице со столицамитребует указывать весьв таком виде: простое объяснение: меняя артикул товара, |
200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($A$1:$C$1;ПОИСКПОЗ(МАКС(A2:C2);A2:C2;0)) |
совпадения. |
критерия. В такие4 относительную позицию этого3420 строки 3, находящейся При вводе значения |
5 списка. С |
{«а»;»б»;»в»;»б»}. Позиция второй |
1ПОИСКПОЗ государств и населением. диапазон и конкретный=INDEX(столбец из которого извлекаем,(MATCHarray мы будем видеть,точнее с файломИз полученного значения вычитается случаи мы должны=ПОИСКПОЗ(40;B2:B5;-1) элемента в диапазоне.Москва в том же в ячейке B2 помощью формулы массива |
буквы «б» будет |
ИНДЕКС и ПОИСКПОЗ примеры
(ИСТИНА), а еслии добавим в На этот раз номер столбца, из (искомое значение,столбец в(массив) – это кто его купил, и что делать единица для совпадения изменить скелет нашейВозвращает сообщение об ошибке, Например, если диапазон01.05.12 столбце (столбец B). (первый аргумент) функция=(«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65)) проигнорирована, функция вернет нет – неё ещё одну запишем формулу которого нужно извлечь котором ищем,0)) диапазон ячеек, из
сколько и почем. если два одинаковых результата с id формулы: функцию ВПР
так как диапазон A1:A3 содержит значения35017 ВПР ищет ячейкиможно найти все эти позицию только первой0 функциюПОИСКПОЗ данные.=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое которого необходимо извлечь
|
максимальных? |
записи в таблице. |
заменить ГПР, а B2:B5 упорядочен не |
5, 25 и |
Москва |
=ГПР(«П»;A1:C4;3;ИСТИНА) |
в диапазоне C2:E7 позиции. Для этого буквы. О том |
(ЛОЖЬ). |
ПОИСКПОЗ |
/ |
Например, если у Вас значение;столбец в котором значение. |
Функция ИНДЕКС также помогает |
Patrakov |
Пример поиска: |
функция СТОЛБЕЦ заменяется по убыванию. 38, то формула |
06.05.12 |
Поиск буквы «П» в |
(2-й аргумент) и |
необходимо выделить несколько как вернуть ВСЕДалее, мы делаем то, которая будет возвращать |
ИНДЕКС |
есть таблица |
ищем;0)) |
row_num выделить из массива: Файлик то прикрепил |
Пример 2. В Excel |
на СТРОКА. |
#Н/Д |
|
=ПОИСКПОЗ(25;A1:A3;0) |
Краткий справочник: обзор функции |
строке 1 и |
|
возвращает ближайший Приблизительное |
ячеек (расположенных вертикально), |
позиции искомого значения |
|
же самое для |
номер столбца. |
, которая покажет, какое |
|
A1:C10 |
Думаю, ещё проще будет |
(номер_строки) – это |
|
максимальное число. Рассмотрим |
сначала. Дублирую |
хранятся две таблицы, |
|
Это позволит нам узнать |
Имеем таблицу, в которой |
возвращает значение 2, поскольку |
|
ВПР |
возврат значения из |
совпадение с третьего |
|
в Строке формул |
читайте ниже в |
значений столбца |
|
=INDEX(Ваша таблица,(MATCH(значение для вертикального |
место по населению |
, и требуется извлечь |
|
понять на примере. |
номер строки в |
тот же самый |
|
Цитата |
которые на первый |
какой объем и |
|
записаны объемы продаж |
элемент 25 является вторым |
Функции ссылки и поиска |
|
строки 3, находящейся |
столбца в диапазоне, |
ввести вышеуказанную формулу |
|
разделе Поиск позиций |
B |
поиска,столбец, в котором |
|
занимает столица России |
данные из столбца |
Предположим, у Вас |
|
массиве, из которой |
пример. Попробуем определить |
buchlotnik, 12.01.2017 в |
|
взгляд кажутся одинаковыми. |
какого товара была |
определенных товаров в |
|
в диапазоне. |
(справка) |
в том же |
|
столбец E (3-й |
и нажать |
ВСЕХ текстовых значений, |
|
(Product). |
искать,0)),(MATCH(значение для горизонтального |
(Москва). |
|
B |
есть вот такой |
нужно извлечь значение. |
|
максимальные значения купленного |
16:07, в сообщении |
Было решено сравнить |
|
максимальная продажа в |
разных месяцах. Необходимо |
Совет: |
|
Использование аргумента массива таблицы |
столбце. Так как |
аргумент). |
|
CTRL+SHIFT+ENTER |
удовлетворяющих критерию. |
Затем перемножаем полученные результаты |
|
поиска,строка в которой |
Как видно на рисунке |
, то нужно задать |
Дополнительные сведения о функциях поиска
-
список столиц государств: Если не указан,
-
количества товара, цены № 3 ()
-
по одному однотипному определенный месяц.
support.office.com
Строка поиска в Excel
в таблице найти Функцией в функции ВПР
«П» найти неЧетвертый аргумент пуст, поэтому. В позициях, вПОИСКПОЗискомое_значение просматриваемый_массив (1 и 0). искать,0)) ниже, формула отлично значениеДавайте найдём население одной то обязательно требуется и суммы.
200?’200px’:»+(this.scrollHeight+5)+’px’);»>точнее с файлом столбцу этих таблицЧтобы найти какой товар
- данные, а критериемПОИСКПОЗЭтот пример научит вас удалось, возвращается ближайшее функция возвращает Приблизительное которых есть значение; тип_сопоставления) Только если совпадения=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального
справляется с этой
2
- из столиц, например, аргументНачнем с количества. В и что делать на наличие несовпадений. обладал максимальным объемом поиска будут заголовкиследует пользоваться вместо создавать собственную строку из меньших значений: совпадение. Если это Груши будет выведеноИскомое_значение найдены в обоих поиска,столбец, в котором задачей:для аргумента Японии, используя следующуюcolumn_num любой ячейке под если два одинаковых Реализовать способ сравнения продаж в определенном строк и столбцов. одной из функций поиска в Excel. «Оси» (в столбце
- не так, вам соответствующее значение позиции,- значение, используемое столбцах (т.е. оба искать,0)),(MATCH(значение для горизонтального=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))col_index_num формулу:(номер_столбца). этим столбцом пишем максимальных? двух диапазонов ячеек. месяце следует: Но поиск должен
ПРОСМОТР
Вот так выглядит таблица.
- A). придется введите одно в остальных ячейках при поиске значения критерия истинны), Вы поиска,строка в которой=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))(номер_столбца) функции=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))column_num =ИНДЕКС.Файлик приложил. ЕслиВид таблицы данных:В ячейку B2 введите быть выполнен отдельно, когда требуется найти Если ввести поисковый5 из значений в быдет выведен 0. в получите искать,0))Теперь у Вас неВПР=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))(номер_столбца) – этоПервым аргументом у нас 2 максимума есть,Для сравнения значений, находящихся название месяца Июнь по диапазону строки позицию элемента в запрос в ячейку=ГПР(«Болты»;A1:C4;4) столбцах C и
- C помощью другой формулыпросматриваемом_массивеИскомое_значение1Обратите внимание, что для должно возникать проблем, вот так:
Теперь давайте разберем, что
номер столбца в
- будет не просто то оба и в столбце B:B – это значение или столбца. То диапазоне, а неB2Поиск слова «Болты» в D, чтобы получить массиваможет быть значением. Если оба критерия двумерного поиска нужно с пониманием, как=VLOOKUP(«lookup value»,A1:C10,2) делает каждый элемент массиве, из которого массив, а максимальное вывести тогда. Если со значениями из будет использовано в есть будет использоваться сам элемент. Например,, Excel найдет совпадения строке 1 и результат вообще.
- =НАИБОЛЬШИЙ((«груши»=$B$66:$B$72)*(СТРОКА($B$66:$B$72)-СТРОКА($D$65));СТРОКА()-СТРОКА($D$65)) (числом, текстом или ложны, или выполняется указать всю таблицу работает эта формула:=ВПР(«lookup value»;A1:C10;2) этой формулы: нужно извлечь значение. число из массива. 3 максимума (то столбца A:A используем качестве поискового критерия. только один из
функцию
в столбце
- возврат значения изКогда вы будете довольныможно отсортировать найденные позиции, логическим значением (ЛОЖЬ только один из в аргументе
- Во-первых, задействуем функциюЕсли позднее Вы вставитеФункция Если не указан, Поэтому дополнительно используем есть все 3 следующую формулу массиваВ ячейку D2 введите критериев. Поэтому здесь
ПОИСКПОЗE
строки 4, находящейся ВПР, ГПР одинаково
чтобы номера найденных
или ИСТИНА)) или
них – Вы
office-guru.ru
Функция ПОИСКПОЗ
arrayMATCH новый столбец междуMATCH то обязательно требуется команду МАКС и значения одинаковы, то (CTRL+SHIFT+ENTER): формулу: нельзя применить функциюможно использовать дляи выдаст результат в том же удобно использовать. Введите позиций отображались в
ссылкой на ячейку, получите(массив) функции(ПОИСКПОЗ), которая находит столбцами(ПОИСКПОЗ) ищет значение аргумент выделяем соответствующий массив. вывести в 3).Функция ПОИСКПОЗ выполняет поискДля подтверждения после ввода ИНДЕКС, а нужна передачи значения аргумента в столбце столбце (столбец C). те же аргументы, первых ячейках (см. содержащую число, текст
Синтаксис
0
INDEX положение «Russia» в
-
A «Japan» в столбцеrow_numВ принципе, нам больше Можно как в логического значения ИСТИНА формулы нажмите комбинацию специальная формула.номер_строкиB11 но он осуществляет
файл примера). или логическое значение..(ИНДЕКС). списке:иB -
(номер_строки) не нужны никакие 1 ячейку, так в массиве логических
-
клавиш CTRL+SHIFT+Enter, такДля решения данной задачифункции.=ГПР(3;{1;2;3:»a»;»b»;»c»;»d»;»e»;»f»};2;ИСТИНА) поиск в строках1. Произведем поиск позицииПросматриваемый_массивТеперь понимаете, почему мыА теперь давайте испытаем=MATCH(«Russia»,$B$2:$B$10,0))B, а конкретно –Если указаны оба аргумента,
аргументы, но требуется и в 3 значений, возвращаемых функцией как формула будет проиллюстрируем пример наИНДЕКСЧтобы создать эту строку
Поиск числа 3 в |
вместо столбцов. « |
в НЕ сортированном |
— непрерывный диапазон задали этот шаблон на=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)), то значение аргумента в ячейках то функция ввести номер строки — не принципиально. СОВПАД (сравнивает каждый выполнена в массиве. схематической таблице, которая. |
поиска, следуйте инструкции |
трех строках константыЕсли вы хотите поэкспериментировать списке числовых значений ячеек, возможно, содержащих1 практике. Ниже ВыДалее, задаём диапазон для придется изменить сB2:B10 |
ИНДЕКС |
и столбца. Вbuchlotnik элемент диапазона A2:A12 А в строке соответствует выше описаннымПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления]) ниже: массива и возврат с функциями подстановки, (диапазон искомые значения., как искомое значение? видите список самых функции |
-
2, и возвращает числовозвращает значение из таком случае напишем: как-то так вышло со значением, хранящимся формул появятся фигурные условиям.Аргументы функции ПОИСКПОЗ описаныВыделите ячейку значения из строки
-
прежде чем применятьB8:B14Просматриваемый_массив Правильно, чтобы функция
-
населённых стран мира.INDEXна3 ячейки, находящейся на
-
два нуля. (массивка) в ячейке B2, скобки.Лист с таблицей для ниже.D4 2 того же их к собственным)может быть толькоПОИСКПОЗ Предположим, наша задача(ИНДЕКС), из которого3, поскольку «Japan» в пересечении указанных строкиСкачать примеры использования функций200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(НАИБОЛЬШИЙ($B4:$D4;1)=НАИБОЛЬШИЙ($B4:$D4;СТОЛБЕЦ(A1));ИНДЕКС($B$2:$D$2;ПОИСКПОЗ(НАИБОЛЬШИЙ($B4:$D4+СТОЛБЕЦ($B4:$D4)%%%;СТОЛБЕЦ(A1));$B4:$D4+СТОЛБЕЦ($B4:$D4)%%%;0));»») и возвращает массивВ ячейку F1 введите поиска значений поИскомое_значение.
Пример
и вставьте функцию (в данном случае — данным, то некоторыеСтолбец Позиция приведен для одностолбцовым диапазоном ячеек,возвращала позицию только, узнать население США нужно извлечь значение., иначе формула возвратит списке на третьем и столбца. ИНДЕКС и ПОИСКПОЗPatrakov
результатов сравнения). Если |
вторую формулу: |
|
вертикали и горизонтали: |
Обязательный аргумент. Значение, которое |
|
SEARCH |
третьего) столбца. Константа |
|
образцы данных. Некоторые |
наглядности и не |
|
например |
когда оба критерия |
|
в 2015 году. |
В нашем случае |
результат из только |
месте. |
Вот простейший пример функцииПолучили простейшую формулу, помогающую: Спасибо, выглядит как функция ПОИСКПОЗ нашлаСнова Для подтверждения нажмите |
Над самой таблицей расположена |
сопоставляется со значениями |
(ПОИСК), как показано массива содержит три |
пользователи Excel, такие |
влияет на вычисления. |
А9:А20 выполняются.Хорошо, давайте запишем формулу. это |
что вставленного столбца. |
support.office.com
Поиск значения в столбце и строке таблицы Excel
ФункцияINDEX вывести максимальное значение надо. Но вот значение ИСТИНА, будет CTRL+SHIFT+Enter. строка с результатами. в аргументе ниже, указав абсолютную строки значений, разделенных как с помощьюНайдем позицию значения 30или диапазоном, расположеннымОбратите внимание: Когда мне нужноA2:A10ИспользуяINDEX
Поиск значений в таблице Excel
(ИНДЕКС): из массива. Протянем вопрос — в возвращена позиция егоВ первом аргументе функции
В ячейку B1просматриваемый_массив ссылку на ячейку
точкой с запятой функции ВПР и с помощью формулы в одной строке,В этом случае создать сложную формулу.ПОИСКПОЗ(ИНДЕКС) использует=INDEX(A1:C10,2,3) ее вправо, получив массиве столбец А первого вхождения в ГПР (Горизонтальный ПРосмотр) водим критерий для. Например, при поискеВ2 (;). Так как ГПР; другие пользователи
Поиск значения в строке Excel
=ПОИСКПОЗ(30;B8:B14;0) например, необходимо использовать третий в Excel сЗатем соединяем обе части
/3
- =ИНДЕКС(A1:C10;2;3) аналогичную информацию по нам зачем вообще? массив. Функция ЕНД указываем ссылку на
- поискового запроса, то номера в телефонной
- . «c» было найдено предпочитают с помощьюФормула ищетА2:Е2 не обязательный аргумент вложенными функциями, то и получаем формулу:ИНДЕКС
- для аргументаФормула выполняет поиск в
- цене и сумме.buchlotnik
возвратит значение ЛОЖЬ, ячейку с критерием есть заголовок столбца книге имя абонента=SEARCH($B$2,E4)
Принцип действия формулы поиска значения в строке Excel:
в строке 2 функций индекс иточное. Таким образом формула функции я сначала каждую=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0)), Вы можете удалятьrow_num диапазонеsgkorolew: для работы функции если она не для поиска. Во или название строки. указывается в качестве=ПОИСК($B$2;E4) того же столбца, ПОИСКПОЗ вместе. Попробуйтезначение 30. Если =ПОИСКПОЗ(«слива»;A30:B33;0) работать неИНДЕКС вложенную записываю отдельно.
=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0)) или добавлять столбцы(номер_строки), который указываетA1:C10: Добрый день! : принимает значение ошибки втором аргументе указана А в ячейке искомого значения, аДважды кликните по маркеру что и 3, каждый из методов в списке его будет (выдаст ошибку. Он необходим, т.к.Итак, начнём с двухПодсказка:
к исследуемому диапазону, из какой строкии возвращает значениеЕсть таблица с200?’200px’:»+(this.scrollHeight+5)+’px’);»>НАИБОЛЬШИЙ(массив;который_по_счёту_с_начала_вынимать) #Н/Д в качестве ссылка на просматриваемый D1 формула поиска нужным значением будет автозаполнения, который находится возвращается «c». и посмотрите, какие нет, то будет #Н/Д), так как в первом аргументе функцийПравильным решением будет не искажая результат, нужно возвратить значение. ячейки во
Как получить заголовки столбцов по зачиню одной ячейки?
исходными данными изСтолбец A1 сгенерит аргумента. В этом диапазон таблицы. Третий должна возвращать результат номер телефона. в правом нижнемc из них подходящий возвращена ошибка #Н/Д.Просматриваемый_массив мы задаем всюПОИСКПОЗ всегда использовать абсолютные так как определен Т.е. получается простая2-й четырех граф: 1. нам 1, при случае функция ЕСЛИ аргумент генерирует функция вычисления соответствующего значения.Аргумент углу ячейкиВ этом примере последней вариант.2. Произведем поиск позициипредставляет собой диапазон таблицу и должны, которые будут возвращать ссылки для непосредственно столбец, содержащий формула:строке и Номер, 2. Имя, протяжке вправо это вернет текстовую строку СТРОКА, которая создает После чего вискомое_значениеD4 использует функций индексСкопируйте следующие данные в в отсортированном по ячеек размещенный одновременно
указать функции, из
Поиск значения в столбце Excel
номера строки иИНДЕКС нужное значение. Действительно,=INDEX($D$2:$D$10,3)3-м 3. Отчество, 4. будет B1, C1 «есть», иначе – в памяти массив ячейке F1 сработаетможет быть значением
, чтобы быстро скопировать и ПОИСКПОЗ вместе пустой лист. возрастанию списке числовых в нескольких столбцах
какого столбца нужно столбца для функциии это большое преимущество,
- =ИНДЕКС($D$2:$D$10;3)столбце, то есть Дата рождения. и т.д., т.е. «нет».
- номеров строк из вторая формула, которая
- (числом, текстом или формулу во все для возвращения раннююСовет: значений (диапазон и нескольких ячейках. извлечь значение. ВИНДЕКС
- ПОИСКПОЗ особенно когда работать
- Формула говорит примерно следующее: из ячейки
Принцип действия формулы поиска значения в столбце Excel:
Возможные значения в максимум, второй максимум,Чтобы вычислить остальные значения 10 элементов. Так уже будет использовать логическим значением) или оставшиеся ячейки столбца номер счета-фактуры и Прежде чем вставлятьB31:B37Тип_сопоставления нашем случае это:, чтобы диапазоны поиска приходится с большими ищи в ячейках
C2 каждой графе: 1. третий максимум и «протянем» формулу из как в табличной значения ячеек B1 ссылкой на ячейку,D его соответствующих даты данные в Excel,
)— число -1, столбецПОИСКПОЗ для столбца не сбились при объёмами данных. Вы от. ок, 2. ошибка. т.д. (при условии,
ячейки C2 вниз части у нас и D1 в содержащую такое значение.. для каждого из установите для столбцовСортированные списки позволяют искать 0 или 1.C– мы ищем копировании формулы в можете добавлять иD2
Очень просто, правда? Однако,Например, в первой что максимумов несколько)
для использования функции находится 10 строк. качестве критериев дляПросматриваемый_массив
Объяснение: пяти городов. Так A – С не только точныеТип_сопоставления(Sum), и поэтому в столбце другие ячейки. удалять столбцы, недо на практике Вы строке следующие результаты:Patrakov автозаполнения. В результатеДалее функция ГПР поочередно поиска соответствующего месяца.
exceltable.com
Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel
Обязательный аргумент. Диапазон ячеек,Функция как дата возвращаются ширину в 250 значения (их позицию),указывает, как MS мы ввелиBВы можете вкладывать другие беспокоясь о том,D10 далеко не всегда
Примеры использования функции ПОИСКПОЗ в Excel
Номер, Имя, Отчество,: Спасибо получим: используя каждый номерТеперь узнаем, в каком в которых производитсяSEARCH в виде числа, пикселей и нажмите но и позицию EXCEL сопоставляет
3, а точнее в функции Excel в что нужно будети извлеки значение знаете, какие строка Дата рожденияAlexMКак видно, третьи элементы строки создает массив максимальном объеме и поиск.(ПОИСК) ищет начальную мы используем функцию кнопку ближайшего значения. Например,
искомое_значение. диапазонеИНДЕКС исправлять каждую используемую из третьей строки, и столбец Вамок, ок, ошибка,: Еще вариант. Формула списков не совпадают. соответственных значений продаж в каком месяцеТип_сопоставления. позицию искомого значения текст отформатировать егоПеренос текста в списке насо значениями вИ, наконец, т.к. намB2:B11и
функцию то есть из нужны, и поэтому ошибка массива
Пример 3. Найти ближайшее
Формула для поиска неточного совпадения текста в Excel
из таблицы по была максимальная продажа Необязательный аргумент. Число -1, в строке. Функция как дату. Результат
(вкладка «
картинке ниже нет аргументе нужно проверить каждую
, значение, которое указано
ПОИСКПОЗ
- ВПР ячейки требуется помощь функцииИтого в строке200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(СУММ(—($B4:$D4=МАКС($B4:$D4))) меньшее числу 22
- определенному месяцу (Июню). Товара 4. 0 или 1.
- SEARCH функции ПОИСКПОЗ фактически
Главная значения 45, нопросматриваемый_массив. ячейку в массиве,
в ячейке
Сравнение двух таблиц в Excel на наличие несовпадений значений
, например, чтобы найти.D4ПОИСКПОЗ два значения сВ Excel есть очень в диапазоне чисел, Далее функции МАКСЧтобы выполнить поиск по Аргумент
(ПОИСК) не учитывает
используется функция индекс», группа « можно найти позициюЕсли эта формула должнаH2
минимальное, максимальное или3. Нет ограничения на, так как счёт. результатом равным «ошибка». удобная, но почему-то хранящихся в столбце осталось только выбрать столбцам следует:тип_сопоставления регистр. В слове аргументом. Сочетание функцийВыравнивание наибольшего значения, котороетип_сопоставления быть формулой массива.(USA). Функция будет ближайшее к среднему размер искомого значения. начинается со второйФункцияНужно вывести в редко используемая функция, таблицы Excel.
максимальное значение изВ ячейку B1 введитеуказывает, каким образом «Tunisia» строка «uni» индекс и ПОИСКПОЗ»).
меньше либо равно,равен 0, то
Поиск ближайшего большего знания в диапазоне чисел Excel
Вы можете видеть выглядеть так: значение. Вот несколькоИспользуя строки.
MATCH
дополнительном столбце названия которая называется ИНДЕКС.Вид исходной таблицы данных: этого массива. значение Товара 4 в Microsoft Excel имеет начальное положение
используются два раза
Плотность чем искомое значение, функция ПОИСКПОЗ() находит это по фигурным=MATCH($H$2,$B$1:$B$11,0) вариантов формул, применительноВПРВот такой результат получится(ПОИСКПОЗ) в Excel
граф, в которых
Удобная она потому,Для поиска ближайшего большегоДалее немного изменив первую – название строки,искомое_значение 2, а в
в каждой формуле
Особенности использования функции ПОИСКПОЗ в Excel
Вязкость т.е. позицию значения
первое значение, которое
скобкам, в которые
- =ПОИСКПОЗ($H$2;$B$1:$B$11;0) к таблице из, помните об ограничении в Excel: ищет указанное значение «ошибка». что позволяет выдавать значения заданному во формулу с помощью
- которое выступит всопоставляется со значениями слове «United States» — сначала получитьТемпература 40. в она заключена. Поэтому,Результатом этой формулы будет
- предыдущего примера: на длину искомогоВажно! Количество строк и в диапазоне ячеекТ.е. ожидаемый результат значение из диапазона всем столбце A:A
- функций ИНДЕКС и качестве критерия. в аргументе начальное положение равно номер счета-фактуры, а0,457
- Это можно сделать сточности когда закончите вводить41. значения в 255 столбцов в массиве, и возвращает относительную
- в доп. столбце по заданным номерам (числовой ряд может ПОИСКПОЗ, мы создалиВ ячейку D1 введитепросматриваемый_массив
1. Чем меньше
- затем для возврата3,55 помощью формулы =ПОИСКПОЗ(45;B31:B37;1)равно аргументу формулу, не забудьте, поскольку «USA» –MAX символов, иначе рискуете который использует функция позицию этого значения в первой строке строки и столбца. пополняться новыми значениями)
- вторую для вывода следующую формулу:. По умолчанию в значение, тем выше даты.
- 500Обратите внимание, что типискомое_значениеПросматриваемый_массив нажать это 4-ый элемент(МАКС). Формула находит получить ошибкуINDEX в диапазоне. будет такой: «Отчество,На практике ИНДЕКС редко
- используем формулу массива названия строк таблицыДля подтверждения после ввода качестве этого аргумента оно должно располагаться.Скопируйте всю таблицу и0,525 сопоставления =1 (третий
exceltable.com
Поиск значения в строке, сравнение с заголовком и вывод (Формулы/Formulas)
может быть неCtrl+Shift+Enter списка в столбце
максимум в столбце#VALUE!(ИНДЕКС), должно соответствоватьНапример, если в диапазоне Дата рождения». используется, скорее всего, (CTRL+SHIFT+ENTER): по зачиню ячейки. формулы нажмите комбинацию используется значение 1.
И «United States», и вставьте ее в3,25
аргумент функции).
упорядочен.
.B
D(#ЗНАЧ!). Итак, если значениям аргументов
B1:B3Подскажите, пож-та, как из-за того, что=B2;A:A;»»));A:A;0);1)’ class=’formula’>
Название соответствующих строк горячих клавиш CTRL+SHIFT+Enter,В приведенной ниже
«United Kingdom» возвращают ячейку A1 пустого4003. Поиск позиции вЕсли тип_сопоставления равен 1,Если всё сделано верно,(включая заголовок).и возвращает значение
таблица содержит длинныеrow_numсодержатся значения New-York, сделать. эти самые номерФункция ПОИСКПОЗ возвращает позицию (товаров) выводим в так как формула таблице описано, как значение 1. Как листа Excel.0,606
списке отсортированном по то функция ПОИСКПОЗ() Вы получите результатПОИСКПОЗ для строки
из столбца строки, единственное действующее(номер_строки) и Paris, London, тогдаПример во вложении. строки и столбца
элемента в столбце F2. должна быть выполнена функция находит значения
быть? Чуть позжеСовет:2,93 убыванию выполняется аналогично, находит наибольшее значение, как на рисунке– мы ищемC решение – это
column_num следующая формула возвратит
китин приходится вводить каждый A:A, имеющего максимальноеВНИМАНИЕ! При использовании скелета
excelworld.ru
Функции ИНДЕКС и ПОИСКПОЗ в Excel и примеры их использования
в массиве. Если в зависимости от мы присвоим всем Прежде чем вставлять данные300 но с типом которое меньше либо ниже: значение ячейки
той же строки: использовать(номер_столбца) функции цифру: ну как то раз. Ведь искомое значение среди чисел, формулы для других все сделано правильно, аргумента данным уникальные значения в Excel, установите0,675 сопоставления = -1. равно, чемКак Вы, вероятно, уже
Пример использования функций ИНДЕКС и ПОИСКПОЗ
H3=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))ИНДЕКСMATCH3 так, наверное значение не всегда
которые больше числа, задач всегда обращайте в строке формултип_сопоставления с помощью функции для столбцов A2,75 В этом случаеискомое_значениеПросматриваемый_массив заметили (и не(2015) в строке=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))
/(ПОИСКПОЗ). Иначе результат, поскольку «London» –200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЖПРОБЕЛЫ(ЕСЛИ(I4=»ошибка»;$I$3;»»)&» «&ЕСЛИ(K4=»ошибка»;$K$3;»»)&» «&ЕСЛИ(J4=»ошибка»;$J$3;»»)&» «&ЕСЛИ(L4=»ошибка»;$L$3;»»)) нужно выдавать по указанного в ячейке внимание на второй появятся фигурные скобки..RANK – D ширину250 функция ПОИСКПОЗ() находитдолжен быть упорядочен раз), если вводить1Результат: BeijingПОИСКПОЗ формулы будет ошибочным. это третий элемент_Boroda_ порядку. Но тогда
B2. Функция ИНДЕКС и третий аргументВ ячейку F1 введитеТип_сопоставления(РАНГ), но для в 250 пикселей0,746 наименьшее значение, которое
по возрастанию: …, некорректное значение, например,, то есть в2..Стоп, стоп… почему мы
в списке.: Еще вариант формулы к функции ИНДЕКС возвращает значение, хранящееся поисковой функции ГПР. вторую формулу:Поведение этого нам нужно и нажмите кнопку2,57 больше либо равно -2, -1, 0, которого нет в
ячейкахMIN
Предположим, Вы используете вот не можем просто=MATCH(«London»,B1:B3,0)200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПСТР(ЕСЛИ(A4=E4;»»;»; «&A$3)&ЕСЛИ(B4=F4;»»;»; «&B$3)&ЕСЛИ(C4=G4;»»;»; «&C$3)&ЕСЛИ(D4=H4;»»;»; на помощь приходит в найденной ячейке.
Количество охваченных строкСнова Для подтверждения нажмите1 или опущен слегка скорректировать результатПеренос текста
200 чем искомое значение. 1, 2, …, просматриваемом массиве, формулаA1:E1(МИН). Формула находит такую формулу с использовать функцию=ПОИСКПОЗ(«London»;B1:B3;0) «&D$3);3;99) функция ПОИСКПОЗ, которая
Результат расчетов: в диапазоне указанного комбинацию клавиш CTRL+SHIFT+Enter.Функция формулы в ячейке(вкладка «0,835Функции ПОИСКПОЗ() и ИНДЕКС() A-Z, ЛОЖЬ, ИСТИНА.ИНДЕКС: минимум в столбце
ВПРVLOOKUPФункцияsgkorolew как раз такиДля поиска ближайшего меньшего в аргументе, должноНайдено в каком месяцеПОИСКПОЗD4Главная2,38 часто используются вместе,
Если
Поиск индекса максимального числа массива в Excel
/=MATCH($H$3,$A$1:$E$1,0)D, которая ищет в(ВПР)? Есть лиMATCH: позволяет найти нужную
значения достаточно лишь совпадать с количеством и какая быланаходит наибольшее значение,
, как показано ниже:», группа «150 т.к. позволяют потип_сопоставленияПОИСКПОЗ=ПОИСКПОЗ($H$3;$A$1:$E$1;0)
и возвращает значение ячейках от смысл тратить время,(ПОИСКПОЗ) имеет воткитин позицию. немного изменить данную
строк в таблице. наибольшая продажа Товара
которое меньше илиIFERROR(SEARCH($B$2,E4)+ROW()/100000,»»)Выравнивание0,946 найденной позиции вопущен, то предполагается,
exceltable.com
Поиск заданных значений в строке и вывод названий столбцов (Формулы/Formulas)
сообщает об ошибкеРезультатом этой формулы будет
из столбцаB5 пытаясь разобраться в такой синтаксис:,Рассмотрим интересный пример, который
формулу и ее А также нумерация 4 на протяжении
равно значению аргументаЕСЛИОШИБКА(ПОИСК($B$2;E4)+СТРОКА()/100000;»»)
»).2,17
одном диапазоне вывести что он равен
#N/A5C
до лабиринтахMATCH(lookup_value,lookup_array,[match_type])_Boroda_
позволит понять прелесть следует также ввести должна начинаться со двух кварталов.искомое_значение
Снова дважды кликните поСчет
100
соответствующее значение из 1.(#Н/Д) или, поскольку «2015» находится
той же строки:D10
ПОИСКПОЗПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])
, спасибо! функции ИНДЕКС и как массив (CTRL+SHIFT+ENTER): второй строки!В первом аргументе функции.
excelworld.ru
правому нижнему углу
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
- Способ 1: простой поиск
- Способ 2: поиск по указанному интервалу ячеек
- Способ 3: Расширенный поиск
- Вопросы и ответы
В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.
Поисковая функция в Excel
Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.
Способ 1: простой поиск
Простой поиск данных в программе Excel позволяет найти все ячейки, в которых содержится введенный в поисковое окно набор символов (буквы, цифры, слова, и т.д.) без учета регистра.
- Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.
- После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».
- При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.
Поиск и выдача результатов производится построчно. Сначала обрабатываются все ячейки первой строки. Если данные отвечающие условию найдены не были, программа начинает искать во второй строке, и так далее, пока не отыщет удовлетворительный результат.
Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».
Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».
Так можно продолжать до тех, пор, пока отображение результатов не начнется по новому кругу.
- В случае, если при запуске поисковой процедуры вы нажмете на кнопку «Найти все», все результаты выдачи будут представлены в виде списка в нижней части поискового окна. В этом списке находятся информация о содержимом ячеек с данными, удовлетворяющими запросу поиска, указан их адрес расположения, а также лист и книга, к которым они относятся. Для того, чтобы перейти к любому из результатов выдачи, достаточно просто кликнуть по нему левой кнопкой мыши. После этого курсор перейдет на ту ячейку Excel, по записи которой пользователь сделал щелчок.
Способ 2: поиск по указанному интервалу ячеек
Если у вас довольно масштабная таблица, то в таком случае не всегда удобно производить поиск по всему листу, ведь в поисковой выдаче может оказаться огромное количество результатов, которые в конкретном случае не нужны. Существует способ ограничить поисковое пространство только определенным диапазоном ячеек.
- Выделяем область ячеек, в которой хотим произвести поиск.
- Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.
Способ 3: Расширенный поиск
Как уже говорилось выше, при обычном поиске в результаты выдачи попадают абсолютно все ячейки, содержащие последовательный набор поисковых символов в любом виде не зависимо от регистра.
К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.
Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.
- После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».
- В окне появляется целый ряд дополнительных инструментов для управления поиском. По умолчанию все эти инструменты находятся в состоянии, как при обычном поиске, но при необходимости можно выполнить корректировку.
По умолчанию, функции «Учитывать регистр» и «Ячейки целиком» отключены, но, если мы поставим галочки около соответствующих пунктов, то в таком случае, при формировании результата будет учитываться введенный регистр, и точное совпадение. Если вы введете слово с маленькой буквы, то в поисковую выдачу, ячейки содержащие написание этого слова с большой буквы, как это было бы по умолчанию, уже не попадут. Кроме того, если включена функция «Ячейки целиком», то в выдачу будут добавляться только элементы, содержащие точное наименование. Например, если вы зададите поисковый запрос «Николаев», то ячейки, содержащие текст «Николаев А. Д.», в выдачу уже добавлены не будут.
По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.
В параметре «Просматривать» можно изменить направление поиска. По умолчанию, как уже говорилось выше, поиск ведется по порядку построчно. Переставив переключатель в позицию «По столбцам», можно задать порядок формирования результатов выдачи, начиная с первого столбца.
В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».
Ещё более точно поиск можно задать, нажав на кнопку «Формат».
При этом открывается окно формата ячеек. Тут можно установить формат ячеек, которые будут участвовать в поиске. Можно устанавливать ограничения по числовому формату, по выравниванию, шрифту, границе, заливке и защите, по одному из этих параметров, или комбинируя их вместе.
Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».
После этого, появляется инструмент в виде пипетки. С помощью него можно выделить ту ячейку, формат которой вы собираетесь использовать.
После того, как формат поиска настроен, жмем на кнопку «OK».
Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.
- Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.
Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.
Имеем таблицу, в которой записаны объемы продаж определенных товаров в разных месяцах. Необходимо в таблице найти данные, а критерием поиска будут заголовки строк и столбцов. Но поиск должен быть выполнен отдельно по диапазону строки или столбца. То есть будет использоваться только один из критериев. Поэтому здесь нельзя применить функцию ИНДЕКС, а нужна специальная формула.
Поиск значений в таблице Excel
Для решения данной задачи проиллюстрируем пример на схематической таблице, которая соответствует выше описанным условиям.
Лист с таблицей для поиска значений по вертикали и горизонтали:
Над самой таблицей расположена строка с результатами. В ячейку B1 водим критерий для поискового запроса, то есть заголовок столбца или название строки. А в ячейке D1 формула поиска должна возвращать результат вычисления соответствующего значения. После чего в ячейке F1 сработает вторая формула, которая уже будет использовать значения ячеек B1 и D1 в качестве критериев для поиска соответствующего месяца.
Поиск значения в строке Excel
Теперь узнаем, в каком максимальном объеме и в каком месяце была максимальная продажа Товара 4.
Чтобы выполнить поиск по столбцам следует:
- В ячейку B1 введите значение Товара 4 – название строки, которое выступит в качестве критерия.
- В ячейку D1 введите следующую формулу:
- Для подтверждения после ввода формулы нажмите комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве. Если все сделано правильно, в строке формул появятся фигурные скобки.
- В ячейку F1 введите вторую формулу:
- Снова Для подтверждения нажмите комбинацию клавиш CTRL+SHIFT+Enter.
Найдено в каком месяце и какая была наибольшая продажа Товара 4 на протяжении двух кварталов.
Принцип действия формулы поиска значения в строке Excel:
В первом аргументе функции ВПР (Вертикальный ПРосмотр) указывается ссылка на ячейку где находится критерий поиска. Во втором аргументе указывается диапазон ячеек для просмотра в процессе поиска. В третьем аргументе функции ВПР должен указываться номер столбца, из которого следует взять значение на против строки с именем Товар 4. Но так как нам заранее не известен этот номер мы с помощью функции СТОЛБЕЦ создаем массив номеров столбцов для диапазона B4:G15.
Это позволяет функции ВПР собрать целый массив значений. В результате в памяти хранится все соответствующие значения каждому столбцу по строке Товар 4 (а именно: 360; 958; 201; 605; 462; 832). После чего функции МАКС остается только взять из этого массива максимальное число и возвратить в качестве значения для ячейки D1, как результат вычисления формулы.
Как видно конструкция формулы проста и лаконична. На ее основе можно в похожий способ находить для определенного товара и другие показатели. Например, минимальное или среднее значение объема продаж используя для этого функции МИН или СРЗНАЧ. Вам ни что не препятствует, чтобы приведенный этот скелет формулы применить с использованием более сложных функций для реализации максимально комфортного анализа отчета по продажам.
Как получить заголовки столбцов по зачиню одной ячейки?
Например, как эффектно мы отобразили месяц, в котором была максимальная продажа, с помощью второй формулы. Не сложно заметить что во второй формуле мы использовали скелет первой формулы без функции МАКС. Главная структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0). Мы заменили функцию МАКС на ПОИСКПОЗ, которая в первом аргументе использует значение, полученное предыдущей формулой. Оно теперь выступает в качестве критерия для поиска месяца. И в результате функция ПОИСКПОЗ нам возвращает номер столбца 2 где находится максимальное значение объема продаж для товара 4. После чего в работу включается функция ИНДЕКС, которая возвращает значение по номеру сроки и столбца из определенного в ее аргументах диапазона. Так как у нас есть номер столбца 2, а номер строки в диапазоне где хранятся названия месяцев в любые случаи будет 1. Тогда нам осталось функцией ИНДЕКС получить соответственное значение из диапазона B4:G4 – Февраль (второй месяц).
Поиск значения в столбце Excel
Вторым вариантом задачи будет поиск по таблице с использованием названия месяца в качестве критерия. В такие случаи мы должны изменить скелет нашей формулы: функцию ВПР заменить ГПР, а функция СТОЛБЕЦ заменяется на СТРОКА.
Это позволит нам узнать какой объем и какого товара была максимальная продажа в определенный месяц.
Чтобы найти какой товар обладал максимальным объемом продаж в определенном месяце следует:
- В ячейку B2 введите название месяца Июнь – это значение будет использовано в качестве поискового критерия.
- В ячейку D2 введите формулу:
- Для подтверждения после ввода формулы нажмите комбинацию клавиш CTRL+SHIFT+Enter, так как формула будет выполнена в массиве. А в строке формул появятся фигурные скобки.
- В ячейку F1 введите вторую формулу:
- Снова Для подтверждения нажмите CTRL+SHIFT+Enter.
Принцип действия формулы поиска значения в столбце Excel:
В первом аргументе функции ГПР (Горизонтальный ПРосмотр) указываем ссылку на ячейку с критерием для поиска. Во втором аргументе указана ссылка на просматриваемый диапазон таблицы. Третий аргумент генерирует функция СТРОКА, которая создает в памяти массив номеров строк из 10 элементов. Так как в табличной части у нас находится 10 строк.
Далее функция ГПР поочередно используя каждый номер строки создает массив соответственных значений продаж из таблицы по определенному месяцу (Июню). Далее функции МАКС осталось только выбрать максимальное значение из этого массива.
Далее немного изменив первую формулу с помощью функций ИНДЕКС и ПОИСКПОЗ, мы создали вторую для вывода названия строк таблицы по зачиню ячейки. Название соответствующих строк (товаров) выводим в F2.
ВНИМАНИЕ! При использовании скелета формулы для других задач всегда обращайте внимание на второй и третий аргумент поисковой функции ГПР. Количество охваченных строк в диапазоне указанного в аргументе, должно совпадать с количеством строк в таблице. А также нумерация должна начинаться со второй строки!
Скачать пример поиска значения в столбце и строке Excel
Читайте также: Поиск значения в диапазоне таблицы Excel по столбцам и строкам
По сути содержимое диапазона нас вообще не интересует, нам нужен просто счетчик строк. То есть изменить аргументы на: СТРОКА(B2:B11) или СТРОКА(С2:С11) – это никак не повлияет на качество формулы. Главное, что в этих диапазонах по 10 строк, как и в таблице. И нумерация начинается со второй строки!
Поиск значений в списке данных
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Предположим, вам нужно найти расширение телефона сотрудника с помощью его номера, а также правильно оценить коэффициент Комиссии для суммы продажи. Вы ищете данные, чтобы быстро и эффективно находить определенные данные в списке и автоматически проверять, правильно ли используются данные. После того как вы просмотрит данные, вы можете выполнить вычисления и отобразить результаты, указав возвращаемые значения. Есть несколько способов поиска значений в списке данных и отображения результатов.
В этой статье
Поиск значений в списке по вертикали по точному совпадению
Для выполнения этой задачи можно использовать функцию ВПР или сочетание функций индекс и ПОИСКПОЗ.
Примеры использования функции ВПР
Дополнительные сведения можно найти в разделе функция ВПР.
Примеры ИНДЕКСов и СОВПАДЕНИй
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет первое значение в ячейке C2: C10, соответствующее капусты (в B7), и возвращает значение в C7 (100) — первое значение, соответствующее капусты.
Дополнительные сведения можно найти в разделе Функция индекс и функция ПОИСКПОЗ.
Поиск значений в списке по вертикали по приблизительному совпадению
Для этого используйте функцию ВПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ВПР ищет имя учащегося, у которого есть 6 тардиес в диапазоне A2: B7. В таблице нет записи для 6 тардиес, поэтому функция ВПР ищет следующее самое высокое соответствие ниже 6 и находит значение 5, связанное с первым именем Дэйв, и, следовательно, возвращает Дэйв.
Дополнительные сведения можно найти в разделе функция ВПР.
Поиск значений по вертикали в списке неизвестного размера с точным соответствием
Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.
Примечание: Этот подход используется, если данные находятся в диапазоне внешних данных, который вы обновляете каждый день. Вы знаете, что в столбце B есть Цена, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортирован по алфавиту.
C1 — это верхняя левая ячейка диапазона (также называемая начальной ячейкой).
Match («апельсины»; C2: C7; 0) ищет оранжевый цвет в диапазоне C2: C7. Не следует включать начальную ячейку в диапазон.
1 — количество столбцов справа от начальной ячейки, для которых должно быть возвращено возвращаемое значение. В нашем примере возвращаемое значение находится в столбце D, Sales.
Поиск значений в списке по горизонтали по точному совпадению
Для выполнения этой задачи используется функция ГПР. Ниже приведен пример.
Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения можно найти в разделе функции ГПР.
Поиск значений в списке по горизонтали с использованием приблизительного совпадения
Для выполнения этой задачи используется функция ГПР.
Важно: Убедитесь, что значения в первой строке отсортированы в возрастающем порядке.
В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.
Дополнительные сведения можно найти в разделе функции ГПР.
Создание формулы подстановки с помощью мастера подстановок (толькоExcel 2007 )
Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).
В Excel 2007 мастер подстановок создает формулу подстановки на основе данных листа, имеющих заголовки строк и столбцов. Мастер подстановок помогает находить другие значения в строке, когда вы знаете значение в одном столбце, и наоборот. Мастер подстановок использует индекс и СОВПАДЕНИе в создаваемых формулах.
Щелкните ячейку в диапазоне.
На вкладке формулы в группе решения нажмите кнопку Подстановка .
Если команда подстановка недоступна, необходимо загрузить мастер подстановок надстройка программу.
Загрузка программы-надстройки «Мастер подстановок»
Нажмите кнопку Microsoft Office , щелкните Параметры Excelи выберите категорию надстройки.
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.
Поиск значения в столбце и строке таблицы Excel
Имеем таблицу, в которой записаны объемы продаж определенных товаров в разных месяцах. Необходимо в таблице найти данные, а критерием поиска будут заголовки строк и столбцов. Но поиск должен быть выполнен отдельно по диапазону строки или столбца. То есть будет использоваться только один из критериев. Поэтому здесь нельзя применить функцию ИНДЕКС, а нужна специальная формула.
Поиск значений в таблице Excel
Для решения данной задачи проиллюстрируем пример на схематической таблице, которая соответствует выше описанным условиям.
Лист с таблицей для поиска значений по вертикали и горизонтали:
Над самой таблицей расположена строка с результатами. В ячейку B1 водим критерий для поискового запроса, то есть заголовок столбца или название строки. А в ячейке D1 формула поиска должна возвращать результат вычисления соответствующего значения. После чего в ячейке F1 сработает вторая формула, которая уже будет использовать значения ячеек B1 и D1 в качестве критериев для поиска соответствующего месяца.
Поиск значения в строке Excel
Теперь узнаем, в каком максимальном объеме и в каком месяце была максимальная продажа Товара 4.
Чтобы выполнить поиск по столбцам следует:
- В ячейку B1 введите значение Товара 4 – название строки, которое выступит в качестве критерия.
- В ячейку D1 введите следующую формулу:
- Для подтверждения после ввода формулы нажмите комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве. Если все сделано правильно, в строке формул появятся фигурные скобки.
- В ячейку F1 введите вторую формулу:
- Снова Для подтверждения нажмите комбинацию клавиш CTRL+SHIFT+Enter.
Найдено в каком месяце и какая была наибольшая продажа Товара 4 на протяжении двух кварталов.
Принцип действия формулы поиска значения в строке Excel:
В первом аргументе функции ВПР (Вертикальный ПРосмотр) указывается ссылка на ячейку где находится критерий поиска. Во втором аргументе указывается диапазон ячеек для просмотра в процессе поиска. В третьем аргументе функции ВПР должен указываться номер столбца, из которого следует взять значение на против строки с именем Товар 4. Но так как нам заранее не известен этот номер мы с помощью функции СТОЛБЕЦ создаем массив номеров столбцов для диапазона B4:G15.
Это позволяет функции ВПР собрать целый массив значений. В результате в памяти хранится все соответствующие значения каждому столбцу по строке Товар 4 (а именно: 360; 958; 201; 605; 462; 832). После чего функции МАКС остается только взять из этого массива максимальное число и возвратить в качестве значения для ячейки D1, как результат вычисления формулы.
Как видно конструкция формулы проста и лаконична. На ее основе можно в похожий способ находить для определенного товара и другие показатели. Например, минимальное или среднее значение объема продаж используя для этого функции МИН или СРЗНАЧ. Вам ни что не препятствует, чтобы приведенный этот скелет формулы применить с использованием более сложных функций для реализации максимально комфортного анализа отчета по продажам.
Как получить заголовки столбцов по зачиню одной ячейки?
Например, как эффектно мы отобразили месяц, в котором была максимальная продажа, с помощью второй формулы. Не сложно заметить что во второй формуле мы использовали скелет первой формулы без функции МАКС. Главная структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0). Мы заменили функцию МАКС на ПОИСКПОЗ, которая в первом аргументе использует значение, полученное предыдущей формулой. Оно теперь выступает в качестве критерия для поиска месяца. И в результате функция ПОИСКПОЗ нам возвращает номер столбца 2 где находится максимальное значение объема продаж для товара 4. После чего в работу включается функция ИНДЕКС, которая возвращает значение по номеру сроки и столбца из определенного в ее аргументах диапазона. Так как у нас есть номер столбца 2, а номер строки в диапазоне где хранятся названия месяцев в любые случаи будет 1. Тогда нам осталось функцией ИНДЕКС получить соответственное значение из диапазона B4:G4 – Февраль (второй месяц).
Поиск значения в столбце Excel
Вторым вариантом задачи будет поиск по таблице с использованием названия месяца в качестве критерия. В такие случаи мы должны изменить скелет нашей формулы: функцию ВПР заменить ГПР, а функция СТОЛБЕЦ заменяется на СТРОКА.
Это позволит нам узнать какой объем и какого товара была максимальная продажа в определенный месяц.
Чтобы найти какой товар обладал максимальным объемом продаж в определенном месяце следует:
- В ячейку B2 введите название месяца Июнь – это значение будет использовано в качестве поискового критерия.
- В ячейку D2 введите формулу:
- Для подтверждения после ввода формулы нажмите комбинацию клавиш CTRL+SHIFT+Enter, так как формула будет выполнена в массиве. А в строке формул появятся фигурные скобки.
- В ячейку F1 введите вторую формулу:
- Снова Для подтверждения нажмите CTRL+SHIFT+Enter.
Принцип действия формулы поиска значения в столбце Excel:
В первом аргументе функции ГПР (Горизонтальный ПРосмотр) указываем ссылку на ячейку с критерием для поиска. Во втором аргументе указана ссылка на просматриваемый диапазон таблицы. Третий аргумент генерирует функция СТРОКА, которая создает в памяти массив номеров строк из 10 элементов. Так как в табличной части у нас находится 10 строк.
Далее функция ГПР поочередно используя каждый номер строки создает массив соответственных значений продаж из таблицы по определенному месяцу (Июню). Далее функции МАКС осталось только выбрать максимальное значение из этого массива.
Далее немного изменив первую формулу с помощью функций ИНДЕКС и ПОИСКПОЗ, мы создали вторую для вывода названия строк таблицы по зачиню ячейки. Название соответствующих строк (товаров) выводим в F2.
ВНИМАНИЕ! При использовании скелета формулы для других задач всегда обращайте внимание на второй и третий аргумент поисковой функции ГПР. Количество охваченных строк в диапазоне указанного в аргументе, должно совпадать с количеством строк в таблице. А также нумерация должна начинаться со второй строки!
По сути содержимое диапазона нас вообще не интересует, нам нужен просто счетчик строк. То есть изменить аргументы на: СТРОКА(B2:B11) или СТРОКА(С2:С11) – это никак не повлияет на качество формулы. Главное, что в этих диапазонах по 10 строк, как и в таблице. И нумерация начинается со второй строки!
Поиск на листе Excel
Поиск какого-либо значения в ячейках Excel довольно часто встречающаяся задача при программировании какого-либо макроса. Решить ее можно разными способами. Однако, в разных ситуациях использование того или иного способа может быть не оправданным. В данной статье я рассмотрю 2 наиболее распространенных способа.
Поиск перебором значений
Довольно простой в реализации способ. Например, найти в колонке «A» ячейку, содержащую «123» можно примерно так:
Минусами этого так сказать «классического» способа являются: медленная работа и громоздкость. А плюсом является его гибкость, т.к. таким способом можно реализовать сколь угодно сложные варианты поиска с различными вычислениями и т.п.
Поиск функцией Find
Гораздо быстрее обычного перебора и при этом довольно гибкий. В простейшем случае, чтобы найти в колонке A ячейку, содержащую «123» достаточно такого кода:
Вкратце опишу что делают строчки данного кода:
1-я строка: Выбираем в книге лист «Данные»;
2-я строка: Осуществляем поиск значения «123» в колонке «A», результат поиска будет в fcell;
3-я строка: Если удалось найти значение, то fcell будет содержать Range-объект, в противном случае — будет пустой, т.е. Nothing.
Полностью синтаксис оператора поиска выглядит так:
Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
What — Строка с текстом, который ищем или любой другой тип данных Excel
After — Ячейка, после которой начать поиск. Обратите внимание, что это должна быть именно единичная ячейка, а не диапазон. Поиск начинается после этой ячейки, а не с нее. Поиск в этой ячейке произойдет только когда весь диапазон будет просмотрен и поиск начнется с начала диапазона и до этой ячейки включительно.
LookIn — Тип искомых данных. Может принимать одно из значений: xlFormulas (формулы), xlValues (значения), или xlNotes (примечания).
LookAt — Одно из значений: xlWhole (полное совпадение) или xlPart (частичное совпадение).
SearchOrder — Одно из значений: xlByRows (просматривать по строкам) или xlByColumns (просматривать по столбцам)
SearchDirection — Одно из значений: xlNext (поиск вперед) или xlPrevious (поиск назад)
MatchCase — Одно из значений: True (поиск чувствительный к регистру) или False (поиск без учета регистра)
MatchByte — Применяется при использовании мультибайтных кодировок: True (найденный мультибайтный символ должен соответствовать только мультибайтному символу) или False (найденный мультибайтный символ может соответствовать однобайтному символу)
SearchFormat — Используется вместе с FindFormat. Сначала задается значение FindFormat (например, для поиска ячеек с курсивным шрифтом так: Application.FindFormat.Font.Italic = True), а потом при использовании метода Find указываем параметр SearchFormat = True. Если при поиске не нужно учитывать формат ячеек, то нужно указать SearchFormat = False.
Чтобы продолжить поиск, можно использовать FindNext (искать «далее») или FindPrevious (искать «назад»).
Примеры поиска функцией Find
Пример 1: Найти в диапазоне «A1:A50» все ячейки с текстом «asd» и поменять их все на «qwe»
Обратите внимание : Когда поиск достигнет конца диапазона, функция продолжит искать с начала диапазона. Таким образом, если значение найденной ячейки не менять, то приведенный выше пример зациклится в бесконечном цикле. Поэтому, чтобы этого избежать (зацикливания), можно сделать следующим образом:
Пример 2: Правильный поиск значения с использованием FindNext, не приводящий к зацикливанию.
В ниже следующем примере используется другой вариант продолжения поиска — с помощью той же функции Find с параметром After. Когда найдена очередная ячейка, следующий поиск будет осуществляться уже после нее. Однако, как и с FindNext, когда будет достигнут конец диапазона, Find продолжит поиск с его начала, поэтому, чтобы не произошло зацикливания, необходимо проверять совпадение с первым результатом поиска.
Пример 3: Продолжение поиска с использованием Find с параметром After.
Следующий пример демонстрирует применение SearchFormat для поиска по формату ячейки. Для указания формата необходимо задать свойство FindFormat.
Пример 4: Найти все ячейки с шрифтом «курсив» и поменять их формат на обычный (не «курсив»)
Примечание: В данном примере намеренно не используется FindNext для поиска следующей ячейки, т.к. он не учитывает формат (статья об этом: https://support.microsoft.com/ru-ru/kb/282151)
Коротко опишу алгоритм поиска Примера 4. Первые две строки определяют последнюю строку (lLastRow) на листе и последний столбец (lLastCol). 3-я строка задает формат поиска, в данном случае, будем искать ячейки с шрифтом Italic. 4-я строка определяет область ячеек с которой будет работать программа (с ячейки A1 и до последней строки и последнего столбца). 5-я строка осуществляет поиск с использованием SearchFormat. 6-я строка — цикл пока результат поиска не будет пустым. 7-я строка — меняем шрифт на обычный (не курсив), 8-я строка продолжаем поиск после найденной ячейки.
Хочу обратить внимание на то, что в этом примере я не стал использовать «защиту от зацикливания», как в Примерах 2 и 3, т.к. шрифт меняется и после «прохождения» по всем ячейкам, больше не останется ни одной ячейки с курсивом.
Свойство FindFormat можно задавать разными способами, например, так:
Следующий пример — применение функции Find для поиска последней ячейки с заполненными данными. Использованные в Примере 4 SpecialCells находит последнюю ячейку даже если она не содержит ничего, но отформатирована или в ней раньше были данные, но были удалены.
Пример 5: Найти последнюю колонку и столбец, заполненные данными
В этом примере используется UsedRange, который так же как и SpecialCells возвращает все используемые ячейки, в т.ч. и те, что были использованы ранее, а сейчас пустые. Функция Find ищет ячейку с любым значением с конца диапазона.
При поиске можно так же использовать шаблоны, чтобы найти текст по маске, следующий пример это демонстрирует.
Пример 6: Выделить красным шрифтом ячейки, в которых текст начинается со слова из 4-х букв, первая и последняя буквы «т», при этом после этого слова может следовать любой текст.
Для поиска функцией Find по маске (шаблону) можно применять символы:
* — для обозначения любого количества любых символов;
? — для обозначения одного любого символа;
— для обозначения символов *, ? и
. (т.е. чтобы искать в тексте вопросительный знак, нужно написать
?, чтобы искать именно звездочку (*), нужно написать
* и наконец, чтобы найти в тексте тильду, необходимо написать
Поиск даты с помощью Find
Если необходимо найти текущую дату или какую-то другую дату на листе Excel или в диапазоне с помощью Find, необходимо учитывать несколько нюансов:
- Тип данных Date в VBA представляется в виде #[месяц]/[день]/[год]#, соответственно, если необходимо найти фиксированную дату, например, 01 марта 2018 года, необходимо искать #3/1/2018#, а не «01.03.2018»
- В зависимости от формата ячеек, дата может выглядеть по-разному, поэтому, чтобы искать дату независимо от формата, поиск нужно делать не в значениях, а в формулах, т.е. использовать LookIn:=xlFormulas
Приведу несколько примеров поиска даты.
Пример 7: Найти текущую дату на листе независимо от формата отображения даты.
Пример 8: Найти 1 марта 2018 г.
Искать часть даты — сложнее. Например, чтобы найти все ячейки, где месяц «март», недостаточно искать «03» или «3». Не работает с датами так же и поиск по шаблону. Единственный вариант, который я нашел — это выбрать формат в котором месяц прописью для ячеек с датами и искать слово «март» в xlValues.
Тем не менее, можно найти, например, 1 марта независимо от года.
Пример 9: Найти 1 марта любого года.
Функция ПОИСКПОЗ() в MS EXCEL
Функция ПОИСКПОЗ( ) , английский вариант MATCH(), возвращает позицию значения в диапазоне ячеек. Например, если в ячейке А10 содержится значение «яблоки», то формула =ПОИСКПОЗ («яблоки»;A9:A20;0) вернет 2, т.е. искомое значение «яблоки» содержится во второй ячейке диапазона A9:A20:А9 — первая ячейка (предполагается, что в ней не содержится значение «яблоки»), А10 — вторая, А11 — третья и т.д. (подсчет позиции производится от верхней ячейки).
Функция ПОИСКПОЗ() возвращает позицию искомого значения, а не само значение. Например: ПОИСКПОЗ(«б»;<«а»;»б»;»в»;»б»>;0) возвращает число 2 — относительную позицию буквы «б» в массиве <«а»;»б»;»в»;»б»>. Позиция второй буквы «б» будет проигнорирована, функция вернет позицию только первой буквы. О том как вернуть ВСЕ позиции искомого значения читайте ниже в разделе Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию.
Синтаксис функции
ПОИСКПОЗ(искомое_значение; просматриваемый_массив; тип_сопоставления)
Искомое_значение — значение, используемое при поиске значения в просматриваемом_массиве. Искомое_значение может быть значением (числом, текстом или логическим значением (ЛОЖЬ или ИСТИНА)) или ссылкой на ячейку, содержащую число, текст или логическое значение.
Просматриваемый_массив — непрерывный диапазон ячеек, возможно, содержащих искомые значения. Просматриваемый_массив может быть только одностолбцовым диапазоном ячеек, например А9:А20 или диапазоном, расположенным в одной строке, например, А2:Е2. Таким образом формула =ПОИСКПОЗ(«слива»;A30:B33;0) работать не будет (выдаст ошибку #Н/Д), так как Просматриваемый_массив представляет собой диапазон ячеек размещенный одновременно в нескольких столбцах и нескольких ячейках.
Тип_сопоставления — число -1, 0 или 1. Тип_сопоставления указывает, как MS EXCEL сопоставляет искомое_значение со значениями в аргументе просматриваемый_массив.
- Если тип_сопоставления равен 0, то функция ПОИСКПОЗ() находит первое значение, которое в точности равно аргументу искомое_значение. Просматриваемый_массив может быть не упорядочен.
- Если тип_сопоставления равен 1, то функция ПОИСКПОЗ() находит наибольшее значение, которое меньше либо равно, чем искомое_значение. Просматриваемый_массив должен быть упорядочен по возрастанию: . -2, -1, 0, 1, 2, . A-Z, ЛОЖЬ, ИСТИНА. Если тип_сопоставления опущен, то предполагается, что он равен 1.
- Если тип_сопоставления равен -1, то функция ПОИСКПОЗ() находит наименьшее значение, которое больше либо равно чем искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z-A, . 2, 1, 0, -1, -2, . и так далее.
Функция ПОИСКПОЗ() не различает РеГИстры при сопоставлении текстов.
Если функция ПОИСКПОЗ() не находит соответствующего значения, то возвращается значение ошибки #Н/Д.
Поиск позиции в массивах с текстовыми значениями
Произведем поиск позиции в НЕ сортированном списке текстовых значений (диапазон B7:B13)
Столбец Позиция приведен для наглядности и не влияет на вычисления.
Формула для поиска позиции значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)
Формула находит первое значение сверху и выводит его позицию в диапазоне, второе значение Груши учтено не будет.
Чтобы найти номер строки, а не позиции в искомом диапазоне, можно записать следующую формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)
Если искомое значение не обнаружено в списке, то будет возвращено значение ошибки #Н/Д. Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0) вернет ошибку, т.к. значения «грейпфрут» в диапазоне ячеек B7:B13 нет.
В файле примера можно найти применение функции при поиске в горизонтальном массиве.
Excel поиск в строке значения
В данной статье рассмотрены некоторые функции по работе со ссылками и массивами:
Функция ВПР
Вертикальное первое равенство. Ищет совпадение по ключу в первом столбце определенного диапазона и возвращает значение из указанного столбца этого диапазона в совпавшей с ключом строке.
Синтаксис: =ВПР(ключ; диапазон; номер_столбца; [интервальный_просмотр]), где
- ключ – обязательный аргумент. Искомое значение, для которого необходимо вернуть значение.
- диапазон – обязательный аргумент. Таблица, в которой необходимо найти значение по ключу. Первый столбец таблицы (диапазона) должен содержать значение совпадающее с ключом, иначе будет возвращена ошибка #Н/Д.
- номер_столбца – обязательный аргумент. Порядковый номер столбца в указанном диапазоне из которого необходимо возвратить значение в случае совпадения ключа.
- интервальный_просмотр – необязательный аргумент. Логическое значение указывающее тип просмотра:
- ЛОЖЬ – функция ищет точное совпадение по первому столбцу таблицы. Если возможно несколько совпадений, то возвращено будет самое первое. Если совпадение не найдено, то функция возвращает ошибку #Н/Д.
- ИСТИНА – функция ищет приблизительное совпадение. Является значением по умолчанию. Приблизительное совпадение означает, если не было найдено ни одного совпадения, то функция вернет значение предыдущего ключа. При этом предыдущим будет считаться тот ключ, который идет перед искомым согласно сортировке от меньшего к большему либо от А до Я. Поэтому, перед применением функции с данным интервальным просмотром, предварительно отсортируйте первый столбец таблицы по возрастанию, так как, если это не сделать, функция может вернуть неправильный результат. Когда найдено несколько совпадений, возвращается последнее из них.
Важно не путать, что номер столбца указывается не по индексу на листе, а по порядку в указанном диапазоне.
На изображении приведено 3 таблицы. Первая и вторая таблицы располагают исходными данными. Третья таблица собрана из первых двух.
В первой таблице приведены категории товара и расположение каждой категории.
Во второй категории имеется список всех товаров с указанием цен.
Третья таблица содержать часть товаров для которых необходимо определить цену и расположение.
Для цены необходимо использовать функцию ВПР с точным совпадением (интервальный просмотр ЛОЖЬ), так как данный параметр определен для всех товаров и не предусматривает использование цены другого товара, если вдруг она по случайности еще не определена.
Для определения расположения товара используется ВПР с приблизительным совпадением (интервальный просмотр ИСТИНА), так как распределение товара осуществляется по категориям. Из-за того, что наименование товара состоит из названия категории плюс дополнительный текст, по условиям сортировки от А до Я наименования товаров будут идти сразу после наименования категории, поэтому когда в таблице не обнаруживается совпадений с ключом подтягивается первое значение сверху.
В принципе, данный подход устраивал бы, если для товаров, для которых отсутствует категория, не подтягивалось расположение. Обратите внимание на товар «Лук Подмосковье». Для него определено расположение «Стелаж №2», хотя в первой таблице нет категории «Лук». Это происходит все по тем же причинам, когда функцией не обнаруживается равенств, то она определяет для значения значение меньшего самого близкого по сортировке ключа, а для «Лук Подмосковье» это категория «Картофель».
Он подобного эффекта можно избавиться путем определения категории из наименования товара используя текстовые функции ЛЕВСИМВ(C11;ПОИСК(» «;C11)-1), которые вернут все символы до первого пробела, а также изменить интервальный просмотр на точный.
Помимо всего описанного, функция ВПР позволяет применять для текстовых значений подстановочные символы – * (звездочка – любое количество любых символов) и ? (один любой символ). Например, для искомого значения «*» & «иван» & «*» могут подойти строки Иван, Иванов, диван и т.д.
Также данная функция может искать значения в массивах – =ВПР(1;<2;»Два»:1;»Один»>;2;ЛОЖЬ) – результат выполнения строка «Два».
Функция ГПР
Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.
Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).
Так как функция аналогична функции ВПР, за исключением того, что использует горизонтальные таблицы вместо вертикальных, то описания и примеры использования подходят и для ГПР с учетом упомянутых различий.
Функция СТРОКА
Определяет и возвращает номер строки указанной ссылкой ячейки.
Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.
=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.
Функция СТОЛБЕЦ
Возвращает номер столбца ячейки, указанной ссылкой.
Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.
=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.
Функция АДРЕС
Возвращает текст, представляющий адрес ячейки, заданной номерами строки и столбца.
Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:
- Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
- Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
- тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
- 1 – значение по умолчанию, когда закреплены все индексы;
- 2 – закрепление индекса строки;
- 3 – закрепление индекса столбца;
- 4 – адрес без закреплений.
- стиль_ссылки – необязательный аргумент. Логическое значение:
- ИСТИНА – формат ссылок «A1»;
- ЛОЖЬ – формат ссылок «R1C1».
- имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.
=АДРЕС(1;1) – возвращает $A$1.
=АДРЕС(1;1;4) – возвращает A1.
=АДРЕС(1;1;4;ЛОЖЬ) – результат R[1]C[1].
=АДРЕС(1;1;4;ЛОЖЬ;»Лист1″) – результат выполнения функции Лист1!R[1]C[1].
Функция ДВССЫЛ
Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.
Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где
- адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, «C3», «R3C3» или «D8:D9».
- стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
- ИСТИНА – стиль A1. Является значением по умолчанию;
- ЛОЖЬ – стиль R1C1.
=ДВССЫЛ(«a3») – возвращает ссылку на ячейку A3.
=ДВССЫЛ(«r3c3») – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(«r3c3»; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:
Функция ЧСТРОК
Возвращает число строк в указанном диапазоне или массиве.
Синтаксис: =ЧСТРОК(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧСТРОК(D1:D8) – функция возвращает результат 8.
=ЧСТРОК(<1:2:3:4:5>) – функция определят, что в массиве 5 строк.
Функция ЧИСЛСТОЛБ
Возвращает число столбцов в указанном диапазоне или массиве.
Синтаксис: =ЧИСЛСТОЛБ(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧИСЛСТОЛБ(A5:D5) – результат функции 4.
=ЧИСЛСТОЛБ(<1;2;3;4;5>) – функция определят, что в массиве 5 столбцов.
Функция СМЕЩ
Смещает ссылку на диапазон на указанное количество строк и столбцов, а также позволяет изменить его размерность.
Функция не передвигает и не изменяет самих ячеек, а только подменяет саму ссылку.
Синтаксис: =СМЕЩ(ссылка; смещ_по_строкам; смещ_по_столбцам; [высота]; [ширина]), где
-
ссылка – обязательный аргумент.
Ссылка на ячейку либо диапазон, относительно которого необходимо произвести смещение.
Если в результате смещения диапазон стал выходить на пределы листа, то функция возвращает ошибку #ССЫЛКА!.
Для примера будем использовать вложение функции СМЕЩ в функцию СУММ.
Изначально ссылаемся на диапазон из 10 строк и 1 столбца, где все ячейки имеют значение 2. Таким образом получает результат выполнения формулы – 20.
Теперь сместим диапазон на один столбец влево, т.е. на -1.
Снова изменим ссылку, а именно расширим до 4 столбцов. После этого возвращаемая ссылка станет A3:D12. Результат на изображении.
Функция ПОИСКПОЗ
Возвращает позицию элемента, заданного по значению, в диапазоне либо массиве.
Синтаксис: =ПОИСКПОЗ(искомое_значение; массив; [тип_сопоставления]), где:
- искомое_значение – обязательный аргумент. Значение элемента, который необходимо найти в массиве.
- Массив – обязательный аргумент. Одномерный диапазон либо массив для поиска элемента.
- тип_сопоставления – необязательный аргумент. Число 1, 0 или -1, определяющее способ поиска элемента:
- 1 – значение по умолчанию. Если совпадений не найдено, то возвращается позиция ближайшего меньшего по значению к искомому элементу. Массив или диапазон должен быть отсортирован от меньшего к большему или от А до Я.
- 0 – функция ищет точное совпадение. Если не найдено, то возвращается ошибка #Н/Д.
- -1 – Если совпадений не найдено, то возвращается позиция ближайшего большего по значению к искомому элементу. Массив или диапазон должен быть отсортирован по убыванию.
Пример использования:
=ПОИСКПОЗ(«Г»; <«а»;»б»;»в»;»г»;»д»>) – функция возвращает результат 4.
Функция ПОИСКПОЗ в Excel
При этом регистр не учитывается.
=ПОИСКПОЗ(«е»; <«а»;»б»;»в»;»г»;»д»>; 1) – результат 5, т.к. элемента не найдено, поэтому возвращается ближайший меньший по значению элемент. Элементы массива записаны по возрастанию.
=ПОИСКПОЗ(«е»; <«а»;»б»;»в»;»г»;»д»>; 0) – возвращается ошибка, т.к. элемент не найден, а тип сопоставления указан на точное совпадение.
=ПОИСКПОЗ(«в»; <«д»;»г»;»в»;»б»;»а»>; -1) – результат 3.
=ПОИСКПОЗ(«д»; <«а»;»б»;»в»;»г»;»д»>; -1) – элемент не найден, хотя присутствует в массиве. Функция возвращает неверный результат, так как последний аргумент принимает значение -1, а элементы НЕ расположены по убыванию.
Для текстовых значений функция допускает использование подстановочных символов «*» и «?».
Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.
У Вас недостаточно прав для комментирования.
Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в 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);"")
Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.
Оцените качество статьи. Нам важно ваше мнение:
Поиск нужных данных в диапазоне
Как использовать функцию ВПР (VLOOKUP) для поиска и выборки нужных значений из списка мы недавно разбирали. Если вы еще с ней не знакомы — загляните сюда, не пожалейте пяти минут, чтобы сэкономить себе потом несколько часов.
Если же вы знакомы с ВПР, то — вдогон — стоит разобраться с похожими функциями: ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), владение которыми весьма облегчит жизнь любому опытному пользователю Excel. Гляньте на следующий пример:
Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.
Задача решается при помощи двух функций:
=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)
Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.
Функция ИНДЕКС выбирает из диапазона A1:G13 значение, находящееся на пересечении заданной строки (номер строки с артикулом выдает функция ПОИСКПОЗ) и столбца (нам нужен регион, т.е. второй столбец).
Ссылки по теме
- Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
- Улучшенная версия функции ВПР (VLOOKUP)
- Многоразовый ВПР
Программа Excel ориентирована на ускоренные расчеты. Зачастую документы здесь состоят из большого ко…
Программа Excel ориентирована на ускоренные расчеты. Зачастую документы здесь состоят из большого количества листов, на которых представлены длинные таблицы с числами, формулами или текстом. Для удобного нахождения нужных ячеек существует специальный автоматизированный поиск. Ознакомившись с особенностями его использования, можно сократить время работы в документах. О том, как искать в Экселе слова, фразы или ячейки, подробно написано ниже.
Поиск слов
Документы часто имеют много страниц, тогда встает вопрос о том, как в Еxcel найти слово. Сделать это иногда становится проблематично. Для упрощения этой задачи существует специальная функция поиска. Чтобы ею воспользоваться, необходимо выполнить следующий алгоритм действий:
- запустить программу Excel;
- проверить активность таблицы, щелкнув по любой из ячеек;
- нажать комбинацию клавиш «Ctrl + F»;
- в строке «Найти» появившегося окна ввести искомое слово;
- нажать «Найти».
В результате программа активирует поисковую функцию, а найденные слова в таблице или книге будут подсвечены.
Существует также способ нестрогого поиска, который подходит для ситуаций, когда искомое слово помнится частично. Он предусматривает использование символов-заменителей (джокерные символы). В Excel их всего два:
- «?» – подразумевает любой отдельно взятый символ;
- «*» – обозначает любое количество символов.
Примечательно, при поиске вопросительного знака или знака умножения дополнительно впереди ставится тильда («~»). При поиске тильды, соответственно – две тильды.
Алгоритм неточного поиска слова:
- запустить программу;
- активировать страницу щелчком мыши;
- зажать комбинацию клавиш «Ctrl + F»;
- в строке «Найти» появившегося окна ввести искомое слово, используя вместо букв, вызывающих сомнения, джокерные символы;
- проверить параметр «Ячейка целиком» (он не должен быть отмеченным);
- нажать «Найти все».
Все слова, подходящие под параметры поиска, подсветятся, поэтому их легко будет увидеть и проанализировать.
Поиск нескольких слов
Не зная, как найти слово в таблице в Еxcel, следует также воспользоваться функцией раздела «Редактирование» – «Найти и выделить». Далее нужно отталкиваться от искомой фразы:
- если фраза точная, введите ее и нажмите клавишу «Найти все»;
- если фраза разбита другими ключами, нужно при написании ее в строке поиска дополнительно проставить между всеми словами «*».
В первом случае поиск выдаст все результаты с точной поисковой фразой, игнорируя другие склонения или разбавленные ее варианты. Во втором случае отыщутся все значения с введенными надписями, даже если между ними присутствуют другие символы.
Поиск ячеек
Ячейки могут содержать в себе формулы или значения, быть объеденными или скрытыми. Эти характеристики изменяют ход поиска интересующих нас ячеек.
Для поиска ячеек с формулами выполняются следующие действия.
- В открытом документе выделить ячейку или диапазон ячеек (в первом случае поиск идет по всему листу, во втором – в выделенных ячейках).
- Во вкладке «Главная» выбрать функцию «Найти и выделить».
- Обозначить команду «Перейти».
- Выделить клавишу «Выделить».
- Выбрать «Формулы».
- Обратить внимание на список пунктов под «Формулами» (возможно, понадобится снятие флажков с некоторых параметров).
- Нажать клавишу «Ок».
Для поиска объединенных ячеек потребуется выполнение следующих манипуляций.
- Перейти во вкладку «Главная».
- Выбрать функцию «Найти и выделить».
- Нажать на команду «Найти».
- Перейти в «Параметры» и выбрать «Формат».
- Здесь выделить функцию «Выравнивание», поставить отметку «Объединить ячейки».
- Нажать на «Ок».
- Нажать на кнопку «Найти все» и проанализировать список ячеек, которые объединены на соответствующем листе.
При нажимании кнопкой мыши на элемент в списке происходит выделение объединенной ячейки на листе. Дополнительно доступна функция «Отменить объединение ячеек».
Выполнение представленных выше действий приводит к нахождению всех объединенных ячеек на листе и при необходимости отмене данного свойства. Для поиска скрытых ячеек проводятся следующие действия.
- Выбрать лист, требующий анализа на присутствие скрытых ячеек и их нахождения.
- Нажать клавиши «F5_гт_
Special». - Нажать сочетание клавиш «CTRL + G_гт_ Special».
Можно воспользоваться еще одним способом для поиска скрытых ячеек:
- Открыть функцию «Редактирование» во вкладке «Главная».
- Нажать на «Найти».
- Выбрать команду «Перейти к разделу». Выделить «Специальные».
- Попав в группу «Выбор», поставить галочку на «Только видимые ячейки».
- Нажать кнопку «Ок».
В результате проделанных действий видимые ячейку выделятся, при этом границы столбцов и строк, которые граничат со скрытыми ячейками или столбцами, предстанут с белыми границами.
Если интересующая ячейка обозначена условным форматом, ее несложно найти и применить для копирования, удаления или редактирования непосредственно условного формата. Если речь идет о ячейке с определенным условным форматом, тогда на помощь придет функция «Выделить группу ячеек».
Чтобы найти ячейки, для которых применено условное форматирование:
- нажать на ячейку, не предусматривающую условное форматирование;
- выбрать функцию «Редактирование» во вкладке «Главная»;
- нажать на кнопку «Найти и выделить»;
- выделить категорию «Условное форматирование».
Чтобы найти ячейки, для которых применено одинаковое условное форматирование:
- выбрать ячейку, предусматривающую условное форматирование, требующую поиска;
- выбрать группу «Редактирование» во вкладке «Главная»;
- нажать на кнопку «Найти и выделить»;
- выбрать категорию «Выделить группу ячеек»;
- установить свойство «Условные форматы»;
- напоследок нужно зайти в группу «Проверка данных» и установить аналогичный пункт.
Поиск через фильтр
Чтобы узнать, как в Еxcel найти слово при использовании фильтра, потребуется изучить следующий алгоритм действий:
- выделить заполненную ячейку;
- во вкладке «Главная» выбрать функцию «Сортировка»;
- нажать на кнопку «Фильтр»;
- открыть выпадающее меню;
- ввести искомый запрос;
- нажать кнопку «Ок».
В результате в столбце выделятся только ячейки с искомым значением. Для сбрасывания результатов поиска в выпадающем списке необходимо нажать на «Выделить все». Для отключения фильтра потребуется еще раз нажать на его значок в функции «Сортировка». Примечательно, данный способ не даст результатов, если неизвестен ряд с искомым значением.