Найти адрес ячейки в excel по содержимому excel

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Описание

В этой статье приведены пошаговые инструкции по поиску данных в таблице (или диапазоне ячеек) с помощью различных встроенных функций Microsoft Excel. Для получения одного и того же результата можно использовать разные формулы.

Создание образца листа

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

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

A

B

C

D

E

1

Имя

Правитель

Возраст

Поиск значения

2

Анри

501

Плот

Иванов

3

Стэн

201

19

4

Иванов

101

максималь

5

Ларри

301

составляет

Определения терминов

В этой статье для описания встроенных функций Excel используются указанные ниже условия.

Термин

Определение

Пример

Массив таблиц

Вся таблица подстановки

A2: C5

Превышающ

Значение, которое будет найдено в первом столбце аргумента «инфо_таблица».

E2

Просматриваемый_массив
-или-
Лукуп_вектор

Диапазон ячеек, которые содержат возможные значения подстановки.

A2: A5

Номер_столбца

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

3 (третий столбец в инфо_таблица)

Ресулт_аррай
-или-
Ресулт_вектор

Диапазон, содержащий только одну строку или один столбец. Он должен быть такого же размера, что и просматриваемый_массив или Лукуп_вектор.

C2: C5

Интервальный_просмотр

Логическое значение (истина или ложь). Если указано значение истина или опущено, возвращается приближенное соответствие. Если задано значение FALSE, оно будет искать точное совпадение.

ЛОЖЬ

Топ_целл

Это ссылка, на основе которой вы хотите основать смещение. Топ_целл должен ссылаться на ячейку или диапазон смежных ячеек. В противном случае функция СМЕЩ возвращает #VALUE! значение ошибки #ИМЯ?.

Оффсет_кол

Число столбцов, находящегося слева или справа от которых должна указываться верхняя левая ячейка результата. Например, значение «5» в качестве аргумента Оффсет_кол указывает на то, что верхняя левая ячейка ссылки состоит из пяти столбцов справа от ссылки. Оффсет_кол может быть положительным (то есть справа от начальной ссылки) или отрицательным (то есть слева от начальной ссылки).

Функции

LOOKUP ()

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

Ниже приведен пример синтаксиса формулы подСТАНОВКи.

   = Просмотр (искомое_значение; Лукуп_вектор; Ресулт_вектор)


Следующая формула находит возраст Марии на листе «образец».

   = ПРОСМОТР (E2; A2: A5; C2: C5)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в векторе подстановки (столбец A). Формула затем соответствует значению в той же строке в векторе результатов (столбец C). Так как «Мария» находится в строке 4, функция Просмотр возвращает значение из строки 4 в столбце C (22).

Примечание. Для функции Просмотр необходимо, чтобы таблица была отсортирована.

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

Использование функции Просмотр в Excel

ВПР ()

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

Ниже приведен пример синтаксиса формулы ВПР :

    = ВПР (искомое_значение; инфо_таблица; номер_столбца; интервальный_просмотр)

Следующая формула находит возраст Марии на листе «образец».

   = ВПР (E2; A2: C5; 3; ЛОЖЬ)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в левом столбце (столбец A). Формула затем совпадет со значением в той же строке в Колумн_индекс. В этом примере используется «3» в качестве Колумн_индекс (столбец C). Так как «Мария» находится в строке 4, функция ВПР возвращает значение из строки 4 В столбце C (22).

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

Как найти точное совпадение с помощью функций ВПР или ГПР

INDEX () и MATCH ()

Вы можете использовать функции индекс и ПОИСКПОЗ вместе, чтобы получить те же результаты, что и при использовании поиска или функции ВПР.

Ниже приведен пример синтаксиса, объединяющего индекс и Match для получения одинаковых результатов поиска и ВПР в предыдущих примерах:

    = Индекс (инфо_таблица; MATCH (искомое_значение; просматриваемый_массив; 0); номер_столбца)

Следующая формула находит возраст Марии на листе «образец».


= ИНДЕКС (A2: C5; MATCH (E2; A2: A5; 0); 3)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Затем он будет соответствовать значению в той же строке в столбце C. Так как «Мария» находится в строке 4, формула возвращает значение из строки 4 в столбце C (22).

Обратите внимание Если ни одна из ячеек в аргументе «число» не соответствует искомому значению («Мария»), эта формула будет возвращать #N/А.
Чтобы получить дополнительные сведения о функции индекс , щелкните следующий номер статьи базы знаний Майкрософт:

Поиск данных в таблице с помощью функции индекс

СМЕЩ () и MATCH ()

Функции СМЕЩ и ПОИСКПОЗ можно использовать вместе, чтобы получить те же результаты, что и функции в предыдущем примере.

Ниже приведен пример синтаксиса, объединяющего смещение и сопоставление для достижения того же результата, что и функция Просмотр и ВПР.

   = СМЕЩЕНИЕ (топ_целл, MATCH (искомое_значение; просматриваемый_массив; 0); Оффсет_кол)

Эта формула находит возраст Марии на листе «образец».

   = СМЕЩЕНИЕ (A1; MATCH (E2; A2: A5; 0); 2)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Формула затем соответствует значению в той же строке, но двум столбцам справа (столбец C). Так как «Мария» находится в столбце A, формула возвращает значение в строке 4 в столбце C (22).

Чтобы получить дополнительные сведения о функции СМЕЩ , щелкните следующий номер статьи базы знаний Майкрософт:
 

Использование функции СМЕЩ

Нужна дополнительная помощь?

При использовании формул поиска в Excel (таких как VLOOKUP, XLOOKUP или INDEX / MATCH) цель состоит в том, чтобы найти совпадающее значение и получить это значение (или соответствующее значение в той же строке / столбце) в качестве результата.

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

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

В Excel есть несколько функций, которые предназначены именно для этого.

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

Поиск и возврат адреса ячейки с помощью функции АДРЕС

Функция АДРЕС в Excel предназначена именно для этого.

Он берет строку и номер столбца и дает вам адрес ячейки этой конкретной ячейки.

Ниже приведен синтаксис функции АДРЕС:
= АДРЕС (row_num, column_num, [abs_num], [a1], [sheet_text])
куда:

  • row_num: номер строки ячейки, для которой вы хотите получить адрес ячейки
  • column_num: номер столбца ячейки, для которой вы хотите адрес
  • [abs_num]: необязательный аргумент, в котором вы можете указать, хотите ли вы, чтобы ссылка на ячейку была абсолютной, относительной или смешанной.
  • [a1]: необязательный аргумент, в котором вы можете указать, хотите ли вы использовать ссылку в стиле R1C1 или в стиле A1.
  • [sheet_text]: необязательный аргумент, в котором вы можете указать, хотите ли вы добавить имя листа вместе с адресом ячейки или нет.

Теперь давайте возьмем пример и посмотрим, как это работает.

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

Ниже приведена формула, которая сделает это:
= АДРЕС (ПОИСКПОЗ ("KR256"; A1: A20,0); 3)

В приведенной выше формуле я использовал функцию ПОИСКПОЗ, чтобы узнать номер строки, содержащей данный идентификатор сотрудника.

И поскольку отдел находится в столбце C, я использовал 3 в качестве второго аргумента.

Эта формула отлично работает, но у нее есть один недостаток: она не будет работать, если вы добавите строку над набором данных или столбец слева от набора данных.

Это связано с тем, что, когда я указываю второй аргумент (номер столбца) как 3, он жестко запрограммирован и не изменится.

Если я добавлю какой-либо столбец слева от набора данных, формула будет считать 3 столбца с начала рабочего листа, а не с начала набора данных.

Итак, если у вас есть фиксированный набор данных и вам нужна простая формула, это сработает.

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

Поиск и возврат адреса ячейки с помощью функции CELL

Хотя функция АДРЕС была создана специально, чтобы дать вам ссылку на ячейку с указанным номером строки и столбца, есть еще одна функция, которая также делает это.

Это называется функцией ЯЧЕЙКА (и она может дать вам гораздо больше информации о ячейке, чем функция АДРЕС).

Ниже приведен синтаксис функции ЯЧЕЙКА:
= ЯЧЕЙКА (тип_информации; [ссылка])
куда:

  • info_type: информация о нужной ячейке. Это может быть адрес, номер столбца, имя файла и т. Д.
  • [Справка]: Необязательный аргумент, в котором вы можете указать ссылку на ячейку, для которой вам нужна информация о ячейке.

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

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

Ниже приведена формула, которая сделает это:
= ЯЧЕЙКА ("адрес", ИНДЕКС ($ A $ 1: $ D $ 20, ПОИСКПОЗ ("KR256", $ A $ 1: $ A $ 20,0), 3))

Приведенная выше формула довольно проста.

Я использовал формулу ИНДЕКС в качестве второго аргумента, чтобы получить отдел для идентификатора сотрудника KR256.

А затем просто обернул его в функцию CELL и попросил вернуть адрес ячейки с этим значением, которое я получаю из формулы ИНДЕКС.

Теперь вот секрет того, почему это работает — формула ИНДЕКС возвращает значение подстановки, когда вы даете ей все необходимые аргументы. Но в то же время он также вернет ссылку на эту результирующую ячейку.

В нашем примере формула ИНДЕКС возвращает «Продажи» в качестве результирующего значения, но в то же время вы также можете использовать ее, чтобы дать вам ссылку на ячейку этого значения вместо самого значения.

Обычно, когда вы вводите формулу ИНДЕКС в ячейку, она возвращает значение, потому что это именно то, что от нее ожидается. Но в сценариях, где требуется ссылка на ячейку, формула ИНДЕКС даст вам ссылку на ячейку.

В этом примере это именно то, что он делает.

И самое лучшее в использовании этой формулы — это то, что она не привязана к первой ячейке на листе. Это означает, что вы можете выбрать любой набор данных (который может находиться в любом месте рабочего листа), использовать формулу ИНДЕКС для регулярного поиска, и он все равно даст вам правильный адрес.

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

Итак, это две простые формулы, которые вы можете использовать для поиска и найти и вернуть адрес ячейки вместо значения в Excel.

Надеюсь, вы нашли этот урок полезным.

Проверка ячейки на наличие в ней текста (без учета регистра)

​Смотрите также​​ из искомых ячеек.​ iRng Is Nothing​ к Вам снова.​Отзовитесь пожалуйста! Очень​ f As Boolean,​ значения в этом​ два варианта:​: The_Prist, я так​ 5 столбов. В​ аргумент генерирует функция​ полученное предыдущей формулой.​ 4 на протяжении​ выделить» можно в​.​ столбца» (функция «ИНДЕКС»​.​Примечание:​ Вторая искомая находится​ Then With Workbooks(«Инв.карт.xls»).Worksheets(«TDSheet»)​ Задачка такая:​ нужная вещь, кто​

​ fO As Long​ столбце и как​1) вытащить эту​ понял найти ячейку​ каждой ячейке могут​ СТРОКА, которая создает​ Оно теперь выступает​ двух кварталов.​ статье «Фильтр в​Совет.​ в Excel).​Кнопка​Мы стараемся как​

​ на 8 вправа​ Set iRng_Kart =​Есть большое количество​ знает, напишите примерные​ Set Word =​

Поиск ячеек, содержащих текст

​ только макрос находит​ строку со второго​ с текстом, и​

  1. ​ быть один из​ в памяти массив​ в качестве критерия​

    ​В первом аргументе функции​ Excel».​Если вы работаете​

  2. ​Найти и перенести в​​Параметры​​ можно оперативнее обеспечивать​​ и на 5​​ .Columns(2).Find(«Сведения о приемке»,​​ файлов, содержащих данные​​ действия чтобы осуществить​​ CreateObject(«Word.Application») Set WordDoc​​ первую заполненную ячейку,​
    Найдите параметр на ленте

  3. ​ листа — тогда​​ «отобразить ее в​​ след.типов данных: текст,​ номеров строк из​ для поиска месяца.​ ВПР (Вертикальный ПРосмотр)​Имеем таблицу, в которой​​ с таблицей продолжительное​​ другое место в​

    ​служит для задания​​ вас актуальными справочными​ вниз от неё.​

  4. ​ , xlValues, xlPart)​ в виде таблиц,​​ сие действо или​​ = Word.Documents.Open(Filename:=Application.ThisWorkbook.path &​ начинает искать в​ ваша последняя формула​​ R77″ (т.е. по​​ число, дата, просто​

  5. ​ 10 элементов. Так​​ И в результате​​ указывается ссылка на​ записаны объемы продаж​ время и вам​ Excel​ более подробных условий​ материалами на вашем​

    ​ Поиск по содержанию?​ .Cells(iRng_Kart.Row + 3,​ перед каждой из​ киньте где посмотреть.​​ «Пример.docx») Set r​​ той же папке​​ отлично подходит.​​ адресу)​​ пусто. Одна (И​​ как в табличной​

  6. ​ функция ПОИСКПОЗ нам​​ ячейку где находится​​ определенных товаров в​​ часто надо переходить​​(например, в бланк)​

    ​ поиска. Например, можно найти​​ языке. Эта страница​ Поиск по содержанию,​ 2).UnMerge Cells(iRng.Row +​ которых в первом​ На форуме не​ = WordDoc.Range Do​​ где находится excel,​​2) вытаскивать эту​

​Юрий М​​ ТОЛЬКО ОДНА -​ части у нас​

Проверка ячейки на наличие в ней любого текста

​ возвращает номер столбца​ критерий поиска. Во​​ разных месяцах. Необходимо​​ к поиску от​

Примеры ЕТЕКСТ

Проверка соответствия содержимого ячейки определенному тексту

​ несколько данных сразу​ все ячейки, содержащие​ переведена автоматически, поэтому​ а значит вопрос​​ 3, 1).Copy .Cells(iRng_Kart.Row​​ столбце А стоит​

Примеры ЕСЛИ

Проверка соответствия части ячейки определенному тексту

​ нашел(​ With r.Find .ClearFormatting​​ .docx файл с​​ строку сразу с​​: Я так понял,​​ иначе быть не​​ находится 10 строк.​​ 2 где находится​

​ втором аргументе указывается​​ в таблице найти​​ одного слова к​​ – смотрите в​

Примеры ЕСЛИ, ЕЧИСЛО и ПОИСК

support.office.com

Поиск в Excel.

​ данных определенного типа,​​ ее текст может​​ по теме. Нужно​​ + 3, 2)​​ цифра (номер пункта)​Alex77755​ .Text = «дисциплина​ таким же названием,​ третьего листа (скопированных​​ что в R77​ ​ может) ячейка содержит​Далее функция ГПР поочередно​
​ максимальное значение объема​ диапазон ячеек для​ данные, а критерием​​ другому. Тогда удобнее​ статье «Найти в​ такого как формулы.​ содержать неточности и​ выделить диапазон из​ .Cells(iRng_Kart.Row + 3,​
​ и её название.​: На такой вопрос​ *относится» .Forward =​​ что и текст​ данны) — и​ результат :-)​ текст в котором​ используя каждый номер​ продаж для товара​ просмотра в процессе​
​ поиска будут заголовки​​ окно поиска не​ Excel несколько данных​​Для поиска на текущем​ грамматические ошибки. Для​ этих двух ячеек.​ 2).Resize(, 5).Merge End​ Верхняя часть всех​
​ вряд ли кто​ True .Wrap =​ ​ в ячейке. Если​​ в этом случае​Юрий М​ встречается «ИНН» и​
​ строки создает массив​ 4. После чего​ поиска. В третьем​​ строк и столбцов.​​ закрывать каждый раз,​ сразу» здесь (функция​ листе или во​ нас важно, чтобы​
​vikttur​ With End If​ файлов одинаковая и​ сможет ответить: слишком​ wdFindContinue .Format =​
​ находит такой файл,​ ваша последняя формула​: Если результат будет​ «КПП». А вот​ соответственных значений продаж​ в работу включается​ аргументе функции ВПР​ Но поиск должен​ а сдвинуть его​ «ВПР» в Excel).​ всей книге можно​
​ эта статья была​: Получать адрес можно​ End Sub​ работа с ней​ расплывчатое задание.​ False .MatchCase =​ то создает в​ может дать сбой,​ не в R77​ её расположение в​ из таблицы по​ функция ИНДЕКС, которая​
​ должен указываться номер​ быть выполнен отдельно​ в ту часть​Или​ выбрать в поле​ вам полезна. Просим​ для чего угодно,​Amsh​ не представляет никаких​Самый быстрый поиск​
​ False .MatchWholeWord =​​ данном excel файле​ так как нужная​ — незачёт!​​ таблице — может​​ определенному месяцу (Июню).​
​ возвращает значение по​
​ столбца, из которого​ по диапазону строки​ таблицы, где оно​найти ячейку с ссылкой​Искать​ вас уделить пару​ но задача в​: Спасибо большое. А​ трудностей, а вот​ Find.​ False .MatchAllWordForms =​ новый лист с​ ячейка может оказаться​Himtree​ меняться.​ Далее функции МАКС​ номеру сроки и​ следует взять значение​
​ или столбца. То​ не будет мешать.​ в формуле Excel,​вариант​ секунд и сообщить,​ теме должна освещаться​ Вы, может быть,​ с нижней есть​Остальные параметры надо​ False .MatchSoundsLike =​ тем же названием,​ не во втором​: Не хотел я​
​Пример содержимого: «Администрация​ осталось только выбрать​ столбца из определенного​ на против строки​
​ есть будет использоваться​ Сдвинуть можно ниже​чтобы заменить ссылку,​Лист​
​ помогла ли она​ одна.​ сможете подсказать: если​ проблемы. В пункте​ уточнять…​ False .MatchWildcards =​ если не находит,​ (B) столюце, а​ пугать вас своим​
​ МО города Москвы​ максимальное значение из​​ в ее аргументах​ с именем Товар​ только один из​ экрана, оставив только​ смотрите статью «Поменять​или​ вам, с помощью​
​Вы сейчас просите​ в ячейке А1​ три файла Старая​Можно так же​ True If .Execute​ то ищет дальше​ в третьем (С).​
​ файлом, ну раз​ ИНН 0123456789 КПП​ этого массива.​ диапазона. Так как​ 4. Но так​ критериев. Поэтому здесь​ ячейку ввода искомого​ ссылки на другие​Книга​
​ кнопок внизу страницы.​ помощи по выделению​ записано $A$2, а​ 030162.xlsx таблица бывает​ использовать функцию листа​

excel-office.ru

Поиск значения в столбце и строке таблицы Excel

​ Then If f​ до последней заполненной​Himtree​ просите, вот. В​ 123456789″​Далее немного изменив первую​ у нас есть​ как нам заранее​ нельзя применить функцию​ слова («найти») и​ листы в формулах​.​ Для удобства также​ диапазона.​ в ячейке B1​ абсолютно разных размеров​ ВПР​ Then If r.Start​

Поиск значений в таблице Excel

​ ячейки.​: эх, поспешил…​ нём три листа.​ЗАДАЧА: проверить всю​ формулу с помощью​

​ номер столбца 2,​ не известен этот​ ИНДЕКС, а нужна​

Отчет объем продаж товаров.

​ нажимать потом Enter.​ Excel».​Нажмите кнопку​ приводим ссылку на​Вывод: или вопрос​ записано 1111. Как​ по высоте (2​переменная =Application.WorksheetFunction.VLookup​ = fO Then​Подскажите пожалуйста, как​Дело в том​1) Карточка результата​ таблицу 5*5 на​ функций ИНДЕКС и​ а номер строки​ номер мы с​ специальная формула.​Это диалоговое окно​Найти в Excel ячейки​

Поиск значения в строке Excel

​Найти все​ оригинал (на английском​ не по теме,​ должна выглядеть строка​ ячейки, 3, 7,​

​privet2000​ Exit Do End​

  1. ​ это сделать.​ что я работаю​ (здесь должны отображаться​ предмет ячейки содержащей​ ПОИСКПОЗ, мы создали​
  2. ​ в диапазоне где​ помощью функции СТОЛБЕЦ​
  3. ​Для решения данной задачи​ поиска всегда остается​ с примечанием​или​ языке) .​ или тема названа​ макроса, которая запишет​ 12, сколь угодно)​:​Результат поиска по строкам.
  4. ​ If Else fO​Narimanych​
  5. ​ в бесплатном OO​ все необходимые данные,​

Найдено название столбца.

​ текст «ИНН» и​ вторую для вывода​ хранятся названия месяцев​ создаем массив номеров​ проиллюстрируем пример на​

Принцип действия формулы поиска значения в строке Excel:

​ на экране, даже​-​Найти далее​Предположим, что вы хотите​ коряво.​ в ячейку А2​ и из-за этого​=СУММПРОИЗВ(НЕ(ЕОШИБКА(ПОИСК(ТРАНСП(ВЫГРУЗКА!G11);ВЫГРУЗКА!B7:B497)))*(ВЫГРУЗКА!D7:D497))​ = r.Start f​:​ ver.3.2.1 а вот​ в пригодном для​ «КПП» и в​ названия строк таблицы​ в любые случаи​ столбцов для диапазона​ схематической таблице, которая​ если вы переходите​статья «Вставить примечание​.​ убедиться, что столбец​…и дальше целый​ значение ячейки B1?​

​ адреса ячеек в​Замечательная формула от​ = True End​AlexFlash27​ в нём данная​ восприятия виде)​ случае её обнаружения​ по зачиню ячейки.​ будет 1. Тогда​ B4:G15.​ соответствует выше описанным​ на другую страницу.​ в Excel» тут​Найти все​ содержит текст, не​ перечень, техзадание. А​Kuzmich​ необходимой мне четвертой​

​ пользователя pabchek, ищет​ If WordDoc.Range(r.Start +​, Привет.​ формула (при том​2) Обработка (промежуточный​ отобразить текст из​ Название соответствующих строк​ нам осталось функцией​Это позволяет функции ВПР​ условиям.​ С помощью этого​ .​списки каждого экземпляра​ номера. Или perhapsyou​ в этом разделе​: Range(«A2»)=Range(«B1»)​ таблице меняются в​ все значения в​ 11, r.End -​Столбец «B» для​

Как получить заголовки столбцов по зачиню одной ячейки?

​ что отлично работает​ лист, для упорядочивания​ этой ячейки в​ (товаров) выводим в​ ИНДЕКС получить соответственное​ собрать целый массив​Лист с таблицей для​ окна можно производить​Для быстрого поиска​ элемента, который необходимо​ необходимо найти все​ помощь по конкретным​Amsh​ зависимости от файла.​ столбце и в​ 9).Copy Range(«C4»).Select ActiveSheet.Paste​ нижеприведенного должен быть​ в MS 2007)​ данных)​ ячейке (к примеру)​ F2.​ значение из диапазона​ значений. В результате​ поиска значений по​ поиск на любой​ существует сочетание клавиш​ найти, и позволяет​ заказы, которые соответствуют​ вопросам.​: Не совсем то.​Что нужно от​ найденных строках берет​ Set r =​ заполнен с1-ой строки..​ вываливается в ошибку:​3) Данные (сюда​ R77.​ВНИМАНИЕ! При использовании скелета​ B4:G4 – Февраль​ в памяти хранится​ вертикали и горизонтали:​ странице, надо только​ –​ сделать активной ячейки,​ определенным Продавец. Если​

​Нашли ячейку по​

Поиск значения в столбце Excel

​ Нам не известен​ макроса: в открытом​ значения из другого​ WordDoc.Range(r.End, r.End) Else​PureBasic Sub FOR_ALEX()​ #DIV/0!​ каждый раз будут​хто-то​ формулы для других​ (второй месяц).​ все соответствующие значения​

​Над самой таблицей расположена​ его активизировать на​Ctrl + F​ выбрав нужное вхождение.​ у вас нет​

​ содержанию — вот,​ адрес ячейки, в​ файле Старая 030162.xlsx​ столбца для сложения.​

  1. ​ Exit Do End​ m = 0​MCH​ вставляться новые данные,​: где файл?​
  2. ​ задач всегда обращайте​​
  3. ​ каждому столбцу по​ строка с результатами.​ открытой странице. Для​. Нажимаем клавишу Ctrl​ Можно сортировать результаты​ проблемой верхний или​ получили ответ по​ которую нужно скопировать​Результат поиска по столбцам.
  4. ​ запускать поиск по​Нужно чтобы поиск​
  5. ​ If End With​ PTH = ThisWorkbook.Path​

Найдено название строки.

Принцип действия формулы поиска значения в столбце Excel:

​: попробуйте так:​ скопированные с сайта)​KuklP​ внимание на второй​Вторым вариантом задачи будет​ строке Товар 4​ В ячейку B1​ этого нажать курсор​ и, удерживая её,​Найти​ нижний регистр текста,​ теме. Другое (выделение,​ значение из B1,​ первому столбцу листа​ был только того​ LoopКак совместить это​

​ FN = Dir(PTH​=ИНДЕКС(B1:B6;ПОИСКПОЗ(«*ИНН*КПП*»;B1:B6;0))​На первом листе,​: Опять студенты лодыри…​ и третий аргумент​ поиск по таблице​ (а именно: 360;​ водим критерий для​ на строке «найти».​ нажимаем клавишу F.​

​все, щелкнув заголовок.​ существует несколько способов​ поиск диапазона, копирование​ но он записан​ для нахождения ячейки​ содержимого, которое в​ код и код​ & «*.docx», vbNormal)​MCH​ в красной ячейке​

​MCH​ поисковой функции ГПР.​ с использованием названия​ 958; 201; 605;​ поискового запроса, то​Для более расширенного​ Появится окно поиска.​Примечание:​ проверки, если ячейка​ и проч.) -​ в ячейке А1​ с фразой «Сведения​ ячейке, и не​ который вы написали,​

​ ReDim SHName(ThisWorkbook.Sheets.Count) For​: или;​ должна появится надпись:​

​: формула массива, вводится​ Количество охваченных строк​ месяца в качестве​ 462; 832). После​

​ есть заголовок столбца​ поиска нажмите кнопку​Ещё окно поиска​ Чтобы прекратить процесс поиска,​ содержит текст.​ не в тему​ в виде $A$2​ о приемке» (например,​ больше чем то,​ чтобы после того​ i = 1​=ВПР(«*ИНН*КПП*»;B1:B6;1;0)​»ИНН 2311038642 КПП​ нажатием ctrl+shift+enter:​ в диапазоне указанного​ критерия. В такие​

exceltable.com

Поиск ячейки содержащей текст, часть которого отвечает условию поиска.

​ чего функции МАКС​​ или название строки.​ «Параметры» и выберите​ можно вызвать так​ нажмите клавишу ESC.​Для поиска текста можно​Amsh​Kuzmich​
​ это получилась ячейка​ что нужно: в​ как макрос находит​
​ To ThisWorkbook.Sheets.Count SHName(i​Юрий М​ 231101001 Администрация Прикубанского​=ИНДЕКС(A1:E5;МАКС(ЕЧИСЛО(ПОИСК(«ИНН»;A1:E5))*ЕЧИСЛО(ПОИСК(«КПП»;A1:E5))*СТРОКА(A1:E5));МАКС(ЕЧИСЛО(ПОИСК(«ИНН»;A1:E5))*ЕЧИСЛО(ПОИСК(«КПП»;A1:E5))*СТОЛБЕЦ(A1:E5)))​ в аргументе, должно​ случаи мы должны​ остается только взять​ А в ячейке​ нужный параметр поиска.​ — на закладке​Для выполнения этой задачи​ также использовать фильтр.​: Это всё понятно.​: Sub ww() Dim​ А36), копировать данные​ G11 содержимое «МЕЛ»,​ в папке word​
​ — 1) =​: Дело в том​ внутригородского округа города​Serge​
​ совпадать с количеством​ изменить скелет нашей​ из этого массива​ D1 формула поиска​Например, выберем — «Значение».​ «Главная» нажать кнопку​ используется функция​ Дополнительные сведения см.​ Там не техзадание,​ Rng As String​

​ из ячейки на​​ и если в​

​ файл с таким​​ Sheets(i).Name Next ReDim​

​ что я работаю​​ Краснодара​: МСН: >​
​ строк в таблице.​

​ формулы: функцию ВПР​​ максимальное число и​

​ должна возвращать результат​
​ Тогда будет искать​ «Найти и выделить».​ЕТЕКСТ​

​ в статье Фильтрация​​ а чтобы задавалось​

​ Rng = Range(«A1»)​ три строки ниже​
​ столбце B7:B497 есть​ же именем как​
​ S(m) Do If​ в бесплатном OO​
​javascript:»​Ну наконец-то!​ А также нумерация​ заменить ГПР, а​ возвратить в качестве​ вычисления соответствующего значения.​
​ и числа, и​
​На вкладке «Найти» в​

​.​​ данных.​
​ меньше вопросов, поэтому​ Range(Rng) = Range(«B1»)​
​ (А39), открывать свёрнутый​ «МЕЛ: Не определено»,​
​ и значения ячейки​ FN = «»​
​ ver.3.2.1 {/post}{/quote}Тогда Вам​Её можно подцепить​Хоть один гуру​ должна начинаться со​ функция СТОЛБЕЦ заменяется​ значения для ячейки​
​ После чего в​
​ номер телефона, т.д.​

​ ячейке «найти» пишем​​Для возвращения результатов для​

​Выполните следующие действия, чтобы​​ всё подробно. Каков​ End Sub​ файл Инвентарная карточка​ то это более​ из столбца B,​ Then Exit Do​

​ прямая дорога на​​ как с третьего​ сознался что он​ второй строки!​

​ на СТРОКА.​​ D1, как результат​ ячейке F1 сработает​Если нужно найти​

​ искомое слово (можно​​ условия, которое можно​ найти ячейки, содержащие​ смысл плодить дополнительные​Amsh​ ОС 030162.xlsx, запускать​
​ длинное значение не​ он открывал его,​ S(m) = Mid(FN,​ форум по этому​ так и со​
​ гуру! :-)))​Скачать пример поиска значения​Это позволит нам узнать​
​ вычисления формулы.​ вторая формула, которая​ все одинаковес слова,​ часть слова) и​
​ указать с помощью​ определенный текст.​ темы, если вопрос​
​: Спасибо, работает так,​ такой же поиск​ учитывать.​ копировал нужное слово,​
​ 1, Len(FN) -​
​ продукту.​ второго листа, но​MCH​ в столбце и​ какой объем и​
​Как видно конструкция формулы​ уже будет использовать​

​ но в падежах​​ нажимаем «найти далее».​

​ функции​​Выделите диапазон ячеек, среди​ вытекает из этой,​ как нужно!​ для нахождения фразы​Может можно ограничить​ вставлял скопированное из​ 5) m =​

​Himtree​​ как ?​: UDF:​ строке Excel​ какого товара была​ проста и лаконична.​ значения ячеек B1​
​ (молоко, молоком, молоку,​

​ Будет найдено первое​​Если​ которых требуется осуществить​ которую к тому​Amsh​ «Сведения о приемке»​ поиск дополнительно по​
​ word слово на​
​ m + 1​: спасибо но опять​

​ТОЛЬКО ФОРМУЛОЙ, никаких​​Function inn(rng As​Читайте также: Поиск значения​ максимальная продажа в​
​ На ее основе​ и D1 в​ т.д.), то напишем​ такое слово. Затем​.​
​ поиск.​ же я и​: Ещё вопрос возник​ по второму столбцу​ кол-ву символов.​ второй (уже созданный)​ ReDim Preserve S(m)​ в MS 2007​ макросов.​ Range) As String​ в диапазоне таблицы​ определенный месяц.​

​ можно в похожий​​ качестве критериев для​
​ формулу с подстановочными​ нажимаете «найти далее»​Для выполнения этой задачи​Чтобы выполнить поиск по​ создавал.​ по схожей проблеме.​ (Ячейка B32) и​Вопрос сложно озвучить,​ лист в excel?​ FN = Dir()​

​ работает легко, а​​Himtree​
​Dim r As​

​ Excel по столбцам​​Чтобы найти какой товар​
​ способ находить для​

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

​ прошу прощения за​​ А если не​ Loop For i​ в OO нефунциклирует!​: файл вот​ Range​

​ и строкам​​ обладал максимальным объемом​ определенного товара и​Теперь узнаем, в каком​ этом статью «Подстановочные​ на второе такое​Если​

​ любую ячейку.​​: Какой мысл? Ознакомьтесь​ с адресами например,​
​ данные в ячейку​ корявый язык но​ находит в папке​ = LBound(S) To​ Эх =(​Himtree​For Each r​По сути содержимое диапазона​ продаж в определенном​ другие показатели. Например,​ максимальном объеме и​
​ знаки в Excel».​ слово.​

planetaexcel.ru

Поиск файла по содержимому ячейки

​,​​На вкладке​
​ с правилами форума​ BP62 и BR62.​ на три ниже​ на скрине и​ файл с таким​ UBound(S) — 1​KuklP​: Наверное криво я​ In rng​ нас вообще не​ месяце следует:​ минимальное или среднее​ в каком месяце​Функция в Excel «Найти​А если надо показать​Поиск​Главная​Это Вам удобно,​ в первой записано​ найденной (B35).​ в файле все​ же именем, то​ For j =​
​: Himtree, Вам же​ изъяснился. Прикрепил файл,​

​If InStr(r.Text, «ÈÍÍ»)​​ интересует, нам нужен​​В ячейку B2 введите​​ значение объема продаж​
​ была максимальная продажа​ и выделить»​ сразу все такие​
​и​в группе​ а не форуму.​ $BA$64, а во​Такое же нужно​ сразу видно​ уведомляет что такого​ LBound(SHName) To UBound(SHName)​ Юрий М подсказал​ с конкретным примером.​ > 0 And​ просто счетчик строк.​ название месяца Июнь​ используя для этого​ Товара 4.​поможет не только​ слова, то нажимаем​ЕЧИСЛО​Редактирование​ Как такие же,​ второй $BI$69. Эти​ будет сделать для​abtextime​ файла нет.​ If S(i) =​ выход от 06.11.2011,​ В красной ячейке​ InStr(r.Text, «ÊÏÏ») >​ То есть изменить​ – это значение​ функции МИН или​Чтобы выполнить поиск по​ найти данные, но​ кнопку «найти все»​.​

​нажмите кнопку​​ как Вы, будут​ адреса определяются в​
​ ячейки B39, D39,​: Приложите Excel-файл​auts​ SHName(j) Then S(i)​ 10:10. Или просто​ должно отобразиться название​ 0 Then inn​
​ аргументы на: СТРОКА(B2:B11)​ будет использовано в​ СРЗНАЧ. Вам ни​ столбцам следует:​ и заменить их.​ и внизу поискового​Примечание:​Найти и выделить​ находить ответ на​ каждом файле свои.​ A68 и F68,​Светлый​: после обработки базы​ = «» Next​ нравится людям голову​ организации с ИНН​ = r.Text: Exit​ или СТРОКА(С2:С11) –​ качестве поискового критерия.​ что не препятствует,​В ячейку B1 введите​ Смотрите статью «Как​ окошка появится список​ Функция​и нажмите кнопку​ свой вопрос о​ Но записываются всегда​ но думаю, я​:​ данных, у меня​ Next For i​ морочить?​ и КПП.​ Function​ это никак не​В ячейку D2 введите​ чтобы приведенный этот​ значение Товара 4​ скопировать формулу в​ с указанием адреса​поиска​Найти​ копировании диапазона? Листать​ в ячейки BP62​ разберусь. Получить бы​=СУММПРОИЗВ((ВЫГРУЗКА!G11=ВЫГРУЗКА!B7:B497)*(ВЫГРУЗКА!D7:D497))​ создается несколько массивов​ = i =​Himtree​Himtree​Next r​ повлияет на качество​ формулу:​ скелет формулы применить​ – название строки,​ Excel без изменения​ ячейки. Чтобы перейти​не учитывается регистр.​

CyberForum.ru

Excel: поиск по ячейкам (по содержимому)

​.​​ все темы в​ и BR62. Какой​ пример. Очень надеюсь​privet2000​ с данными (одномерные​ LBound(S) To UBound(S)​: Простите, все кому​: Блин, а работает​End Function​ формулы. Главное, что​Для подтверждения после ввода​ с использованием более​ которое выступит в​ ссылок» здесь.​ на нужное слово​Часто возникает вопрос​В поле​ надежде, что в​ командой можно выделить​ на вашу помощь.​: Извиняюсь, видимо файл​ с переменными сингл)​ — 1 If​
​ заморочил голову.​ =) сейчас буду​MCH​ в этих диапазонах​ формулы нажмите комбинацию​ сложных функций для​ качестве критерия.​Как убрать лишние​

​ в таблице, нажимаем​​«​Найти​ какой-то из тем​ диапазон BA64:BI69 в​
​ Спасибо.​ слетел во время​
​ которые я затем​ S(i) <> «»​
​Большая часть функций​ разбирать по этапам​: Криво получилось:​
​ по 10 строк,​

CyberForum.ru

Поиск точного соответствия содержимого ячейки (Формулы/Formulas)

​ клавиш CTRL+SHIFT+Enter, так​​ реализации максимально комфортного​​В ячейку D1 введите​
​ пробелы, которые мешают​ нужное слово в​Как найти в Excel​введите текст —​Amsh​ таком случае, чтобы​Файл, из которого​
​ пред последнего редактирования​ переписываю в эксель​ Then Worksheets.Add.Name =​ (по крайне мере​ и вкуривать как​Function inn(rng As​ как и в​ как формула будет​ анализа отчета по​ следующую формулу:​ обрабатывать данные в​ списке окна поиска.​»?​
​ или номера —,​’а найдется нужное?​ выполнять потом над​
​ дергать данные прикрепляю.​privet2000​ файл в два​ S(i) Next End​ все простые) из​ именно она работает​

​ Range) As String​​ таблице. И нумерация​

​ выполнена в массиве.​​ продажам.​​Для подтверждения после ввода​

​ таблице, читайте в​​Если поиск ничего не​В Excel можно​ вам нужно найти.​

​Amsh​​ ним действия по​Kuzmich​: Забыл указать. Упрощенный​ столбца, первый -​ Sub​ MS 2007 идентичны​ и стабильность вычисления.​Dim r As​ начинается со второй​ А в строке​

excelworld.ru

Поиск ячейки по содержанию для получения её адреса

​Например, как эффектно мы​​ формулы нажмите комбинацию​ статье «Как удалить​ нашел, а вы​ найти любую информацию:​ Или выберите из​: Хорошо, я создам​
​ объединению ячеек, центрированию​: Обе книги д.б.​ вариант работает, но​ название, например г24(не​AlexFlash27​ и поддерживаются и​Спасибо!​ Range​ строки!​ формул появятся фигурные​ отобразили месяц, в​ горячих клавиш CTRL+SHIFT+Enter,​ лишние пробелы в​ знаете, что эти​ текст, часть текста,​ раскрывающегося списка​ нужную дополнительную тему.​ содержимого с переносом?​ открыты. В макрос​ забыл сказать, есть​ имя ячейки, а​: Спасибо работает, а​ в OO. Надеялся​MCH​For Each r​Himtree​
​ скобки.​ котором была максимальная​ так как формула​ Excel» тут.​ данные точно есть,​ цифру, номер телефона,​Найти​vikttur​ Формат ячеек Общий.​ вставьте свое название​ еще возможность оставить​ строковое значение), как​ еще вопрос:​ что мою задачку​: А зачем Вам​ In rng​: Добрый вечер! Битые​В ячейку F1 введите​ продажа, с помощью​ должна быть выполнена​В Excel можно​ то попробуйте убрать​ эл. адрес​последнего поиска.​
​: Вы сами-то, перед​vikttur​ книги с инвентаризационной​ в формуле указывать​ мне сделать так​У меня есть​ можно решить на​ 5 столбцов на​If InStr(r.Text, «ИНН»)​
​ сутки не могу​ вторую формулу:​

​ второй формулы. Не​​ в массиве. Если​ найти любую информацию​ из ячеек таблицы​,​Примечание:​
​ созданием темы, пользовались​: Вопрос не по​ карточкой.​ диапазон? Например G11:G12​ чтобы после ввода​ код, который ищет​ элементарных функциях MS,​ 5 строк, когда​ > 0 And​ решить казалось бы​Снова Для подтверждения нажмите​ сложно заметить что​ все сделано правильно,​ не только функцией​ отступ. Как убрать​фамилию, формулу, примечание, формат​ В условиях поиска можно​ поиском? Ведь ответы​ теме​Макрос в модуль​ Так как кроме​ в инпутбокс этого​

​ слово в word​​ которые легко ретранслировать​ нужно просматривать ячейки​ InStr(r.Text, «КПП») >​ не сложную, задачку,​ CTRL+SHIFT+Enter.​ во второй формуле​ в строке формул​ «Поиск» или формулами,​ отступ в ячейках,​ ячейки, т.д.​ использовать подстановочные знаки.​

​ на многие вопросы​​Amsh​

​ листа1 книги Старая….​​ МЕЛ хорошо бы​ имени, у меня​ файле по его​ в OO.​ B1:B6, и формула​ 0 Then inn​ но всё мысли​В первом аргументе функции​

​ мы использовали скелет​​ появятся фигурные скобки.​ но и функцией​ смотрите в статье​Найти ячейку на пересечении​Чтобы задать формат для​

​ можно найти… У​​: По теме. Начну​ Sub Perenos() Dim​

​ еще что то​​ производился поиск по​ «окружению», и копирует​По видимому ошибался!​ значительно проще получается:​ = r.Text: Exit​ заходят в тупик.​ ГПР (Горизонтальный ПРосмотр)​ первой формулы без​В ячейку F1 введите​ условного форматирования. Читайте​ «Текст Excel. Формат».​ строки и столбца​ поиска, нажмите кнопку​ Вас примеры вообще​ с предыстории: в​ iRng As Range​ добавлять для сложения.​ файлу и переменной​ его в определенную​ =(​=ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК(«КПП»;B1:B6))/ЕЧИСЛО(ПОИСК(«ИНН»;B1:B6));B1:B6)​

​ Function​​ Прошу помощи гуру.​ указываем ссылку на​

​ функции МАКС. Главная​​ вторую формулу:​ об этом статью​Поиск числа в Excel​ Excel​Формат​ без макросов… Т.е.​ открытом файле запускается​ Dim iRng_Kart As​Amsh​ присваивалось значение из​ ячейку файла excel:​AlexFlash27​массивный ввод не​Next r​ОСОБЕННОСТИ: Задачу необходимо​ ячейку с критерием​ структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0).​Снова Для подтверждения нажмите​

​ «Условное форматирование в​​требует небольшой настройки​– смотрите статью​и внесите нужные​ ни намека на​ поиск по слову​
​ Range Set iRng​: Добрый день! Очень​ ячейки идущей после​
​Sub primer() Dim​: Привет!​ требуется​End Function​
​ решить только с​ для поиска. Во​ Мы заменили функцию​ комбинацию клавиш CTRL+SHIFT+Enter.​ Excel» здесь.​
​ условий поиска -​ «Как найти в​ изменения во всплывающем​ то, что что-то​ «Примечание», от него​ = Columns(1).Find(«Сведения о​ здорово выручаете своими​

​ той в которой​​ Word As Object​Имеется файл excel​Himtree​Bond​ использованием формул.​ втором аргументе указана​ МАКС на ПОИСКПОЗ,​Найдено в каком месяце​Ещё прочитать о​ применим​ Excel ячейку на​

​ окне​​ самостоятельно… А хотите​ на 4 строки​
​ приемке», , xlValues,​ советами и очень​ внутри написано г24​ Dim WordDoc As​ с заполненным столбцом​: Да, спасибо, как​: Что за факультет?​ИСХОДНЫЕ ДАННЫЕ: есть​ ссылка на просматриваемый​ которая в первом​​ и какая была​​ функции «Найти и​

​расширенный поиск в Excel​​ пересечении строки и​Найти формат​

​ сразу, в комплексе.​​ вниз находится первая​ xlPart) If Not​ оперативно, поэтому обращаюсь​ или а-40?​ Object Dim r,​ B, нужно перебрать​ вариант! Просто рассматривал​nerv​ таблица 5 строк,​ диапазон таблицы. Третий​ аргументе использует значение,​

planetaexcel.ru

​ наибольшая продажа Товара​

Этот учебник рассказывает о главных преимуществах функций ИНДЕКС и ПОИСКПОЗ в Excel, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.

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

Зачем нам это? – спросите Вы. Да, потому что ВПР – это не единственная функция поиска в Excel, и её многочисленные ограничения могут помешать Вам получить желаемый результат во многих ситуациях. С другой стороны, функции ИНДЕКС и ПОИСКПОЗ – более гибкие и имеют ряд особенностей, которые делают их более привлекательными, по сравнению с ВПР.

ИНДЕКС и ПОИСКПОЗ в Excel

  • Базовая информация об ИНДЕКС и ПОИСКПОЗ
  • Используем функции ИНДЕКС и ПОИСКПОЗ в Excel
  • Преимущества ИНДЕКС и ПОИСКПОЗ перед ВПР
  • ИНДЕКС и ПОИСКПОЗ – примеры формул
    • Как находить значения, которые находятся слева
    • Вычисления при помощи ИНДЕКС и ПОИСКПОЗ
    • Поиск по известным строке и столбцу
    • Поиск по нескольким критериям
    • ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА

Содержание

  1. Базовая информация об ИНДЕКС и ПОИСКПОЗ
  2. ИНДЕКС – синтаксис и применение функции
  3. ПОИСКПОЗ – синтаксис и применение функции
  4. Как использовать ИНДЕКС и ПОИСКПОЗ в Excel
  5. Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
  6. 4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
  7. ИНДЕКС и ПОИСКПОЗ – примеры формул
  8. Как выполнить поиск с левой стороны, используя ПОИСКПОЗ и ИНДЕКС
  9. Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)
  10. О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ
  11. Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу
  12. Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ
  13. ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в 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))

Думаю, ещё проще будет понять на примере. Предположим, у Вас есть вот такой список столиц государств:

ИНДЕКС и ПОИСКПОЗ в Excel

Давайте найдём население одной из столиц, например, Японии, используя следующую формулу:

=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:

ИНДЕКС и ПОИСКПОЗ в 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))

ИНДЕКС и ПОИСКПОЗ в Excel

Теперь у Вас не должно возникать проблем с пониманием, как работает эта формула:

  • Во-первых, задействуем функцию 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).

ИНДЕКС и ПОИСКПОЗ в Excel

Как при помощи ИНДЕКС и ПОИСКПОЗ выполнять поиск по известным строке и столбцу

Эта формула эквивалентна двумерному поиску ВПР и позволяет найти значение на пересечении определённой строки и столбца.

В этом примере формула ИНДЕКС/ПОИСКПОЗ будет очень похожа на формулы, которые мы уже обсуждали в этом уроке, с одним лишь отличием. Угадайте каким?

Как Вы помните, синтаксис функции INDEX (ИНДЕКС) позволяет использовать три аргумента:

INDEX(array,row_num,[column_num])
ИНДЕКС(массив;номер_строки;[номер_столбца])

И я поздравляю тех из Вас, кто догадался!

Начнём с того, что запишем шаблон формулы. Для этого возьмём уже знакомую нам формулу ИНДЕКС/ПОИСКПОЗ и добавим в неё ещё одну функцию ПОИСКПОЗ, которая будет возвращать номер столбца.

=INDEX(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))
=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального поиска,столбец, в котором искать,0)),(MATCH(значение для горизонтального поиска,строка в которой искать,0))

Обратите внимание, что для двумерного поиска нужно указать всю таблицу в аргументе array (массив) функции INDEX (ИНДЕКС).

А теперь давайте испытаем этот шаблон на практике. Ниже Вы видите список самых населённых стран мира. Предположим, наша задача узнать население США в 2015 году.

ИНДЕКС и ПОИСКПОЗ в Excel

Хорошо, давайте запишем формулу. Когда мне нужно создать сложную формулу в 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. Просто? Да!

ИНДЕКС и ПОИСКПОЗ в Excel

Поиск по нескольким критериям с ИНДЕКС и ПОИСКПОЗ

В учебнике по ВПР мы показывали пример формулы с функцией ВПР для поиска по нескольким критериям. Однако, существенным ограничением такого решения была необходимость добавлять вспомогательный столбец. Хорошая новость: формула ИНДЕКС/ПОИСКПОЗ может искать по значениям в двух столбцах, без необходимости создания вспомогательного столбца!

Предположим, у нас есть список заказов, и мы хотим найти сумму по двум критериям – имя покупателя (Customer) и продукт (Product). Дело усложняется тем, что один покупатель может купить сразу несколько разных продуктов, и имена покупателей в таблице на листе Lookup table расположены в произвольном порядке.

ИНДЕКС и ПОИСКПОЗ в Excel

Вот такая формула ИНДЕКС/ПОИСКПОЗ решает задачу:

{=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

ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в 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));
"Совпадений не найдено. Попробуйте еще раз!")

И теперь, если кто-нибудь введет ошибочное значение, формула выдаст вот такой результат:

ИНДЕКС и ПОИСКПОЗ в Excel

Если Вы предпочитаете в случае ошибки оставить ячейку пустой, то можете использовать кавычки («»), как значение второго аргумента функции ЕСЛИОШИБКА. Вот так:

IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),"")
ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);"")

Надеюсь, что хотя бы одна формула, описанная в этом учебнике, показалась Вам полезной. Если Вы сталкивались с другими задачами поиска, для которых не смогли найти подходящее решение среди информации в этом уроке, смело опишите свою проблему в комментариях, и мы все вместе постараемся решить её.

Оцените качество статьи. Нам важно ваше мнение:

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

Народ, прошу прощения за назойливость, но вот интересно стало, можно ли по имени(значению) получать адрес, а лучше даже ссылку на эту ячейку? Ну,например, на одном листе есть ячейка(А2) со значением 123. А во втором листе при вводе этого значения, например, в столбец ИМЯ, в соседнем столбце получаем ссылку на Лист1!А2

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Ромич, а Если(..ВПР)? Ща наши киты подключатся, думаю и Индекс порулит… Неисповедимы пути формулистов:-) Только Ким жаловался, что формулисты не в фаворе.  
Ки-им! Ваш выход. Я за Вас переживаю.

Я сам — дурнее всякого примера! …

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

{quote}{login=KuklP}{date=26.06.2010 08:37}{thema=}{post}Ромич, а Если(..ВПР)? Ща наши киты подключатся, думаю и Индекс порулит… Неисповедимы пути формулистов:-) Только Ким жаловался, что формулисты не в фаворе.  
Ки-им! Ваш выход. Я за Вас переживаю.{/post}{/quote}  
впр не покатит — ячейки со значениями разбросаны по листу, а-ля А2, В5, С1

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Ромич, честно каюсь — я не формулист. Как у них в избушке побываю — в шоке! Они там такое мутят, что не пойму сам: то ли я дурак(а это скорее!), то ли они иноПланетяне. Ждем наших уважаемых Формулистов. Хотя … макросом можно. Ща меня ногами формулисты запинают:-).  
П.С. 11979 — это две пары? Никогда не играл в игры, это уже здесь подхватил. От «Казанский».

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

 

kim

Пользователь

Сообщений: 3139
Регистрация: 23.12.2012

Игорь

Дык автор конкретно формулой вроде не просил…  
Ну да ладно, вот формульный вариант

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

{quote}{login=Юрий М}{date=26.06.2010 08:56}{thema=}{post}Вот так, например.{/post}{/quote}  

  Юрий, а можно поподробнее об этом макросе?что там к чему?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Хм, подробнее… Макрос отслеживает изменения в диапазоне А2:А1000, запускает по этому изменению поиск. Если находит, то в соседнюю ячейку записывает адрес найденной ячейки, если нет — орёт.  
Кстати, нужно добавить очистку «соседней» ячейки после неудачного поиска: после строки  
MsgBox «А нету там такого. Совсем нет.», 48, «Ошибка!»  
добавьте такую строку:  
Target.Offset(0, 1) = «»

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

{quote}{login=Юрий М}{date=26.06.2010 09:41}{thema=}{post}Хм, подробнее… Макрос отслеживает изменения в диапазоне А2:А1000, запускает по этому изменению поиск. Если находит, то в соседнюю ячейку записывает адрес найденной ячейки, если нет — орёт.  
Кстати, нужно добавить очистку «соседней» ячейки после неудачного поиска: после строки  
MsgBox «А нету там такого. Совсем нет.», 48, «Ошибка!»  
добавьте такую строку:  
Target.Offset(0, 1) = «»{/post}{/quote}  

  а если не в соседнюю ячейку?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

Пока я телился…  
=АДРЕС(МАКС(ЕСЛИ(Лист1!$A$1:$G$20=A2;(СТРОКА(Лист1!$1:$20))));МАКС(ЕСЛИ(Лист1!$A$1:$G$20=A2;СТОЛБЕЦ(Лист1!$A:$G)));4)

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

{quote}{login=Юрий М}{date=26.06.2010 10:02}{thema=}{post}Тогда не Offset(0, 1){/post}{/quote}  

  вместо 1 — число шагов до нужного столбца?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Точно: (0, 5) на пять столбцов правее в той же строке (ноль).

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

{quote}{login=Юрий М}{date=26.06.2010 10:18}{thema=}{post}Точно: (0, 5) на пять столбцов правее в той же строке (ноль).{/post}{/quote}  

  Юрий, огромное спасибо! как и остальным форумчанам — с этим сайтом постигать excel и проще, и интереснее  

  и еще в завершение. можно ли сделать получаемый адрес гиперссылкой?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

{quote}{login=Ромич}{date=26.06.2010 10:23}{thema=Re: }{post}{quote}{login=Юрий М}{date=26.06.2010 10:18}{thema=}{post}Точно: (0, 5) на пять столбцов правее в той же строке (ноль).{/post}{/quote}в завершение. можно ли сделать получаемый адрес гиперссылкой?{/post}{/quote}  
Насчёт завершения — сомнительно: начиналось с соседнего столбца. Пока накопите вопросы.

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Судя по всему вопросов больше нет :-) Смотрите с гиперссылкой

 

{quote}{login=Юрий М}{date=26.06.2010 11:07}{thema=}{post}Судя по всему вопросов больше нет :-) Смотрите с гиперссылкой{/post}{/quote}  

  Прекрайне благодарен!

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

Как понять это слово «прекрайне»? Бесконечно…    …или крайность, в хорошем смысле слова…

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

См. значение префикса ПРЕ-    
В общем, «через край» — это близко

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

{quote}{login=Юрий М}{date=26.06.2010 10:30}{thema=Re: Re: }{post}{quote}{login=Ромич}{date=26.06.2010 10:23}{thema=Re: }{post}{quote}{login=Юрий М}{date=26.06.2010 10:18}{thema=}{post}Точно: (0, 5) на пять столбцов правее в той же строке (ноль).{/post}{/quote}в завершение. можно ли сделать получаемый адрес гиперссылкой?{/post}{/quote}  
Насчёт завершения — сомнительно: начиналось с соседнего столбца. Пока накопите вопросы.{/post}{/quote}  

  Юрий, а что нужно дописать в этом макросе,чтобы он выдавал не один адрес, а несколько,списком(если,например,имя встречается неоднократно).

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

А каким образом и куда выводить этот список?

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

ну,например,так  

  А еще был бы рад, если бы Вы оставили в тексте программы комментарии)

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

А как быть, если в А2 введём новое имя? Может лучше по строке вправо? Тогда всё найденное будет относиться к одному имени в одной строке.  
P.S. Комментарий за отдельную плату :-)

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

ну,дык, если в А2 вводить новое значение,то предыдущее стоит стереть?и,соответственно, адреса этого имени тоже стираются?или я что-то не так понял?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Не так. Ваш последний файл. Ранее для АБВ нашлись три адреса. Затем в А3 ввели новое имя. В В3 отобразился новый адрес. В В4 — осталось значение для ячейки А2. Если мы его очистим — список адресов для А2 будет неполным. Поэтому и предлагаю в строку все адреса для одного значения. Тогда и путаницы не будет никакой.Теперь понятно объяснил?

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

нет.Имя по задумке вводится ТОЛЬКО в ячейку А2. Ввел,посмотрел(в оригинальном файле еще туча параметров выводится), стер. Если надо,ввел следующий.  

  И еще вопрос.Можно ли указать промежутки поиска(например, чтоб в столбце В отображались адреса в промежутках А2:К200 и АВ2:АХ200, а в столбце С — адреса промежутка L2:AA200)? Ну или что-то в этом роде

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Если нужно контролировать только одну ячейку — зачем тогда обрабатываем диапазон? Сформулируйте уже условие ЗАНОВО и ОДНОЗНАЧНО.  
По второму вопросу — зачем распределять найденные значения-адреса по разным столбцам (это сложнее), если в ячейках ГИПЕРССЫЛКИ? Неважно из какого столбца сработает гиперссылка?

 

Ромич

Пользователь

Сообщений: 85
Регистрация: 12.04.2010

Хорошо,сейчас попробую.  
Есть таблица, при вводе в первую ячейку которой Имени мы должны получить адреса расположения(гиперссылки) на схеме.    
По поводу второй части. Дело в том, что как раз-таки важно, из какого столбца работает гиперссылка — идет распределение по зонам.Но это не суть важно. Есть другой вариант тут,если это слишком запарно

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

#30

28.06.2010 14:24:50

Уточняемся:    
1. Значение всегда будет вводиться ТОЛЬКО в ячейку А2.    
2. Список найденных адресов отображать в столбце В.  
3. «Старый» список очищать.  
Правильно?  
В моём предыдущем сообщении ошибочно проставлен знак вопрос в самом конце. Повторюсь: неважно в каком столбце мы кликнем на гиперссылку — она всегда приведёт к нужному адресу.

Понравилась статья? Поделить с друзьями:
  • Найти автосохраненные файлы для word
  • Найти абзацы word vba
  • Найти word установленный на компьютере
  • Найти word текстовый документ
  • Найти word до его изменения