Найти ячейку в 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).

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

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

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

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 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР

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

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

  1. Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
  2. Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности 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, которые делают их более привлекательными по сравнению с ВПР. Вы увидите несколько примеров формул, которые помогут Вам легко справиться со многими сложными задачами, перед которыми функция ВПР бессильна.

В нескольких недавних статьях мы приложили все усилия, чтобы разъяснить начинающим пользователям основы функции ВПР и показать примеры более сложных формул для продвинутых пользователей. Теперь мы попытаемся, если не отговорить Вас от использования ВПР, то хотя бы показать альтернативные способы реализации вертикального поиска в 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);"")

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

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

Привет. Наверное чаще всего в Эксель я использую набор формул, призванный по заданному мною тексту находить соответствие в ячейке и отмечать их либо копировать в соседний столбец. Очень удобно использовать для сортировки столбцов данных, когда нужно сделать её быстро без загрузки в Power Query или какой-то дополнительной обработки.

Расскажу подробнее про это и в конце отдам шаблон.

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

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

Формула для поиска значения ячейки Эксель

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

Если открыть строку формул, то мы увидим следующее →

Формула для поиска по содержимому ячеек Excel

Формула для поиска по содержимому ячеек Excel

Не пугайтесь, всё намного проще, чем кажется. Сейчас всё расскажу.

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

=if(isnumber(find("цены",А3)),А3,"")
  • Функция find ищет заданный нами текст “цена” в выбранной ячейке А3. Далее если находит, то она возвращает номер символа с которого начинается совпадение. Если не находит, то далее весь цикл формул не работает и на выходе получаем пустое значение в скобочках “” от функции if;
  • Функция isnumber принимает на вход только числа, соответственно если find нашла искомое значение и отдала цифру, то функция срабатывает и продолжает цикл if, если нет, то опять получаем пустое значение в скобочках “” от функции if;
  • Функция if если предыдущая функция isnumber срабатывает, возвращает нам значение ячейки A3, если нет, то пустое значение “”.

Таким образом, там где есть упоминание “цена” мы получаем обратно эти ячейки. Для обычного поиска единственного совпадения этой формулы достаточно за глаза, но в нашем примере нужно найти все коммерческие запросы. Именно для этого мы используем перебор разных значений, как на этом скрине.

Перебор разных совпадений в исходной ячейке Эксель

Перебор разных совпадений в исходной ячейке Эксель

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

Шаблон поиска совпадений по значению в ячейке

Чтобы вам не искать и не копировать формулу, я сделал шаблон для этой формулы. Он лежит в Гугл Таблице с двумя вариантами работы, совсем просто, где нужно ввести искомое значение в ячейку, вставить список слов и всё сработает само.

Шаблон для поиска единственного совпадения по указанному тексту

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

Шаблон лежит тут, пользуйтесь на здоровье. А также следите за новостями в моём канале.

Также по теме ряд прошлых статей:

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

​Смотрите также​​ из искомых ячеек.​ 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

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

Поиск нужных данных в диапазоне

Как использовать функцию ВПР (VLOOKUP) для поиска и выборки нужных значений из списка мы недавно разбирали. Если вы еще с ней не знакомы — загляните сюда, не пожалейте пяти минут, чтобы сэкономить себе потом несколько часов.

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

index1.gif

Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.

Задача решается при помощи двух функций:

=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)

Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.

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

Ссылки по теме

  • Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
  • Улучшенная версия функции ВПР (VLOOKUP)
  • Многоразовый ВПР

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

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

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

Вы также можете использовать фильтр для поиска текста. Дополнительные сведения можно найти в разделе Фильтрация данных.

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

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

Выделите диапазон ячеек, которые вы хотите найти.

Чтобы выполнить поиск на всем листе, щелкните любую ячейку.

На вкладке Главная в группе Редактирование нажмите кнопку найти _амп_и выберите пункт найти.

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

Примечание: В критериях поиска можно использовать подстановочные знаки.

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

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

В поле внутри вы можете выбрать лист или книгу , чтобы выполнить поиск на листе или во всей книге.

Нажмите кнопку найти все или Найти далее.

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

Примечание: Чтобы остановить поиск, нажмите клавишу ESC.

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

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

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

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

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

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

Примечание: Функция Поиск не учитывает регистр.

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

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

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

Для решения данной задачи проиллюстрируем пример на схематической таблице, которая соответствует выше описанным условиям.

Лист с таблицей для поиска значений по вертикали и горизонтали:

Над самой таблицей расположена строка с результатами. В ячейку B1 водим критерий для поискового запроса, то есть заголовок столбца или название строки. А в ячейке D1 формула поиска должна возвращать результат вычисления соответствующего значения. После чего в ячейке F1 сработает вторая формула, которая уже будет использовать значения ячеек B1 и D1 в качестве критериев для поиска соответствующего месяца.

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

Теперь узнаем, в каком максимальном объеме и в каком месяце была максимальная продажа Товара 4.

Чтобы выполнить поиск по столбцам следует:

  1. В ячейку B1 введите значение Товара 4 – название строки, которое выступит в качестве критерия.
  2. В ячейку D1 введите следующую формулу:
  3. Для подтверждения после ввода формулы нажмите комбинацию горячих клавиш CTRL+SHIFT+Enter, так как формула должна быть выполнена в массиве. Если все сделано правильно, в строке формул появятся фигурные скобки.
  4. В ячейку F1 введите вторую формулу:
  5. Снова Для подтверждения нажмите комбинацию клавиш 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

Вторым вариантом задачи будет поиск по таблице с использованием названия месяца в качестве критерия. В такие случаи мы должны изменить скелет нашей формулы: функцию ВПР заменить ГПР, а функция СТОЛБЕЦ заменяется на СТРОКА.

Это позволит нам узнать какой объем и какого товара была максимальная продажа в определенный месяц.

Чтобы найти какой товар обладал максимальным объемом продаж в определенном месяце следует:

  1. В ячейку B2 введите название месяца Июнь – это значение будет использовано в качестве поискового критерия.
  2. В ячейку D2 введите формулу:
  3. Для подтверждения после ввода формулы нажмите комбинацию клавиш CTRL+SHIFT+Enter, так как формула будет выполнена в массиве. А в строке формул появятся фигурные скобки.
  4. В ячейку F1 введите вторую формулу:
  5. Снова Для подтверждения нажмите 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 марта любого года.

Поиск в программе Microsoft Excel

В документах Microsoft Excel, которые состоят из большого количества полей, часто требуется найти определенные данные, наименование строки, и т.д. Очень неудобно, когда приходится просматривать огромное количество строк, чтобы найти нужное слово или выражение. Сэкономить время и нервы поможет встроенный поиск Microsoft Excel. Давайте разберемся, как он работает, и как им пользоваться.

Поисковая функция в Excel

Поисковая функция в программе Microsoft Excel предлагает возможность найти нужные текстовые или числовые значения через окно «Найти и заменить». Кроме того, в приложении имеется возможность расширенного поиска данных.

Способ 1: простой поиск

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

  1. Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая расположена на ленте в блоке инструментов «Редактирование». В появившемся меню выбираем пункт «Найти…». Вместо этих действий можно просто набрать на клавиатуре сочетание клавиш Ctrl+F.

После того, как вы перешли по соответствующим пунктам на ленте, или нажали комбинацию «горячих клавиш», откроется окно «Найти и заменить» во вкладке «Найти». Она нам и нужна. В поле «Найти» вводим слово, символы, или выражения, по которым собираемся производить поиск. Жмем на кнопку «Найти далее», или на кнопку «Найти всё».

При нажатии на кнопку «Найти далее» мы перемещаемся к первой же ячейке, где содержатся введенные группы символов. Сама ячейка становится активной.

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

Поисковые символы не обязательно должны быть самостоятельными элементами. Так, если в качестве запроса будет задано выражение «прав», то в выдаче будут представлены все ячейки, которые содержат данный последовательный набор символов даже внутри слова. Например, релевантным запросу в этом случае будет считаться слово «Направо». Если вы зададите в поисковике цифру «1», то в ответ попадут ячейки, которые содержат, например, число «516».

Для того, чтобы перейти к следующему результату, опять нажмите кнопку «Найти далее».

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

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

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

      Выделяем область ячеек, в которой хотим произвести поиск.

  • Набираем на клавиатуре комбинацию клавиш Ctrl+F, после чего запуститься знакомое нам уже окно «Найти и заменить». Дальнейшие действия точно такие же, что и при предыдущем способе. Единственное отличие будет состоять в том, что поиск выполняется только в указанном интервале ячеек.
  • Способ 3: Расширенный поиск

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

    К тому же, в выдачу может попасть не только содержимое конкретной ячейки, но и адрес элемента, на который она ссылается. Например, в ячейке E2 содержится формула, которая представляет собой сумму ячеек A4 и C3. Эта сумма равна 10, и именно это число отображается в ячейке E2. Но, если мы зададим в поиске цифру «4», то среди результатов выдачи будет все та же ячейка E2. Как такое могло получиться? Просто в ячейке E2 в качестве формулы содержится адрес на ячейку A4, который как раз включает в себя искомую цифру 4.

    Но, как отсечь такие, и другие заведомо неприемлемые результаты выдачи поиска? Именно для этих целей существует расширенный поиск Excel.

      После открытия окна «Найти и заменить» любым вышеописанным способом, жмем на кнопку «Параметры».

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

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

    По умолчанию, поиск производится только на активном листе Excel. Но, если параметр «Искать» вы переведете в позицию «В книге», то поиск будет производиться по всем листам открытого файла.

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

    В графе «Область поиска» определяется, среди каких конкретно элементов производится поиск. По умолчанию, это формулы, то есть те данные, которые при клике по ячейке отображаются в строке формул. Это может быть слово, число или ссылка на ячейку. При этом, программа, выполняя поиск, видит только ссылку, а не результат. Об этом эффекте велась речь выше. Для того, чтобы производить поиск именно по результатам, по тем данным, которые отображаются в ячейке, а не в строке формул, нужно переставить переключатель из позиции «Формулы» в позицию «Значения». Кроме того, существует возможность поиска по примечаниям. В этом случае, переключатель переставляем в позицию «Примечания».

    Ещё более точно поиск можно задать, нажав на кнопку «Формат».

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

    Если вы хотите использовать формат какой-то конкретной ячейки, то в нижней части окна нажмите на кнопку «Использовать формат этой ячейки…».

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

    После того, как формат поиска настроен, жмем на кнопку «OK».

    Бывают случаи, когда нужно произвести поиск не по конкретному словосочетанию, а найти ячейки, в которых находятся поисковые слова в любом порядке, даже, если их разделяют другие слова и символы. Тогда данные слова нужно выделить с обеих сторон знаком «*». Теперь в поисковой выдаче будут отображены все ячейки, в которых находятся данные слова в любом порядке.

  • Как только настройки поиска установлены, следует нажать на кнопку «Найти всё» или «Найти далее», чтобы перейти к поисковой выдаче.
  • Как видим, программа Excel представляет собой довольно простой, но вместе с тем очень функциональный набор инструментов поиска. Для того, чтобы произвести простейший писк, достаточно вызвать поисковое окно, ввести в него запрос, и нажать на кнопку. Но, в то же время, существует возможность настройки индивидуального поиска с большим количеством различных параметров и дополнительных настроек.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Как искать в Excel: поиск слов и ячеек в таблицах

    Программа Excel ориентирована на ускоренные расчеты. Зачастую документы здесь состоят из большого ко.

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

    Поиск слов

    Документы часто имеют много страниц, тогда встает вопрос о том, как в Еxcel найти слово. Сделать это иногда становится проблематично. Для упрощения этой задачи существует специальная функция поиска. Чтобы ею воспользоваться, необходимо выполнить следующий алгоритм действий:

    • запустить программу Excel;
    • проверить активность таблицы, щелкнув по любой из ячеек;
    • нажать комбинацию клавиш «Ctrl + F»;
    • в строке «Найти» появившегося окна ввести искомое слово;
    • нажать «Найти».

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

    Существует также способ нестрогого поиска, который подходит для ситуаций, когда искомое слово помнится частично. Он предусматривает использование символов-заменителей (джокерные символы). В Excel их всего два:

    • «?» – подразумевает любой отдельно взятый символ;
    • «*» – обозначает любое количество символов.

    Примечательно, при поиске вопросительного знака или знака умножения дополнительно впереди ставится тильда («

    »). При поиске тильды, соответственно – две тильды.

    Алгоритм неточного поиска слова:

    • запустить программу;
    • активировать страницу щелчком мыши;
    • зажать комбинацию клавиш «Ctrl + F»;
    • в строке «Найти» появившегося окна ввести искомое слово, используя вместо букв, вызывающих сомнения, джокерные символы;
    • проверить параметр «Ячейка целиком» (он не должен быть отмеченным);
    • нажать «Найти все».

    Все слова, подходящие под параметры поиска, подсветятся, поэтому их легко будет увидеть и проанализировать.

    Поиск нескольких слов

    Не зная, как найти слово в таблице в Еxcel, следует также воспользоваться функцией раздела «Редактирование» – «Найти и выделить». Далее нужно отталкиваться от искомой фразы:

    • если фраза точная, введите ее и нажмите клавишу «Найти все»;
    • если фраза разбита другими ключами, нужно при написании ее в строке поиска дополнительно проставить между всеми словами «*».

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

    Поиск ячеек

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

    Для поиска ячеек с формулами выполняются следующие действия.

    1. В открытом документе выделить ячейку или диапазон ячеек (в первом случае поиск идет по всему листу, во втором – в выделенных ячейках).
    2. Во вкладке «Главная» выбрать функцию «Найти и выделить».
    3. Обозначить команду «Перейти».
    4. Выделить клавишу «Выделить».
    5. Выбрать «Формулы».
    6. Обратить внимание на список пунктов под «Формулами» (возможно, понадобится снятие флажков с некоторых параметров).
    7. Нажать клавишу «Ок».

    Для поиска объединенных ячеек потребуется выполнение следующих манипуляций.

    1. Перейти во вкладку «Главная».
    2. Выбрать функцию «Найти и выделить».
    3. Нажать на команду «Найти».
    4. Перейти в «Параметры» и выбрать «Формат».
    5. Здесь выделить функцию «Выравнивание», поставить отметку «Объединить ячейки».
    6. Нажать на «Ок».
    7. Нажать на кнопку «Найти все» и проанализировать список ячеек, которые объединены на соответствующем листе.

    При нажимании кнопкой мыши на элемент в списке происходит выделение объединенной ячейки на листе. Дополнительно доступна функция «Отменить объединение ячеек».

    Выполнение представленных выше действий приводит к нахождению всех объединенных ячеек на листе и при необходимости отмене данного свойства. Для поиска скрытых ячеек проводятся следующие действия.

    1. Выбрать лист, требующий анализа на присутствие скрытых ячеек и их нахождения.
    2. Нажать клавиши «F5_гт_ Special».
    3. Нажать сочетание клавиш «CTRL + G_гт_ Special».

    Можно воспользоваться еще одним способом для поиска скрытых ячеек:

    1. Открыть функцию «Редактирование» во вкладке «Главная».
    2. Нажать на «Найти».
    3. Выбрать команду «Перейти к разделу». Выделить «Специальные».
    4. Попав в группу «Выбор», поставить галочку на «Только видимые ячейки».
    5. Нажать кнопку «Ок».

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

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

    Чтобы найти ячейки, для которых применено условное форматирование:

    • нажать на ячейку, не предусматривающую условное форматирование;
    • выбрать функцию «Редактирование» во вкладке «Главная»;
    • нажать на кнопку «Найти и выделить»;
    • выделить категорию «Условное форматирование».

    Чтобы найти ячейки, для которых применено одинаковое условное форматирование:

    • выбрать ячейку, предусматривающую условное форматирование, требующую поиска;
    • выбрать группу «Редактирование» во вкладке «Главная»;
    • нажать на кнопку «Найти и выделить»;
    • выбрать категорию «Выделить группу ячеек»;
    • установить свойство «Условные форматы»;
    • напоследок нужно зайти в группу «Проверка данных» и установить аналогичный пункт.

    Поиск через фильтр

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

    • выделить заполненную ячейку;
    • во вкладке «Главная» выбрать функцию «Сортировка»;
    • нажать на кнопку «Фильтр»;
    • открыть выпадающее меню;
    • ввести искомый запрос;
    • нажать кнопку «Ок».

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

    INDEX-MATCH has become a more popular tool for Excel as it solves the limitation of the VLOOKUP function, and it is easier to use. INDEX-MATCH function in Excel has a number of advantages over the VLOOKUP function:

    1. INDEX and MATCH are more flexible and faster than Vlookup
    2. It is possible to execute horizontal lookup, vertical lookup, 2-way lookup, left lookup, case-sensitive lookup, and even lookups based on multiple criteria.
    3. In sorted Data, INDEX-MATCH is 30% faster than VLOOKUP. This means that in a larger dataset 30% faster makes more sense.

    Let’s begin with the detailed concepts of each INDEX and MATCH.

    INDEX Function

    The INDEX function in Excel is very powerful at the same time a flexible tool that retrieves the value at a given location in a range. In another word, It returns the content of a cell, specified by row and column offset.

    Syntax:

    =INDEX(reference, [row], [column])

    Parameters:

    • reference: The array of cells to be offset into. It can be a single range or an entire dataset in a table of data.
    • row [optional]: The number of offset rows. It means if we choose a table reference range as “A1:A5” then the Cell/content that we want to extract is at how much vertical distance. Here, for A1 row will be 1, for A2 row = 2, and so on. If we give row = 4 then it will extract A4. As row is optional so if we don’t specify any row number then it extracts entire rows in the reference range. That is A1 to A5 in this case.
    • column [optional]: The number of offset columns. It means if we choose a table reference range as “A1:B5” then the Cell/content we want to extract is at how much horizontal distance. Here, for A1 row will be 1  and column will be 1, for B1 row will be 1 but the column will be 2 similarly for A2 row = 2 column = 1, for B2 row = 2 column = 2 and so on. If we give row = 5 and column 2 then it will extract B5. As the column is optional so if we don’t specify any row no. then it will extract the entire column in the reference range. For example, if we give row = 2 and column as empty then it will extract (A2:B2). If we don’t specify Row and column both then it will extract the entire reference table that is (A1:B5).

    Reference Table: The following table will be used as a reference table for all the examples of the INDEX function. First Cell is at B3 (“FOOD”) and the Last Diagonal Cell is at F10 (“180”).

    Reference table

    Examples: Below are some examples of Index functions.

    Case 1: No Rows and Columns are mentioned.

    Input Command: =INDEX(B3:C10)                        

    Case 1

    Case 2: Only Rows are Mentioned.

    Input Command: =INDEX(B3:C10,2)                  

    Case 2

    Case 3: Both Rows And Columns are mentioned.

    Input Command: =INDEX(B3:D10,4,2)                    

    Case 3

    Case 4: Only Columns are mentioned.

    Input Command: =INDEX(B3 : D10 , , 2)                  

    Case 4

    Problem With INDEX Function: The problem with the INDEX function is that there is a need to specify rows and columns for the data that we are looking for. Let’s assume we are dealing with a machine learning dataset of 10000 rows and columns then it will be very difficult to search and extract the data that we are looking for. Here comes the concept of Match Function, which will identify rows and columns based on some condition.

    MATCH Function

    It retrieves the position of an item/value in a range. It is a less refined version of a VLOOKUP or HLOOKUP that only returns the location information and not the actual data.  MATCH is not case-sensitive and does not care whether the range is Horizontal or Vertical.

    Syntax:

    =MATCH(search_key, range, [search_type])

    Parameters:

    • search_key: The value to search for. For example, 42, “Cats”, or I24.
    • range: The one-dimensional array to be searched. It Can Either be a single row or a single column.eg->A1:A10 , A2:D2 etc.
    • search_type [optional]: The search method. = 1 (default) finds the largest value less than or equal to search_key when the range is sorted in ascending order. 
      • = 0 finds the exact value when the range is unsorted.
      • = -1 finds the smallest value greater than or equal to search_key when the range is sorted in descending order.

    Row number or Column number can be found using the match function and can use it inside the index function so if there is any detail about an item, then all information can be extracted about the item by finding the row/column of the item using match then nesting it into index function.

    Reference Table: The following table will be used as a reference table for all the examples of the MATCH function. First Cell is at B3 (“FOOD”) and the Last Diagonal Cell is At F10 (“180”)

    Reference table MATCH function

    Examples: Below are some examples of the MATCH function-

    Case 1: Search Type 0, It means Exact Match.

    Input Command: =MATCH(“South Indian”,C3:C10,0)                                 

    Case 1 MATCH

    Case 2: Search Type 1 (Default).

    Input Command: =MATCH(“South Indian”,C3:C10)                           

    Case 2 MATCH

      
    Case 3: Search Type -1.

    Input Command: =MATCH(“South Indian”,C3:C10,-1)                             

    Case 3 MATCH

    INDEX-MATCH Together

    In the previous examples, the static values of rows and columns were provided in the INDEX function Let’s assume there is no prior knowledge about the rows and column position then rows and columns position can be provided using the MATCH function. This Is a dynamic way to search and extract value.

    Syntax:

    =INDEX(Reference Table , [Match(SearchKey,Range,Type)/StaticRowPosition],
                             [Match(SearchKey,Range,Type)/StaticColumnPosition])

    Reference Table: The following reference table will be used. First Cell is at B3 (“FOOD”) and the Last Diagonal Cell is At F10 (“180”)

    Reference table INDEX-MATCH

    Example: Let’s say the task is to find the cost of Masala Dosa. It is known that column 3 represents the cost of items, but the row position of Masala Dosa is not known. The problem can be divided into two steps-

    Step 1: Find the position of Masala Dosa by using the formula:

    =MATCH("Masala Dosa",B3:B10,0) 

    Here B3:B10 represents Column “Food” and 0 means Exact Match. It will return the row number of Masala Dosa.

    Step 2: Find the cost of Masala Dosa. Use the INDEX Function to find the cost of Masala Dosa. By substituting the above MATCH function query inside the INDEX function at the place where the exact position of Masala Dosa is required, and the column number of cost is 3 which is already known. 

    =INDEX(B3:F10, MATCH("Masala Dosa", B3:B10 , 0) ,3)

    INDEX-MATCH Together

    Two Ways Lookup With INDEX-MATCH Together

    In the previous example, the column position Of the “Cost” attribute was hardcoded. So, It was not fully dynamic. 

    Case 1: Let’s assume there is no knowledge about the column number of Cost also, then it can be obtained using the formula:

    =MATCH("Cost",B3:F3,0)

    Here B3:F3 represents Header Column.   

    Case 2: When row, as well as column value, are provided via MATCH function (without giving static value) then it is called Two-Way Lookup. It can be achieved using the formula:

    =INDEX(B3:F10, MATCH("Masala Dosa",B3:B10, 0) , MATCH("Cost" ,B3:F3 ,0))

    Two-Way Lookup

    Left Lookup

    One of the key advantages of INDEX and MATCH over the VLOOKUP function is the ability to perform a “left lookup”. It means it is possible to extract the row position of an item from using any attribute at right and the value of another attribute in left can be extracted. 

    For Example, Let’s say buy food whose cost should be 140 Rs. Indirectly we are saying buy “Biryani”. In this example, the cost Rs 140/- is known, there is a need to extract the “Food”. Since the Cost column is placed to the right of the Food column. If VLOOKUP is applied it will not be able to search the left side of the Cost column. That is why using VLOOKUP it is not possible to get Food Name. 

    To overcome this disadvantage INDEX-MATCH function Left lookup can be used. 
    Step 1: First extract row position of Cost 140 Rs using the formula:

    =MATCH(140, D3:D10,0)

    Here D3: D10 represents the Cost column where the search for the Cost 140 Rs row number is being done. 

    Step 2: After getting the row number, the next step is to use the INDEX Function to extract Food Name using the formula:

    =INDEX(B3:B10, MATCH(140, D3:D10,0)) 

    Here B3:B10 represents Food Column and 140 is the Cost of the food item.

    Left Lookup

    Case Sensitive Lookup

    By itself, the MATCH function is not case-sensitive. This means if there is a Food Name “DHOKLA” and the MATCH function is used with the following search word:

    1. “Dhokla”
    2. “dhokla”
    3. “DhOkLA”

    All will return the row position of DHOKLA. However, the EXACT function can be used with INDEX and MATCH to perform a lookup that respects upper and lower case.

    Exact Function: The Excel EXACT function compares two text strings, taking into account upper and lower case characters, and returns TRUE if they are the same, and FALSE if not. EXACT is case-sensitive.

    Examples:

    1. EXACT(“DHOKLA”,”DHOKLA”): This will return True.
    2. EXACT(“DHOKLA”,”Dhokla”): This will return False.
    3. EXACT(“DHOKLA”,”dhokla”): This will return False.
    4. EXACT(“DHOKLA”,”DhOkLA”): This will return False.

    Example: Let say the task is to search for the Type Of Food “Dhokla” but in Case-Sensitive Way. This can be done using the formula-

    =INDEX(C3:C10, MATCH(TRUE , EXACT("Dhokla", B3:B10) ,0))

    Here the EXACT function will return True if the value in Column B3:B10 matches with “Dhokla” with the same case, else it will return False. Now MATCH function will apply in Column B3:B10 and search for a row with the Exact value TRUE. After that INDEX Function will retrieve the value of Column C3:C10 (Food Type Column) at the row returned by the MATCH function.                 

    Case-Sensitive Lookup

    Multiple Criteria Lookup

    One of the trickiest problems in Excel is a lookup based on multiple criteria. In other words, a lookup that matches on more than one column at the same time. In the example below, the INDEX and MATCH function and boolean logic are used to match on 3 columns-

    1. Food.
    2. Cost.
    3. Quantity.

    To extract total cost.

    Example: Let’s say the task is to calculate the total cost of Pasta where 

    1. Food: Pasta.
    2. Cost: 60.
    3. Quantity: 1.

    So in this example, there are three criteria to perform a Match. Below are the steps for the search based on multiple criteria-

    Step 1: First match Food Column (B3:B10) with Pasta using the formula:

    "PASTA" = B3:B10 

    This will convert B3:B10 (Food Column) values as Boolean. That Is True where Food is Pasta else False. 

    Step 2: After that, match Cost criteria in the following manner:

    60 = D3:D10

    This will replace D3:D10 (Cost Column) values as Boolean. That is True where Cost=60 else False. 

    Step 3: Next step is to match the third criteria that are Quantity = 1 in the following manner:

    1 = E3:E10

    This will replace E3:E10 Column (Quantity Column) as True where Quantity = 1 else it will be False.

    Step 4: Multiply the result of the first, second, and third criteria. This will be the intersection of all conditions and convert Boolean True / False as 1/0.

    Step 5: Now the result will be a Column with 0 And 1. Here use the MATCH Function to find the row number of columns that contain 1. Because if a column is having the value 1, then it means it satisfies all three criteria. 

    Step 6: After getting the row number use the INDEX function to get the total cost of that row. 

    =INDEX(F3:F10, MATCH(1, ("Pasta"=B3:B10) *  (60=D3:D10) * (1=E3:E10) , 0 ))

     Here F3:F10 represents the Total Cost Column.                      

    Multiple Criteria Lookup

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