Excel найти совпадения в массивах

Skip to content

5 способов – поиск значения в массиве Excel

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

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

  • Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ
  • Формула ВПР и ПОИСКПОЗ для поиска в диапазоне
  • Функция ПРОСМОТРX для поиска в строках и столбцах
  • Формула СУММПРОИЗВ для поиска по строке и столбцу
  • Поиск в матрице с именованными диапазонами

Поиск в массиве при помощи ИНДЕКС ПОИСКПОЗ

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

ИНДЕКС( массив_данных ; ПОИСКПОЗ( значение_вертикальное ;  диапазон_поиска_столбец ; 0), ПОИСКПОЗ( значение_горизонтальное ;  диапазон_поиска_строка ; 0))

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

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

  • Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
  • Значение_вертикальное — H1 (целевой товар)
  • Диапазон_поиска_столбец – A2:A11 (заголовки строк: названия напитков)
  • Значение_горизонтальное — H2 (целевой период)
  • Диапазон_поиска_строка — B1:E1 (заголовки столбцов: временные периоды)

Соедините все аргументы вместе, и вы получите следующую формулу для поиска числа в диапазоне:

=ИНДЕКС(B2:E11; ПОИСКПОЗ(H1;A2:A11;0); ПОИСКПОЗ(H2;B1:E1;0))

Как работает эта формула?

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

ИНДЕКС( B2:E11; номер_строки ; номер_столбца )

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

Итак, чтобы получить номер строки, мы ищем нужный нам товар (H1) в заголовках строк (A2:A11):

ПОИСКПОЗ(H1;A2:A11;0)

Чтобы получить номер столбца, мы ищем нужную нам неделю (H2) в заголовках столбцов (B1:E1):

ПОИСКПОЗ(H2;B1:E1;0)

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

В этом примере первое ПОИСКПОЗ возвращает 2, потому что нужный товар (Sprite) находится в ячейке A3, которая является второй по счёту в диапазоне ​​A2:A11. Второй ПОИСКПОЗ возвращает 3, так как «Неделя 3» находится в ячейке D1, которая является третьей ячейкой в ​​B1:E1.

С учетом вышеизложенного формула сводится к:

ИНДЕКС(B2:E11; 2 ; 3 )

Она возвращает число на пересечении второй строки и третьего столбца в матрице B2:E4, то есть в ячейке D3.

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

Формула ВПР и ПОИСКПОЗ для поиска в диапазоне

Другой способ выполнить матричный поиск в Excel — использовать комбинацию функций ВПР и ПОИСКПОЗ:

ВПР( значение_вертикальное ; массив_данных ; ПОИСКПОЗ( значение_горизонтальное , диапазон_поиска_строка , 0), ЛОЖЬ)

Для нашего образца таблицы формула принимает следующий вид:

=ВПР(H1; A2:E11; ПОИСКПОЗ(H2;A1:E1;0); ЛОЖЬ)

Где:

  • Массив_данных — B2:E11 (ячейки данных, не включая заголовки строк и столбцов)
  • Значение_вертикальное — H1 (целевой товар)
  • Значение_горизонтальное — H2 (целевой период)
  • Диапазон_поиска_строка — А1:E1 (заголовки столбцов: временные периоды)

Основой формулы является функция ВПР, настроенная на точное совпадение (последний аргумент имеет значение ЛОЖЬ). Она ищет заданное значение (H1) в первом столбце массива (A2:E11) и возвращает данные из другого столбца в той же строке. Чтобы определить, из какого столбца вернуть значение, вы используете функцию ПОИСКПОЗ, которая также настроена на точное совпадение (последний аргумент равен 0):

ПОИСКПОЗ(H2;A1:E1;0)

ПОИСКПОЗ ищет текст из H2 в заголовках столбцов (A1:E1) и указывает относительное положение найденной ячейки. В нашем случае нужная неделя (3-я) находится в D1, которая является четвертой по счету в  массиве поиска. Итак, число 4 идет в аргумент номер_столбца функции ВПР:

=ВПР(H1; A2:E11; 4; ЛОЖЬ)

Далее ВПР находит точное совпадение H1 со значением в A3 и возвращает значение из 4-го столбца в той же строке, то есть из ячейки D3.

Важное замечаниеЧтобы формула работала корректно, диапазон_поиска (A2:E11) функции ВПР и диапазон_поиска (A1:E1) функции ПОИСКПОЗ должны иметь одинаковое количество столбцов. Иначе число, переданное в номер_столбца, будет неправильным (не будет соответствовать положению столбца в массиве данных).

Функция ПРОСМОТРX для поиска в строках и столбцах

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

ПРОСМОТРX( значение_вертикальное ; диапазон_поиска_столбец ; ПРОСМОТРX( значение_горизонтальное ; диапазон_поиска_строка ; массив_данных ))

Для нашего примера набора данных формула выглядит следующим образом:

=ПРОСМОТРX(H1; A2:A11; ПРОСМОТРX(H2; B1:E1; B2:E11))

Примечание. В настоящее время ПРОСМОТРX — это функция, доступная только подписчикам Office 365 и более поздних версий.

В формуле используется функция ПРОСМОТРX для возврата всей строки или столбца. Внутренняя функция ищет целевой период времени в строке заголовка и возвращает все значения для этой недели (в данном примере для 3-й). Эти значения переходят в аргумент возвращаемый_массив внешнего ПРОСМОТРX:

=ПРОСМОТРX(H1; A2:A11; {544:87:488:102:87:433:126:132:111:565})

Внешняя функция ПРОСМОТРX ищет нужный товар в заголовках столбцов и извлекает значение из той же позиции из возвращаемого_массива.

Формула СУММПРОИЗВ для поиска по строке и столбцу

Функция СУММПРОИЗВ чрезвычайно универсальна — она может делать множество вещей, выходящих за рамки ее предназначения, особенно когда речь идет об оценке нескольких условий.

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

СУММПРОИЗВ ( диапазон_поиска_столбец = значение_вертикальное ) * ( диапазон_поиска_строка = значение_горизонтальное), массив_данных )

Чтобы выполнить поиск данных в массиве по строке и столбцу в нашем наборе данных, формула выглядит следующим образом:

=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2); B2:E11)

Приведенный ниже вариант также будет работать:

=СУММПРОИЗВ((A2:A11=H1)*(B1:E1=H2)*B2:E11)

Теперь поясним подробнее. В начале мы сравниваем два значения поиска с заголовками строк и столбцов (целевой товар в H1 со всеми наименованиями в A2: A11 и целевой период времени в H2 со всеми неделями в B1: E1):

(A2:A11=H1)*(B1:E1=H2)

Это дает нам два массива значений ИСТИНА и ЛОЖЬ, где ИСТИНА означает совпадения:

{ЛОЖЬ:ИСТИНА:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ:ЛОЖЬ}) * ({ЛОЖЬ;ЛОЖЬ;ИСТИНА;ЛОЖЬ}

Операция умножения преобразует значения ИСТИНА и ЛОЖЬ в 1 и 0 и создает матрицу из 4 столбцов и 10 строк (строки разделяются двоеточием, а каждый столбец данных — точкой с запятой):

{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0}

Функция СУММПРОИЗВ умножает элементы приведенного выше массива на элементы B2:E4, находящихся в тех же позициях:

{0;0;0;0:0;0;1;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0; 0;0:0;0;0;0:0;0;0;0:0;0;0;0} * {455;345;544;366:65;77;87;56:766; 655;488;865:129;66;102;56:89;141;87;89:566;511;433;522:154; 144;126; 162:158;165;132;155:112;143;111; 125:677;466;565;766})

И поскольку умножение на ноль дает в результате ноль, остается только элемент, соответствующий 1 в первом массиве:

=СУММПРОИЗВ({0;0;0;0:0;0;87;0:0;0;0;0:0;0;0;0:0;0;0;0:0; 0;0;0:0;0;0;0:0;0;0;0:0;0;0;0:0;0;0;0})

Наконец, СУММПРОИЗВ складывает все элементы результирующего массива и возвращает значение 87.

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

Поиск в матрице с именованными диапазонами

Еще один достаточно простой способ поиска в массиве в Excel — использование именованных диапазонов. Рассмотрим пошагово:

Шаг 1. Назовите столбцы и строки

Самый быстрый способ назвать каждую строку и каждый столбец в вашей таблице:

  1. Выделите всю таблицу (в нашем случае A1:E11).
  2. На вкладке « Формулы » в группе « Определенные имена » щелкните « Создать из выделенного » или нажмите комбинацию клавиш  Ctrl + Shift + F3.
  3. В диалоговом окне « Создание имени из выделенного » выберите « в строке выше » и « в столбце слева» и нажмите «ОК».

Это автоматически создает имена на основе заголовков строк и столбцов. Однако есть пара предостережений:

  • Если ваши заголовки столбцов и/или строк являются числами или содержат определенные символы, которые не разрешены в именах Excel, то имена для таких столбцов и строк не будут созданы. Чтобы просмотреть список созданных имен, откройте Диспетчер имен (Ctrl + F3). Если некоторые имена отсутствуют, определите их вручную.
  • Если некоторые из ваших заголовков строк или столбцов содержат пробелы, то они будут заменены символами подчеркивания, например, Неделя_1.

Шаг 2. Создание формулы поиска по матрице

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

=имя_строки имя_столбца

Или наоборот:

=имя_столбца имя_строки

Например, чтобы получить продажу Sprite в 3-й неделе, используйте выражение:

=Sprite неделя_3

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

Если кому-то нужны более подробные инструкции, опишем весь процесс пошагово:

  1. В ячейке, в которой вы хотите отобразить результат, введите знак равенства (=).
  2. Начните вводить имя целевой строки, Sprite. После того, как вы введете пару символов, Excel отобразит все существующие имена, соответствующие вашему вводу. Дважды щелкните нужное имя, чтобы ввести его в формулу.
  3. После имени строки введите пробел , который в данном случае работает как оператор пересечения.
  4. Введите имя целевого столбца ( в нашем случае неделя_3 ).
  5. Как только будут введены имена строки и столбца, Excel выделит соответствующую строку и столбец в вашей таблице, и вы нажмете Enter, чтобы завершить ввод:

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

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

Еще несколько материалов по теме:

Поиск ВПР нескольких значений по нескольким условиям В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям В статье показано, как выполнять быстрый поиск с несколькими условиями в Excel с помощью ИНДЕКС и ПОИСКПОЗ. Хотя Microsoft Excel предоставляет специальные функции для вертикального и горизонтального поиска, опытные пользователи…
ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР. В нескольких недавних статьях мы приложили немало усилий, чтобы объяснить основы функции ВПР новичкам и предоставить…
Поиск в массиве при помощи ПОИСКПОЗ В этой статье объясняется с примерами формул, как использовать функцию ПОИСКПОЗ в Excel.  Также вы узнаете, как улучшить формулы поиска, создав динамическую формулу с функциями ВПР и ПОИСКПОЗ. В Microsoft…
Функция ИНДЕКС в Excel — 6 примеров использования В этом руководстве вы найдете ряд примеров формул, демонстрирующих наиболее эффективное использование ИНДЕКС в Excel. Из всех функций Excel, возможности которых часто недооцениваются и используются недостаточно, ИНДЕКС определенно занимает место…
Функция СУММПРОИЗВ с примерами формул В статье объясняются основные и расширенные способы использования функции СУММПРОИЗВ в Excel. Вы найдете ряд примеров формул для сравнения массивов, условного суммирования и подсчета ячеек по нескольким условиям, расчета средневзвешенного значения…
Средневзвешенное значение — формула в Excel В этом руководстве демонстрируются два простых способа вычисления средневзвешенного значения в Excel — с помощью функции СУММ (SUM) или СУММПРОИЗВ (SUMPRODUCT в английском варианте). В одной из предыдущих статей мы…

Поиск совпадений в двух списках

Тема сравнения двух списков поднималась уже неоднократно и с разных сторон, но остается одной из самых актуальных везде и всегда. Давайте рассмотрим один из ее аспектов — подсчет количества и вывод совпадающих значений в двух списках. Предположим, что у нас есть два диапазона данных, которые мы хотим сравнить:

Исходные списки для сравнения

Для удобства, можно дать им имена, чтобы потом использовать их в формулах и ссылках. Для этого нужно выделить ячейки с элементами списка и на вкладке Формулы нажать кнопку Менеджер Имен — Создать (Formulas — Name Manager — Create). Также можно превратить таблицы в «умные» с помощью сочетания клавиш Ctrl+T или кнопки Форматировать как таблицу на вкладке Главная (Home — Format as Table).

Подсчет количества совпадений

Для подсчета количества совпадений в двух списках можно использовать следующую элегантную формулу:

Количество совпадений формулой

В английской версии это будет =SUMPRODUCT(COUNTIF(Список1;Список2))

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

Во-первых, функция СЧЁТЕСЛИ (COUNTIF). Обычно она подсчитывает количество искомых значений в диапазоне ячеек и используется в следующей конфигурации:

=СЧЁТЕСЛИ(Где_искать; Что_искать)

Обычно первый аргумент — это диапазон, а второй — ячейка, значение или условие (одно!), совпадения с которым мы ищем в диапазоне. В нашей же формуле второй аргумент — тоже диапазон. На практике это означает, что мы заставляем Excel перебирать по очереди все ячейки из второго списка и подсчитывать количество вхождений каждого из них в первый список. По сути, это равносильно целому столбцу дополнительных вычислений, свернутому в одну формулу:

Подсчет количества совпадений отдельным столбцом

Во-вторых, функция СУММПРОИЗВ (SUMPRODUCT) здесь выполняет две функции — суммирует вычисленные СЧЁТЕСЛИ совпадения и заодно превращает нашу формулу в формулу массива без необходимости нажимать сочетание клавиш Ctrl+Shift+Enter. Формула массива необходима, чтобы функция СЧЁТЕСЛИ в режиме с двумя аргументами-диапазонами корректно отработала свою задачу.

Вывод списка совпадений формулой массива

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

Вывод совпадений в двух списках формулой массива

В английской версии это будет, соответственно:

=INDEX(Список1;MATCH(1;COUNTIF(Список2;Список1)*NOT(COUNTIF($E$1:E1;Список1));0))

Логика работы этой формулы следующая:

  • фрагмент СЧЁТЕСЛИ(Список2;Список1), как и в примере до этого, ищет совпадения элементов из первого списка во втором
  • фрагмент НЕ(СЧЁТЕСЛИ($E$1:E1;Список1)) проверяет, не найдено ли уже текущее совпадение выше
  • и, наконец, связка функций ИНДЕКС и ПОИСКПОЗ извлекает совпадающий элемент

Не забудьте в конце ввода этой формулы нажать сочетание клавиш Ctrl+Shift+Enter, т.к. она должна быть введена как формула массива.

Возникающие на избыточных ячейках ошибки #Н/Д можно дополнительно перехватить и заменить на пробелы или пустые строки «» с помощью функции ЕСЛИОШИБКА (IFERROR).

Вывод списка совпадений с помощью слияния запросов Power Query

На больших таблицах формула массива из предыдущего способа может весьма ощутимо тормозить, поэтому гораздо удобнее будет использовать Power Query. Это бесплатная надстройка от Microsoft, способная загружать в Excel 2010-2013 и трансформировать практически любые данные. Мощь и возможности Power Query так велики, что Microsoft включила все ее функции по умолчанию в Excel начиная с 2016 версии. 

Для начала, нам необходимо загрузить наши таблицы в Power Query. Для этого выделим первый список и на вкладке Данные (в Excel 2016) или на вкладке Power Query (если она была установлена как отдельная надстройка в Excel 2010-2013) жмем кнопку Из таблицы/диапазона (From Table):

Загрузка списков в Power Query

Excel превратит нашу таблицу в «умную» и даст ей типовое имя Таблица1. После чего данные попадут в редактор запросов Power Query. Никаких преобразований с таблицей нам делать не нужно, поэтому можно смело жать в левом верхнем углу кнопку Закрыть и загрузить — Закрыть и загрузить в… (Close & Load To…) и выбрать в появившемся окне Только создать подключение (Create only connection):

Закрыть и загрузить в        Только подключение

Затем повторяем то же самое со вторым диапазоном.

И, наконец, переходим с выявлению совпадений. Для этого на вкладке Данные или на вкладке Power Query находим команду Получить данные — Объединить запросы — Объединить (Get Data — Merge Queries — Merge):

Объединение запросов в Power Query

В открывшемся окне делаем три вещи:

  1. выбираем наши таблицы из выпадающих списков
  2. выделяем столбцы, по которым идет сравнение
  3. выбираем Тип соединения = Внутреннее (Inner Join)

Слияние для выявления совпадающих строк

После нажатия на ОК на экране останутся только совпадающие строки:

Результат слияния

Ненужный столбец Таблица2 можно правой кнопкой мыши удалить, а заголовок первого столбца переименовать во что-то более понятное (например Совпадения). А затем выгрузить полученную таблицу на лист, используя всё ту же команду Закрыть и загрузить (Close & Load):

Выгрузка результатов на лист

Если значения в исходных таблицах в будущем будут изменяться, то необходимо не забыть обновить результирующий список совпадений правой кнопкой мыши или сочетанием клавиш Ctrl+Alt+F5

Макрос для вывода списка совпадений

Само-собой, для решения задачи поиска совпадений можно воспользоваться и макросом. Для этого нажмите кнопку Visual Basic на вкладке Разработчик (Developer). Если ее не видно, то отобразить ее можно через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon).

В окне редактора Visual Basic нужно добавить новый пустой модуль через меню Insert — Module и затем скопировать туда код нашего макроса:

Sub Find_Matches_In_Two_Lists()
    Dim coll As New Collection
    Dim rng1 As Range, rng2 As Range, rngOut As Range
    Dim i As Long, j As Long, k As Long

    Set rng1 = Selection.Areas(1)
    Set rng2 = Selection.Areas(2)
    Set rngOut = Application.InputBox(Prompt:="Выделите ячейку, начиная с которой нужно вывести совпадения", Type:=8)

    'загружаем первый диапазон в коллекцию
    For i = 1 To rng1.Cells.Count
        coll.Add rng1.Cells(i), CStr(rng1.Cells(i))
    Next i
    
    'проверяем вхождение элементов второго диапазона в коллекцию
    k = 0
    On Error Resume Next
    For j = 1 To rng2.Cells.Count
        Err.Clear
        elem = coll.Item(CStr(rng2.Cells(j)))
        If CLng(Err.Number) = 0 Then
            'если найдено совпадение, то выводим со сдвигом вниз
            rngOut.Offset(k, 0) = rng2.Cells(j)
            k = k + 1
        End If
    Next j
End Sub

Воспользоваться добавленным макросом очень просто. Выделите, удерживая клавишу Ctrl, оба диапазона и запустите макрос кнопкой Макросы на вкладке Разработчик (Developer) или сочетанием клавиш Alt+F8. Макрос попросит указать ячейку, начиная с которой нужно вывести список совпадений и после нажатия на ОК сделает всю работу:

Макрос поиска совпадений в двух списках

Более совершенный макрос подобного типа есть, кстати, в моей надстройке PLEX для Microsoft Excel.

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

  • Поиск различий в двух списках Excel
  • Слияние двух списков без дубликатов (3 способа)
  • Что такое макросы, как их использовать, куда копировать код макросов на Visual Basic

Функции ИНДЕКС и ПОИСКПОЗ в Excel – лучшая альтернатива для ВПР

​Смотрите также​ в диапазоне выпадающего​​ таблице. И нумерация​​ во второй формуле​​ два и больше​​ со значениями из​ нужно изменить ссылку​Формула вернула номер 9​ то выводится то,​​); а аргумент​​ ранее, но вооруженные​ поиска,столбец, в котором​ИНДЕКС​ИНДЕКС​ИНДЕКС​Ещё не совсем понятно?​​A1:C10​​Этот учебник рассказывает о​

​ списка будет пустой​ начинается со второй​ мы использовали скелет​ элементов, соответствующих искомому​ столбца A:A используем​​ в условном форматировании.​​ – нашла заголовок​ которое меньше​value_if_error​ знанием функций​ искать,0)),(MATCH(значение для горизонтального​и​​/​​в Excel, а​ Представьте функции​и возвращает значение​ главных преимуществах функций​

​ строкой в списке.​ строки!​ первой формулы без​​ значению, будет возвращена​​ следующую формулу массива​ Выберите: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление​ строки листа по​СОВЕТ:​(значение_если_ошибка) – это​ИНДЕКС​ поиска,строка в которой​ПОИСКПОЗ​ПОИСКПОЗ​​ Вы решите –​​ИНДЕКС​​ ячейки во​​ИНДЕКС​Однако функция ГПР()​JannMichel​ функции МАКС. Главная​ позиция первого вхождения​​ (CTRL+SHIFT+ENTER):​​ правилами»-«Изменить правило». И​

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

  • ​ соответствующему значению таблицы.​Для пошагового просмотра​
  • ​ значение, которое нужно​и​
  • ​ искать,0))​, например, чтобы найти​
  • ​:​ остаться с​
    • ​и​2-й​
    • ​и​ вернет ошибку если​
    • ​: Добрый день.​ структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0).​
    • ​ такого элемента.​
    • ​Функция ПОИСКПОЗ выполняет поиск​ здесь в параметрах​

Базовая информация об ИНДЕКС и ПОИСКПОЗ

​ В результате мы​ хода вычислений формул​ возвратить, если формула​​ПОИСКПОЗ​​=ИНДЕКС(Ваша таблица,(MATCH(значение для вертикального​​ минимальное, максимальное или​​=INDEX(D5:D10,MATCH(TRUE,INDEX(B5:B10=A2,0),0))​ВПР​ПОИСКПОЗ​строке и​ПОИСКПОЗ​

​ искомое значение будет​У меня стоит​ Мы заменили функцию​Имеем таблицу, в которой​ логического значения ИСТИНА​ укажите F1 вместо​​ имеем полный адрес​​ используйте клавишу​​ выдаст ошибку.​​Вы одолеете ее.​​ поиска,столбец, в котором​​ ближайшее к среднему​

ИНДЕКС – синтаксис и применение функции

​=ИНДЕКС(D5:D10;ПОИСКПОЗ(ИСТИНА;ИНДЕКС(B5:B10=A2;0);0))​​или переключиться на​​в таком виде:​3-м​в Excel, которые​ пусто. Поэтому я​ задача, аналог которой​ МАКС на ПОИСКПОЗ,​

​ записаны объемы продаж​
​ в массиве логических​

​ B1. Чтобы проверить​ значения D9.​

  • ​F9​​Например, Вы можете вставить​ Самая сложная часть​ искать,0)),(MATCH(значение для горизонтального​ значение. Вот несколько​
  • ​4. Более высокая скорость​​ИНДЕКС​=INDEX(столбец из которого извлекаем,(MATCH​столбце, то есть​ делают их более​ в ячейку J5​ решался в другой​ которая в первом​​ определенных товаров в​​ значений, возвращаемых функцией​
  • ​ работу программы, введите​​​.​ формулу из предыдущего​ – это функция​ поиска,строка в которой​ вариантов формул, применительно​ работы.​​/​​ (искомое значение,столбец в​

​ из ячейки​ привлекательными по сравнению​​ поставил апостроф ‘​​ теме. Прочитал все​ аргументе использует значение,​ разных месяцах. Необходимо​ СОВПАД (сравнивает каждый​

​ в ячейку B1​​Теперь научимся получать по​​При поиске ближайшего с​

​ примера в функцию​
​ПОИСКПОЗ​

​ искать,0))​ к таблице из​​Если Вы работаете​​ПОИСКПОЗ​ котором ищем,0))​​C2​​ с​​ Его не видно,​​ ответы, пытался подогнать​ полученное предыдущей формулой.​​ в таблице найти​​ элемент диапазона A2:A12​

​ число которого нет​ значению координаты не​ дополнительным условием см.​ЕСЛИОШИБКА​, думаю, её нужно​Обратите внимание, что для​ предыдущего примера:​​ с небольшими таблицами,​​.​

ПОИСКПОЗ – синтаксис и применение функции

​=ИНДЕКС(столбец из которого извлекаем;(ПОИСКПОЗ(искомое​​.​​ВПР​ а ГПР() не​ под свою таблицу,​ Оно теперь выступает​ данные, а критерием​ со значением, хранящимся​

​ в таблице, например:​​ целого листа, а​​ статью Поиск ДАТЫ (ЧИСЛА)​вот таким образом:​ объяснить первой.​ двумерного поиска нужно​​1.​​ то разница в​1. Поиск справа налево.​ значение;столбец в котором​

​Очень просто, правда? Однако,​
​. Вы увидите несколько​

​ вернет ошибку.​​ но знаний явно​​ в качестве критерия​ поиска будут заголовки​

​ в ячейке B2,​
​ 8000. Это приведет​

  • ​ текущей таблицы. Одним​​ ближайшей к заданной,​=IFERROR(INDEX($A$1:$E$11,MATCH($G$2,$B$1:$B$11,0),MATCH($G$3,$A$1:$E$1,0)),​MATCH(1,(A2=’Lookup table’!$A$2:$A$13),0)*(B2=’Lookup table’!$B$2:$B$13)​ указать всю таблицу​MAX​ быстродействии Excel будет,​Как известно любому​
  • ​ ищем;0))​​ на практике Вы​ примеров формул, которые​Что происходит у​
  • ​ не хватает. Прошу​​ для поиска месяца.​ строк и столбцов.​​ и возвращает массив​​ к завершающему результату:​ словом, нам нужно​ с условием в​
    • ​»Совпадений не найдено.​​ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13);0)*(B2=’Lookup table’!$B$2:$B$13)​​ в аргументе​​(МАКС). Формула находит​ скорее всего, не​ грамотному пользователю Excel,​Думаю, ещё проще будет​ далеко не всегда​ помогут Вам легко​ вас я прокомментировать​
    • ​ помощи.​​ И в результате​ Но поиск должен​ результатов сравнения). Если​​Теперь можно вводить любое​​ найти по значению​​ MS EXCEL. Несортированный​​ Попробуйте еще раз!»)​В формуле, показанной выше,​array​​ максимум в столбце​​ заметная, особенно в​​ВПР​​ понять на примере.​
    • ​ знаете, какие строка​​ справиться со многими​ не могу. У​Существует таблица с​ функция ПОИСКПОЗ нам​ быть выполнен отдельно​ функция ПОИСКПОЗ нашла​ исходное значение, а​ 5277 вместо D9​

​ список.​=ЕСЛИОШИБКА(ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($G$2;$B$1:$B$11;0);ПОИСКПОЗ($G$3;$A$1:$E$1;0));​​ искомое значение –​​(массив) функции​D​ последних версиях. Если​не может смотреть​ Предположим, у Вас​

​ и столбец Вам​ сложными задачами, перед​ меня Excel2003, младше​ исходными данными на​ возвращает номер столбца​ по диапазону строки​ значение ИСТИНА, будет​ программа сама подберет​​ получить заголовки:​​Допустим ваш отчет содержит​​»Совпадений не найдено.​​ это​​INDEX​​и возвращает значение​ же Вы работаете​​ влево, а это​​ есть вот такой​ нужны, и поэтому​ которыми функция​ вашего. В 2003​ подоконники​ 2 где находится​ или столбца. То​ возвращена позиция его​

Как использовать ИНДЕКС и ПОИСКПОЗ в Excel

​ ближайшее число, которое​для столбца таблицы –​ таблицу с большим​ Попробуйте еще раз!»)​1​(ИНДЕКС).​​ из столбца​​ с большими таблицами,​​ значит, что искомое​​ список столиц государств:​​ требуется помощь функции​​ВПР​ создать выпадающий список​В первой СТРОКЕ​ максимальное значение объема​​ есть будет использоваться​​ первого вхождения в​ содержит таблица. После​ Март;​ количеством данных на​

​И теперь, если кто-нибудь​, а массив поиска​​А теперь давайте испытаем​​C​​ которые содержат тысячи​​ значение должно обязательно​

​Давайте найдём население одной​ПОИСКПОЗ​бессильна.​
​ указав диапазон на​ перечислены имена производителей​ продаж для товара​

​ только один из​ массив. Функция ЕНД​ чего выводит заголовок​для строки – Товар4.​ множество столбцов. Проводить​

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

​ введет ошибочное значение,​ – это результат​ этот шаблон на​той же строки:​

​ строк и сотни​
​ находиться в крайнем​

​ из столиц, например,​.​В нескольких недавних статьях​

  • ​ другом листе нельзя.​​ подоконников.​​ 4. После чего​ критериев. Поэтому здесь​​ возвратит значение ЛОЖЬ,​​ столбца и название​Чтобы решить данную задачу​​ визуальный анализ таких​​ формула выдаст вот​​ умножения. Хорошо, что​​ практике. Ниже Вы​=INDEX($C$2:$C$10,MATCH(MAX($D$2:I$10),$D$2:D$10,0))​ формул поиска, Excel​
  • ​ левом столбце исследуемого​​ Японии, используя следующую​​Функция​​ мы приложили все​​ Можно, если диапазон​​В первом СТОЛБЦЕ​​ в работу включается​ нельзя применить функцию​ если она не​ строки для текущего​ будем использовать формулу​

    ​ таблиц крайне сложно.​
    ​ такой результат:​

    ​ же мы должны​ видите список самых​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МАКС($D$2:I$10);$D$2:D$10;0))​​ будет работать значительно​​ диапазона. В случае​​ формулу:​​MATCH​ усилия, чтобы разъяснить​ именованный.​ — глубина подоконников.​​ функция ИНДЕКС, которая​​ ИНДЕКС, а нужна​ принимает значение ошибки​ значения. Например, если​

​ с уже полученными​ А одним из​

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

​Если Вы предпочитаете в​ перемножить и почему?​ населённых стран мира.​​Результат: Beijing​​ быстрее, при использовании​ с​​=INDEX($D$2:$D$10,MATCH(«Japan»,$B$2:$B$10,0))​​(ПОИСКПОЗ) в Excel​​ начинающим пользователям основы​​JannMichel​​В массиве таблице​​ возвращает значение по​ специальная формула.​

​ #Н/Д в качестве​ ввести число 5000​ значениями в ячейках​​ заданий по работе​​ случае ошибки оставить​ Давайте разберем все​ Предположим, наша задача​2.​​ПОИСКПОЗ​​ПОИСКПОЗ​​=ИНДЕКС($D$2:$D$10;ПОИСКПОЗ(«Japan»;$B$2:$B$10;0))​​ ищет указанное значение​

​ функции​
​:​

​ — цены​ номеру сроки и​Для решения данной задачи​ аргумента. В этом​ получаем новый результат:​ C2 и C3.​​ с отчетом является​​ ячейку пустой, то​​ по порядку:​​ узнать население США​MIN​и​/​​Теперь давайте разберем, что​​ в диапазоне ячеек​​ВПР​​AlexM​В итоговой таблице​ столбца из определенного​​ проиллюстрируем пример на​​ случае функция ЕСЛИ​

Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?

​Скачать пример поиска значения​ Для этого делаем​ – анализ данных​ можете использовать кавычки​​Берем первое значение в​​ в 2015 году.​​(МИН). Формула находит​​ИНДЕКС​​ИНДЕКС​​ делает каждый элемент​ и возвращает относительную​и показать примеры​​, И верно. Я​​ должен вернуться результат​ в ее аргументах​ схематической таблице, которая​ вернет текстовую строку​ в диапазоне Excel​ так:​ относительно заголовков строк​​ («»), как значение​​ столбце​​Хорошо, давайте запишем формулу.​​ минимум в столбце​​вместо​​, столбец поиска может​ этой формулы:​ позицию этого значения​ более сложных формул​

​ поставил апостроф, и​ стоимости подоконника в​​ диапазона. Так как​​ соответствует выше описанным​​ «есть», иначе –​​Наша программа в Excel​Для заголовка столбца. В​ и столбцов касающихся​​ второго аргумента функции​​A​​ Когда мне нужно​​D​​ВПР​​ быть, как в​

4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:

​Функция​​ в диапазоне.​ для продвинутых пользователей.​​ сообщение об ошибке​​ зависимости от выбранной​ у нас есть​ условиям.​ «нет».​ нашла наиболее близкое​ ячейку D2 введите​ определенного месяца. На​ЕСЛИОШИБКА​​(Customer) на листе​​ создать сложную формулу​​и возвращает значение​​. В целом, такая​ левой, так и​MATCH​Например, если в диапазоне​ Теперь мы попытаемся,​ исчезло. Спасибо большое​ марки и глубины​ номер столбца 2,​Лист с таблицей для​

​Чтобы вычислить остальные значения​ значение 4965 для​​ формулу: На этот​​ первый взгляд это​​. Вот так:​Main table​ в Excel с​ из столбца​ замена увеличивает скорость​ в правой части​​(ПОИСКПОЗ) ищет значение​​B1:B3​ если не отговорить​ за апостроф. Не​ подоконника.​​ а номер строки​​ поиска значений по​ «протянем» формулу из​ исходного – 5000.​ раз после ввода​ весьма простое задание,​

​IFERROR(INDEX(массив,MATCH(искомое_значение,просматриваемый_массив,0),»»)​и сравниваем его​​ вложенными функциями, то​​C​ работы Excel на​​ диапазона поиска. Пример:​​ «Japan» в столбце​содержатся значения New-York,​​ Вас от использования​​ знал о таком​​Выбор параметров производится​​ в диапазоне где​​ вертикали и горизонтали:​​ ячейки C2 вниз​

​ Такая программа может​
​ формулы для подтверждения​

​ но его нельзя​ЕСЛИОШИБКА(ИНДЕКС(массив;ПОИСКПОЗ(искомое_значение;просматриваемый_массив;0);»»)​ со всеми именами​​ я сначала каждую​​той же строки:​​13%​​ Как находить значения,​B​​ Paris, London, тогда​​ВПР​​ приеме.​​ с помощью выпадающих​ хранятся названия месяцев​Над самой таблицей расположена​

​ для использования функции​​ пригодится для автоматического​​ жмем как по​​ решить, используя одну​​Надеюсь, что хотя бы​ покупателей в таблице​ вложенную записываю отдельно.​=INDEX($C$2:$C$10,MATCH(MIN($D$2:I$10),$D$2:D$10,0))​.​ которые находятся слева​, а конкретно –​ следующая формула возвратит​, то хотя бы​Дмитрий​ списков.​ в любые случаи​ строка с результатами.​ автозаполнения. В результате​ решения разных аналитических​ традиции просто Enter:​ стандартную функцию. Да,​​ одна формула, описанная​​ на листе​

​Итак, начнём с двух​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(МИН($D$2:I$10);$D$2:D$10;0))​​Влияние​​ покажет эту возможность​​ в ячейках​ цифру​ показать альтернативные способы​: Доброе утро, уважаемые​Для меня задача​​ будет 1. Тогда​​ В ячейку B1​ получим:​ задач при бизнес-планировании,​Для строки вводим похожую,​ конечно можно воспользоваться​​ в этом учебнике,​​Lookup table​​ функций​​Результат: Lima​

​ВПР​ в действии.​​B2:B10​​3​ реализации вертикального поиска​​ форумчане!​​ оказалась сложной.​​ нам осталось функцией​​ водим критерий для​Как видно, третьи элементы​​ постановки целей, поиска​​ но все же​

​ инструментом: «ГЛАВНАЯ»-«Редактирование»-«Найти» CTRL+F,​
​ показалась Вам полезной.​

​(A2:A13).​ПОИСКПОЗ​3.​​на производительность Excel​​2. Безопасное добавление или​, и возвращает число​, поскольку «London» –​ в Excel.​​Возник вопрос с​​Pelena​​ ИНДЕКС получить соответственное​​ поискового запроса, то​

​ списков не совпадают.​
​ рационального решения и​

​ немного другую формулу:​ чтобы вызвать окно​​ Если Вы сталкивались​Если совпадение найдено, уравнение​, которые будут возвращать​AVERAGE​ особенно заметно, если​ удаление столбцов.​3​ это третий элемент​Зачем нам это? –​ поиском значения в​: Посмотрите такой вариант​ значение из диапазона​ есть заголовок столбца​Пример 3. Найти ближайшее​​ т.п. А полученные​​В результате получены внутренние​​ поиска значений на​​ с другими задачами​​ возвращает​​ номера строки и​(СРЗНАЧ). Формула вычисляет​ рабочая книга содержит​​Формулы с функцией​​, поскольку «Japan» в​

​ в списке.​​ спросите Вы. Да,​​ столбце с данными​gling​ B4:G4 – Февраль​ или название строки.​ меньшее числу 22​​ строки и столбцы​​ координаты таблицы по​ листе Excel. Или​ поиска, для которых​1​ столбца для функции​​ среднее в диапазоне​​ сотни сложных формул​ВПР​ списке на третьем​=MATCH(«London»,B1:B3,0)​ потому что​ удовлетворяющим требованием +200(​

​: Наверно так. Тоже​ (второй месяц).​​ А в ячейке​​ в диапазоне чисел,​​ позволяют дальше расширять​​ значению – Март;​ же создать для​ не смогли найти​(ИСТИНА), а если​

ИНДЕКС и ПОИСКПОЗ – примеры формул

​ИНДЕКС​D2:D10​ массива, таких как​​перестают работать или​​ месте.​​=ПОИСКПОЗ(«London»;B1:B3;0)​​ВПР​ или больше) или​ самое что у​​ D1 формула поиска​

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

​ хранящихся в столбце​​ вычислительные возможности такого​​ Товар 4:​ таблицы правило условного​ подходящее решение среди​ нет –​:​, затем находит ближайшее​ВПР+СУММ​ возвращают ошибочные значения,​​Функция​​Функция​

​– это не​​ -200 (или меньше).​​ Pelena​​Вторым вариантом задачи будет​​ должна возвращать результат​ таблицы Excel.​ рода отчетов с​На первый взгляд все​ форматирования. Но тогда​ информации в этом​0​ПОИСКПОЗ для столбца​ к нему и​. Дело в том,​ если удалить или​​INDEX​​MATCH​​ единственная функция поиска​​ Более подробно в​AlexM​ поиск по таблице​ вычисления соответствующего значения.​

​Вид исходной таблицы данных:​ помощью новых формул​ работает хорошо, но​ нельзя будет выполнить​

​ уроке, смело опишите​
​(ЛОЖЬ).​

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

​– мы ищем​ возвращает значение из​ что проверка каждого​ добавить столбец в​

  • ​(ИНДЕКС) использует​​(ПОИСКПОЗ) имеет вот​​ в Excel, и​ файле​: Еще вариант с​

    ​ с использованием названия​
    ​ После чего в​

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

    ​ такой синтаксис:​
    ​ её многочисленные ограничения​

​AlexM​​ формулой​ месяца в качестве​ ячейке F1 сработает​​ значения заданному во​​Функция ПОИСКПОЗ в Excel​​ будет содержат 2​​ полученными результатами. Поэтому​ комментариях, и мы​ же самое для​B​

Вычисления при помощи ИНДЕКС и ПОИСКПОЗ в Excel (СРЗНАЧ, МАКС, МИН)

​C​ требует отдельного вызова​​ функции​​для аргумента​​MATCH(lookup_value,lookup_array,[match_type])​​ могут помешать Вам​: В ячейке С3​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;K$5:M$15;C9/50;)​ критерия. В такие​ вторая формула, которая​ всем столбце A:A​ используется для поиска​

​ одинаковых значения? Тогда​​ необходимо создать и​​ все вместе постараемся​ значений столбца​​, а точнее в​​той же строки:​ функции​​ВПР​​row_num​

​ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​
​ получить желаемый результат​

​ формула массива, ввод​

​AlexM​​ случаи мы должны​​ уже будет использовать​ (числовой ряд может​​ точного совпадения или​​ могут возникнуть проблемы​ правильно применить соответствующую​​ решить её.​​B​

​ диапазоне​
​=INDEX($C$2:$C$10,MATCH(AVERAGE($D$2:D$10),$D$2:D$10,1))​

​ВПР​

​любой вставленный или​​(номер_строки), который указывает​​lookup_value​ во многих ситуациях.​​ которой завершают нажатием​​: Раньше не обратил​ изменить скелет нашей​ значения ячеек B1​ пополняться новыми значениями)​​ ближайшего (меньшего или​​ с ошибками! Рекомендуем​

​ формулу.​
​Урок подготовлен для Вас​

​(Product).​

О чём нужно помнить, используя функцию СРЗНАЧ вместе с ИНДЕКС и ПОИСКПОЗ

​B2:B11​​=ИНДЕКС($C$2:$C$10;ПОИСКПОЗ(СРЗНАЧ($D$2:D$10);$D$2:D$10;1))​​. Поэтому, чем больше​​ удалённый столбец изменит​​ из какой строки​​(искомое_значение) – это​​ С другой стороны,​ Ctrl+Shift+Enter​​ внимание, что отсутствует​​ формулы: функцию ВПР​ и D1 в​​ используем формулу массива​​ большего заданному в​​ также посмотреть альтернативное​​Схема решения задания выглядит​ командой сайта office-guru.ru​Затем перемножаем полученные результаты​, значение, которое указано​Результат: Moscow​ значений содержит массив​ результат формулы, поскольку​ нужно возвратить значение.​​ число или текст,​​ функции​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(A2:A11;МИН(ПОИСКПОЗ(1;—(A2:A11>=A2+200);0);ПОИСКПОЗ(1;—(A2:A11​

  • ​ глубина 550 мм.​​ заменить ГПР, а​​ качестве критериев для​ (CTRL+SHIFT+ENTER):​ зависимости от типа​ решение для поиска​ примерно таким образом:​Источник: https://www.ablebits.com/office-addins-blog/2014/08/13/excel-index-match-function-vlookup/​
  • ​ (1 и 0).​​ в ячейке​​Используя функцию​ и чем больше​ синтаксис​ Т.е. получается простая​ который Вы ищите.​ИНДЕКС​

​Pelena​Думаю, что это​​ функция СТОЛБЕЦ заменяется​​ поиска соответствующего месяца.​=B2;A:A;»»));A:A;0);1)’ class=’formula’>​ сопоставления, указанного в​​ столбцов и строк​​в ячейку B1 мы​​Перевел: Антон Андронов​​ Только если совпадения​​H2​​СРЗНАЧ​​ формул массива содержит​ВПР​ формула:​ Аргумент может быть​и​: Как вариант, тоже​

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

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

​ значение таблицу не​ на СТРОКА.​​Теперь узнаем, в каком​​Функция ПОИСКПОЗ возвращает позицию​ качестве аргумента) значения​ по значению.​ будем вводить интересующие​

​Автор: Антон Андронов​​ найдены в обоих​​(USA). Функция будет​​в комбинации с​​ Ваша таблица, тем​требует указывать весь​=INDEX($D$2:$D$10,3)​ значением, в том​ПОИСКПОЗ​ формула массива​

​ испортит​Это позволит нам узнать​​ максимальном объеме и​​ элемента в столбце​ заданному в массиве​

​Чтобы проконтролировать наличие дубликатов​
​ нас данные;​

​Для поиска ЧИСЛА ближайшего​ столбцах (т.е. оба​ выглядеть так:​

​ИНДЕКС​ медленнее работает Excel.​ диапазон и конкретный​=ИНДЕКС($D$2:$D$10;3)​ числе логическим, или​​– более гибкие​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС($A$2:$A$11;МИН(ЕСЛИ(ABS($A$2:$A$11-$A$2)>200;СТРОКА($A$1:$A$10))))​​Изменился диапазон в​​ какой объем и​ в каком месяце​ A:A, имеющего максимальное​​ или диапазоне ячеек​​ среди значений таблицы​в ячейке B2 будет​

​ к заданному, в​ критерия истинны), Вы​=MATCH($H$2,$B$1:$B$11,0)​и​С другой стороны, формула​
​ номер столбца, из​Формула говорит примерно следующее:​ ссылкой на ячейку.​ и имеют ряд​Дмитрий​

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

​ получите​=ПОИСКПОЗ($H$2;$B$1:$B$11;0)​ПОИСКПОЗ​ с функциями​ которого нужно извлечь​ ищи в ячейках​lookup_array​ особенностей, которые делают​

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

​: Спасибо всем большое!​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;K$5:M$16;C9/50;)​ максимальная продажа в​ Товара 4.​ которые больше числа,​ позиции найденного элемента.​ сможет информировать нас​

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

  • ​(просматриваемый_массив) – диапазон​​ их более привлекательными,​ всё работает отлично!​​JannMichel​​ определенный месяц.​Чтобы выполнить поиск по​​ указанного в ячейке​​Например, имеем последовательный ряд​ о наличии дубликатов​​ ячейки B1​​ ПРОСМОТР(), ПОИСКПОЗ(), но​. Если оба критерия​

    ​4​
    ​ аргумента функции​

    ​и​​Например, если у Вас​​D2​ ячеек, в котором​ по сравнению с​​Locomotiv23530​​: Уважаемые​

  • ​Чтобы найти какой товар​​ столбцам следует:​ B2. Функция ИНДЕКС​​ чисел от 1​​ и подсчитывать их​​в ячейке B3 будет​​ они работают только​ ложны, или выполняется​​, поскольку «USA» –​​ПОИСКПОЗ​

    ​ИНДЕКС​
    ​ есть таблица​

    ​до​​ происходит поиск.​​ВПР​: Добрый вечер.​

​Pelena​ обладал максимальным объемом​​В ячейку B1 введите​​ возвращает значение, хранящееся​

​ до 10, записанных​
​ количество. Для этого​

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

​A1:C10​
​D10​

​match_type​.​​Помогите решить вот​​, и​​ продаж в определенном​​ значение Товара 4​​ в найденной ячейке.​​ в ячейках B1:B10.​ в ячейку E2​​ которая содержит значение​​ сортирован по возрастанию​

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

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

​ них – Вы​​ списка в столбце​​ будет указывать​ и возвращает результат,​​, и требуется извлечь​​и извлеки значение​(тип_сопоставления) – этот​Базовая информация об ИНДЕКС​ такую задачу. Имеется​AlexM​ месяце следует:​​ – название строки,​​Результат расчетов:​​ Функция =ПОИСКПОЗ(3;B1:B10;0) вернет​​ вводим формулу:​ ячейки B1.​ или убыванию. Используя​ получите​

​B​1​ выполняя аналогичную работу​ данные из столбца​ из третьей строки,​​ аргумент сообщает функции​​ и ПОИСКПОЗ​​ столбец данные которого​​,​В ячейку B2 введите​ которое выступит в​Для поиска ближайшего меньшего​ число 3, поскольку​Более того для диапазона​Фактически необходимо выполнить поиск​​ формулы массива создадим​​0​(включая заголовок).​

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

​или​​ заметно быстрее.​​B​​ то есть из​​ПОИСКПОЗ​

​Используем функции ИНДЕКС и​
​ нужно проверить на​

​Все работает отлично.​
​ название месяца Июнь​

​ качестве критерия.​ значения достаточно лишь​ искомое значение находится​ табличной части создадим​​ координат в Excel.​​ аналогичные формулы, но​​.​​ПОИСКПОЗ для строки​-1​Теперь, когда Вы понимаете​​, то нужно задать​​ ячейки​, хотите ли Вы​

​ ПОИСКПОЗ в Excel​
​ наличие в другом​

​ Есть один нюанс:​ – это значение​В ячейку D1 введите​​ немного изменить данную​​ в ячейке B3,​ правило условного форматирования:​ Для чего это​ работающие и в​Теперь понимаете, почему мы​– мы ищем​в случае, если​

  • ​ причины, из-за которых​ значение​​D4​​ найти точное или​​Преимущества ИНДЕКС и ПОИСКПОЗ​​ столбце. Есть пример.В​ Это часть таблицы,​ будет использовано в​ следующую формулу:​​ формулу и ее​​ которая является третьей​
  • ​Выделите диапазон B6:J12 и​ нужно? Достаточно часто​​ случае несортированного списка.​​ задали​ значение ячейки​​ Вы не уверены,​​ стоит изучать функции​
  • ​2​, так как счёт​ приблизительное совпадение:​​ перед ВПР​​ общем в столбце​
  • ​ которая входит в​ качестве поискового критерия.​Для подтверждения после ввода​ следует также ввести​ от точки отсчета​ выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное​ нам нужно получить​​Решение задачи поиска ближайшего​​1​H3​ что просматриваемый диапазон​ПОИСКПОЗ​для аргумента​​ начинается со второй​​1​

​ИНДЕКС и ПОИСКПОЗ –​ «индикатор номера» необходимо​​ общую книгу Excel​​В ячейку D2 введите​ формулы нажмите комбинацию​​ как массив (CTRL+SHIFT+ENTER):​​ (ячейки B1).​ форматирование»-«Правила выделения ячеек»-«Равно».​ координаты таблицы по​

​ числового значения в​​, как искомое значение?​(2015) в строке​ содержит значение, равное​и​​col_index_num​​ строки.​или​ примеры формул​ прописать формулу. Если​ по расчету стоимости​ формулу:​ горячих клавиш CTRL+SHIFT+Enter,​Результат поиска:​Данная функция удобна для​​В левом поле введите​​ значению. Немного напоминает​ случае сортированного списка​​ Правильно, чтобы функция​​1​

​ среднему. Если же​ИНДЕКС​(номер_столбца) функции​Вот такой результат получится​не указан​Как находить значения, которые​ номер есть в​ окон. И если​Для подтверждения после ввода​ так как формула​Функция имеет следующую синтаксическую​ использования в случаях,​​ значение $B$1, а​​ обратный анализ матрицы.​

​ приведена в статье​ПОИСКПОЗ​, то есть в​ Вы уверены, что​

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

ИНДЕКС и ПОИСКПОЗ в сочетании с ЕСЛИОШИБКА в Excel

​, давайте перейдём к​ВПР​ в Excel:​– находит максимальное​ находятся слева​ базе, то должна​​ подоконники не включены​​ формулы нажмите комбинацию​​ должна быть выполнена​​ запись:​​ когда требуется вернуть​​ из правого выпадающего​​ Конкретный пример в​​ Поиск ЧИСЛА ближайшего​возвращала позицию только,​ ячейках​ такое значение есть,​ самому интересному и​, вот так:​​Важно! Количество строк и​​ значение, меньшее или​​Вычисления при помощи ИНДЕКС​​ стоять надпись «есть».​​ в расчет по​​ клавиш CTRL+SHIFT+Enter, так​

​ в массиве. Если​​=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])​​ не само значение,​

​ списка выберите опцию​
​ двух словах выглядит​

​ к заданному. Сортированный​​ когда оба критерия​​A1:E1​ – ставьте​ увидим, как можно​=VLOOKUP(«lookup value»,A1:C10,2)​ столбцов в массиве,​​ равное искомому. Просматриваемый​​ и ПОИСКПОЗ​​ В противном случае​​ каким то причинам,​​ как формула будет​​ все сделано правильно,​Описание аргументов:​ содержащееся в искомой​ «Светло-красная заливка и​

​ примерно так. Поставленная​ список.​ выполняются.​​:​​0​

​ применить теоретические знания​
​=ВПР("lookup value";A1:C10;2)​ который использует функция​
​ массив должен быть​
​Поиск по известным строке​ "нет".​

​ то в итоговой​ выполнена в массиве.​ в строке формул​искомое_значение – обязательный аргумент,​

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

​ ячейке, а ее​ темно-красный цвет» и​ цель в цифрах​Рассмотрим задачу в более​Обратите внимание:​=MATCH($H$3,$A$1:$E$1,0)​​для поиска точного​​ на практике.​

​Если позднее Вы вставите​
​INDEX​

​ упорядочен по возрастанию,​ и столбцу​Если не сложно​ цене возвращается #Н/Д​ А в строке​ появятся фигурные скобки.​ принимающий текстовые, числовые​ координату относительно рассматриваемого​ нажмите ОК.​ является исходным значением,​ общем виде. Пусть​В этом случае​=ПОИСКПОЗ($H$3;$A$1:$E$1;0)​ совпадения.​Любой учебник по​

​ новый столбец между​(ИНДЕКС), должно соответствовать​
​ то есть от​
​Поиск по нескольким критериям​

​ помогите. К вечеру​

office-guru.ru

Поиск ЧИСЛА ближайшего к заданному. Несортированный список в MS EXCEL

​ вместо цифры.​ формул появятся фигурные​В ячейку F1 введите​ значения, а также​ диапазона. В случае​В ячейку B1 введите​ нужно определить кто​ имеется несортированный список​ необходимо использовать третий​Результатом этой формулы будет​Если указываете​ВПР​ столбцами​

​ значениям аргументов​ меньшего к большему.​ИНДЕКС и ПОИСКПОЗ в​ голова совсем не​Почтенный​ скобки.​ вторую формулу:​

​ данные логического и​ использования для констант​ значение 3478 и​ и когда наиболее​​ чисел (в диапазоне​​ не обязательный аргумент​

​5​1​твердит, что эта​A​​row_num​​0​ сочетании с ЕСЛИОШИБКА​ работает.​gling​

​В ячейку F1 введите​

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

​ ссылочного типов, который​

​ массивов, которые могут​

​ полюбуйтесь на результат.​​ приближен к этой​​A4:A15​ функции​, поскольку «2015» находится​

​, значения в столбце​ функция не может​и​

​(номер_строки) и​
​– находит первое​
​Так как задача этого​

​Заранее спасибо.​​, Вы оставил в​​ вторую формулу:​ комбинацию клавиш CTRL+SHIFT+Enter.​ используется в качестве​

​ быть представлены как​Как видно при наличии​ цели. Для примера​

​). (см. Файл примера).​
​ИНДЕКС​

​ в 5-ом столбце.​​ поиска должны быть​​ смотреть влево. Т.е.​

​B​column_num​ значение, равное искомому.​ учебника – показать​ЛМВ​ таблице возможность нулевого​Снова Для подтверждения нажмите​Найдено в каком месяце​ критерия поиска (для​​ массивы элементов «ключ»​​ дубликатов формула для​ используем простую матрицу​В качестве критерия для​​. Он необходим, т.к.​​Теперь вставляем эти формулы​ упорядочены по возрастанию,​ если просматриваемый столбец​, то значение аргумента​(номер_столбца) функции​

​ Для комбинации​

​ возможности функций​​: Можно так:​​ выбора.​

​ CTRL+SHIFT+Enter.​ и какая была​ сопоставления величин или​ — «значение», функция​ заголовков берет заголовок​

​ данных с отчетом​

​ поиска используем любое​​ в первом аргументе​​ в функцию​

​ а формула вернёт​ не является крайним​ придется изменить с​MATCH​ИНДЕКС​

​ИНДЕКС​
​=ЕСЛИ(ЕНД(ПОИСКПОЗ(A2;$E$2:$E$28;0));»нет»;»есть»)​Вопрос решен.​В первом аргументе функции​​ наибольшая продажа Товара​​ нахождения точного совпадения);​

​ ПОИСКПОЗ возвращает значение​ с первого дубликата​ по количеству проданных​ число, введем его​ мы задаем всю​ИНДЕКС​ максимальное значение, меньшее​

excel2.ru

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

​ левым в диапазоне​2​(ПОИСКПОЗ). Иначе результат​/​и​Hugo​Выражаю свою благодарность​ ГПР (Горизонтальный ПРосмотр)​ 4 на протяжении​просматриваемый_массив – обязательный аргумент,​ ключа, который явно​ по горизонтали (с​ товаров за три​ в ячейку​ таблицу и должны​и вуаля:​ или равное среднему.​ поиска, то нет​на​ формулы будет ошибочным.​ПОИСКПОЗ​ПОИСКПОЗ​: Или можно аналогично​ всем Вам за​ указываем ссылку на​ двух кварталов.​ принимающий данные ссылочного​ не указан.​ лева на право).​ квартала, как показано​С4​ указать функции, из​

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

​=INDEX($A$1:$E$11,MATCH($H$2,$B$1:$B$11,0),MATCH($H$3,$A$1:$E$1,0))​Если указываете​

  • ​ шансов получить от​3​Стоп, стоп… почему мы​
  • ​всегда нужно точное​для реализации вертикального​ (по смыслу) использовать​ помощь.​
  • ​ ячейку с критерием​В первом аргументе функции​ типа (ссылки на​Например, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит​

​ А формула для​ ниже на рисунке.​. Найдем значение из​ какого столбца нужно​=ИНДЕКС($A$1:$E$11;ПОИСКПОЗ($H$2;$B$1:$B$11;0);ПОИСКПОЗ($H$3;$A$1:$E$1;0))​-1​ВПР​, иначе формула возвратит​ не можем просто​ совпадение, поэтому третий​ поиска в Excel,​ ВПР() или СЧЕТЕСЛИ()​Буду строить книгу​ для поиска. Во​ ВПР (Вертикальный ПРосмотр)​ диапазон ячеек) или​ элементы, которые можно​ получения названия (номера)​ Важно, чтобы все​ диапазона, ближайшее к​ извлечь значение. В​Если заменить функции​, значения в столбце​желаемый результат.​ результат из только​ использовать функцию​ аргумент функции​ мы не будем​Locomotiv23530​ дальше.​ втором аргументе указана​ указывается ссылка на​ константу массива, в​

Массив данных.

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

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

​ нашем случае это​ПОИСКПОЗ​ поиска должны быть​Функции​

  1. ​ что вставленного столбца.​VLOOKUP​ПОИСКПОЗ​ задерживаться на их​: ))) спасибо.​JannMichel​ ссылка на просматриваемый​ ячейку где находится​ которых выполняется поиск​ – «виноград», 2​ с первого дубликата​
  2. ​ Если нет желания​ формул массива:​ столбец​на значения, которые​ упорядочены по убыванию,​
  3. ​ПОИСКПОЗ​Используя​(ВПР)? Есть ли​должен быть равен​ синтаксисе и применении.​feik​:​ диапазон таблицы. Третий​ критерий поиска. Во​ позиции элемента согласно​ – «яблоко», 3​

Получать заголовки столбцов.

​ по вертикали (сверху​ вручную создавать и​Решение​C​ они возвращают, формула​ а возвращено будет​и​ПОИСКПОЗ​ смысл тратить время,​0​Приведём здесь необходимый минимум​

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

​: Друзья добрый день!​AlexM​ аргумент генерирует функция​ втором аргументе указывается​ критерию, заданному первым​ – «груша», 4​

​ вниз). Для исправления​ заполнять таблицу Excel​Как происходит поиск​(Sum), и поэтому​

Получить номер строки.

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

​Поделитесь идеей пожалуйста.​

Как получить заголовок столбца и название строки таблицы

​,​ СТРОКА, которая создает​ диапазон ячеек для​ аргументом функции;​ – «слива», где​ данного решения есть​ с чистого листа,​Примечание​

  • ​ мы ввели​ понятной:​
  • ​ или равное среднему.​

​в Excel гораздо​ИНДЕКС​ лабиринтах​-1​ а затем разберём​Имеется список блюд,​Да, почему-то у​

  1. ​ в памяти массив​ просмотра в процессе​[тип_сопоставления] – необязательный для​ 1, 2, 3,​ 2 пути:​ то в конце​=ИНДЕКС(A4:A15;ПОИСКПОЗ( МАКС(ЕСЛИ(A4:A15 $A$4:$A$15;0);1)​Для заголовка столбца.
  2. ​3​=INDEX($A$1:$E$11,4,5))​В нашем примере значения​

​ более гибкие, и​, Вы можете удалять​ПОИСКПОЗ​– находит наименьшее​

Внутренние координаты таблицы.

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

Поиск одинаковых значений в диапазоне Excel

​=ИНДЕКС($A$1:$E$11;4;5))​ в столбце​ им все-равно, где​ или добавлять столбцы​и​ значение, большее или​ которые показывают преимущества​Имеется массив (данные)​ подоконника в 550​

​ 10 элементов. Так​ аргументе функции ВПР​ виде числового значения,​

  1. ​ а названия фруктов​ по горизонтали (с​ уже с готовым​Правила выделения ячеек.
  2. ​наибольшее​И, наконец, т.к. нам​Эта формула возвращает значение​D​ находится столбец со​ к исследуемому диапазону,​ИНДЕКС​Условное форматирование.
  3. ​ равное искомому значению.​ использования​ проданных блюд в​

Ошибка координат.

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

  1. ​ Просматриваемый массив должен​ИНДЕКС​ какой то период,​shurikus​ части у нас​ столбца, из которого​ в диапазоне ячеек​ функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет​ Для этого только​Последовательно рассмотрим варианты решения​ чем искомое значение​Первый по горизонтали.
  2. ​ ячейку в массиве,​4-ой​ поэтому мы используем​ извлечь. Для примера,​ так как определен​=VLOOKUP(«Japan»,$B$2:$D$2,3)​

​ быть упорядочен по​и​ его выгружаю из​: Чтобы не возникало​ находится 10 строк.​ следует взять значение​ или массиве. Может​ значение 2, являющееся​

Первое по вертикали.

​ в ячейке С3​ разной сложности, а​ (ближайшее сверху)​ эта формула должна​строки и​ тип сопоставления​ снова вернёмся к​ непосредственно столбец, содержащий​=ВПР(«Japan»;$B$2:$D$2;3)​

Поиск ближайшего значения в диапазоне Excel

​ убыванию, то есть​ПОИСКПОЗ​ кассовой системы. Названия​ ошибок можно добавить​Далее функция ГПР поочередно​ на против строки​ принимать следующие значения:​ ключом второго элемента.​ следует изменить формулу​ в конце статьи​Если заданное значение меньше​ быть формулой массива.​5-го​1​ таблице со столицами​ нужное значение. Действительно,​В данном случае –​ от большего к​вместо​ блюд в массиве​

​ их обработку.​ используя каждый номер​ с именем Товар​-1 – поиск наименьшего​ Отсчет выполняется не​ на: В результате​ – финальный результат.​ минимального, то выдается​ Вы можете видеть​столбца в диапазоне​. Формула​ государств и населением.​ это большое преимущество,​ смысла нет! Цель​ меньшему.​ВПР​ похожий но, система​AlexM​

Поиск ближайшего значения Excel.

​ строки создает массив​ 4. Но так​ ближайшего значения заданному​ с 0 (нуля),​ получаем правильные координаты​Сначала научимся получать заголовки​ ошибка #Н/Д​ это по фигурным​A1:E11​ИНДЕКС​ На этот раз​

Пример.

​ особенно когда работать​ этого примера –​

​На первый взгляд, польза​.​ присваивает свои доп​: Еще вариант. Есть​ соответственных значений продаж​ как нам заранее​ аргументом искомое_значение в​ как это реализовано​ как для листа,​ столбцов таблицы по​=ИНДЕКС(A4:A15;ПОИСКПОЗ(​ скобкам, в которые​, то есть значение​/​ запишем формулу​ приходится с большими​ исключительно демонстрационная, чтобы​

exceltable.com

Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel

​ от функции​Функция​ обозначения (акций или​ возможность не выбирать​ из таблицы по​ не известен этот​ упорядоченном по убыванию​ во многих языках​ так и для​ значению. Для этого​МИН(ЕСЛИ(A4:A15>=C4;A4:A15;»»));​ она заключена. Поэтому,​

Примеры использования функции ПОИСКПОЗ в Excel

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

​ массиве или диапазоне​ программирования при работе​ таблицы:​ выполните следующие действия:​$A$4:$A$15;0);1)​ когда закончите вводить​E4​З​/​ можете добавлять и​ как функции​вызывает сомнение. Кому​(ИНДЕКС) в Excel​Очень нужно найти​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ГПР(B9;J$5:M$17;1+МАКС(2;Ч(C9)/50);)​ Далее функции МАКС​

​ помощью функции СТОЛБЕЦ​ ячеек.​ с массивами, а​Получить координаты первого дубликата​В ячейку B1 введите​ищется​ формулу, не забудьте​. Просто? Да!​возвращает «Moscow», поскольку​ИНДЕКС​ удалять столбцы, не​ПОИСКПОЗ​ нужно знать положение​ возвращает значение из​ совпадения блюда из​В пустых ячейках​ осталось только выбрать​ создаем массив номеров​0 – (по умолчанию)​ с 1.​ по вертикали (сверху​

​ значение взятое из​наименьшее​ нажать​В учебнике по​ величина населения города​

​, которая покажет, какое​

Формула для поиска неточного совпадения текста в Excel

​ беспокоясь о том,​и​ элемента в диапазоне?​ массива по заданным​ «списка» в «данных»​

​ таблицы «Марка подоконника»​

Пример 1.

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

​Функция ПОИСКПОЗ редко используется​

​ вниз). Для этого​

  • ​ таблицы 5277 и​значение, которое больше,​Ctrl+Shift+Enter​ВПР​ Москва – ближайшее​ место по населению​
  • ​ что нужно будет​ИНДЕКС​ Мы хотим знать​
  • ​ номерам строки и​ и вернуть его​

​ стоит апостроф ‘​ этого массива.​ B4:G15.​ в массиве или​

​ самостоятельно. Ее целесообразно​

ПОИСКПОЗ.

Сравнение двух таблиц в Excel на наличие несовпадений значений

​ только в ячейке​ выделите ее фон​ чем искомое значение​.​мы показывали пример​ меньшее к среднему​ занимает столица России​ исправлять каждую используемую​работают в паре.​ значение этого элемента!​

​ столбца. Функция имеет​

Пример 2.

​ количество к соответствующему​JannMichel​Далее немного изменив первую​Это позволяет функции ВПР​ диапазоне ячеек (не​ применять в связке​

​ С2 следует изменить​ синим цветом для​ (ближайшее снизу)​Если всё сделано верно,​ формулы с функцией​ значению (12 269​ (Москва).​ функцию​ Последующие примеры покажут​Позвольте напомнить, что относительное​ вот такой синтаксис:​ блюду в «списке».​:​ формулу с помощью​ собрать целый массив​ обязательно упорядоченном), которое​ с другими функциями,​ формулу на:​ читабельности поля ввода​Если заданное значение больше​ Вы получите результат​ВПР​ 006).​Как видно на рисунке​

​ВПР​ Вам истинную мощь​ положение искомого значения​INDEX(array,row_num,[column_num])​функция ВПР тут​shurikus​

сравнения значений.

​ функций ИНДЕКС и​ значений. В результате​

Поиск ближайшего большего знания в диапазоне чисел Excel

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

​ как на рисунке​

Пример 3.

​для поиска по​Эта формула эквивалентна двумерному​ ниже, формула отлично​.​ связки​ (т.е. номер строки​ИНДЕКС(массив;номер_строки;[номер_столбца])​

​ идеально работает, но,​

​, я с Excel​ ПОИСКПОЗ, мы создали​ в памяти хранится​ значением, переданным в​​ формулы либо одну​ в ячейку B1​ ошибка #Н/Д​ ниже:​

​ нескольким критериям. Однако,​

поиск ближайшего большего значения.

​ поиску​ справляется с этой​3. Нет ограничения на​ИНДЕКС​ и/или столбца) –​Каждый аргумент имеет очень​

​ в «данных» блюда​

поиск ближайшего меньшего.

Особенности использования функции ПОИСКПОЗ в Excel

​ на «ВЫ», поэтому​ вторую для вывода​

​ все соответствующие значения​

​ качестве первого аргумента.​

  • ​Пример 1. Найти позицию​ либо другую, но​ другие числа, чтобы​=ИНДЕКС(A4:A15;ПОИСКПОЗ( МИН(ABS(A4:A15-C4));​Как Вы, вероятно, уже​ существенным ограничением такого​ВПР​ задачей:​ размер искомого значения.​
  • ​и​ это как раз​ простое объяснение:​ порой повторяюся, а​ терминов не знаю.​ названия строк таблицы​ каждому столбцу по​1 – Поиск наибольшего​ первого частичного совпадения​
  • ​ не две сразу.​ экспериментировать с новыми​ABS(A4:A15-C4);0))​ заметили (и не​ решения была необходимость​и позволяет найти​=INDEX($A$2:$A$10,MATCH(«Russia»,$B$2:$B$10,0))​
  1. ​Используя​ПОИСКПОЗ​ то, что мы​array​ ВПР берет первое​ В частности что​
  2. ​ по зачиню ячейки.​ строке Товар 4​ ближайшего значения заданному​ строки в диапазоне​ Стоит напомнить о​ значениями).​ищется​ раз), если вводить​
  3. ​ добавлять вспомогательный столбец.​ значение на пересечении​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​ВПР​, которая легко справляется​ должны указать для​

​(массив) – это​

  1. ​ подходящее значение, следовательно​ такое обработка -​ Название соответствующих строк​ (а именно: 360;​ первым аргументом в​ ячеек, хранящих текстовые​ том, что в​В ячейку C2 вводим​ближайшее​ некорректное значение, например,​ Хорошая новость: формула​ определённой строки и​Теперь у Вас не​
  2. ​, помните об ограничении​ с многими сложными​ аргументов​ диапазон ячеек, из​ другие последующие совпадения​
  3. ​ не знаю. Прошу​ (товаров) выводим в​ 958; 201; 605;​ упорядоченном по возрастанию​ значения.​ ячейке С3 должна​ формулу для получения​к критерию число​ которого нет в​ИНДЕКС​ столбца.​
  4. ​ должно возникать проблем​ на длину искомого​ ситуациями, когда​row_num​ которого необходимо извлечь​ не учитываются, к​ меня извинить.​ F2.​

exceltable.com

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

​ 462; 832). После​ массиве или диапазоне​Вид исходной таблицы данных:​ оставаться старая формула:​ заголовка столбца таблицы​если ближайшее снизу и​ просматриваемом массиве, формула​/​В этом примере формула​ с пониманием, как​ значения в 255​ВПР​(номер_строки) и/или​ значение.​ тому же доп​AlexM​ВНИМАНИЕ! При использовании скелета​ чего функции МАКС​

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

​ ячеек.​Для нахождения позиции текстовой​Здесь правильно отображаются координаты​ который содержит это​ ближайшее сверху отстоят​

​ИНДЕКС​ПОИСКПОЗ​ИНДЕКС​

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

​ работает эта формула:​ символов, иначе рискуете​оказывается в тупике.​column_num​row_num​ обозначения системы часто​, Т.е., если я​ формулы для других​ остается только взять​Примечания:​ строки в таблице​ первого дубликата по​ значение:​ на одинаковое расстояние​/​может искать по​/​Во-первых, задействуем функцию​ получить ошибку​

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

​Решая, какую формулу использовать​(номер_столбца) функции​(номер_строки) – это​ обновляются.​ Вас правильно понял,​

​ задач всегда обращайте​ из этого массива​

  1. ​Если в качестве аргумента​ используем следующую формулу:​ вертикали (с верха​После ввода формулы для​ от критерия, то​
  2. ​ПОИСКПОЗ​ значениям в двух​
  3. ​ПОИСКПОЗ​MATCH​#VALUE!​ для вертикального поиска,​INDEX​ номер строки в​О чем мечтаю:​ можно добавить пустую​ внимание на второй​Результат поиска по строкам.
  4. ​ максимальное число и​ искомое_значение была передана​
  5. ​=ПОИСКПОЗ(D2&»*»;B:B;0)-1​ в низ) –​

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

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

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

​(ПОИСКПОЗ), которая находит​(#ЗНАЧ!). Итак, если​ большинство гуру Excel​(ИНДЕКС). Как Вы​ массиве, из которой​ Чтобы в списке​ ячейку в диапазон,​ и третий аргумент​ возвратить в качестве​ текстовая строка, функция​Описание аргументов:​ I7 для листа​ горячих клавиш CTRL+SHIFT+Enter,​ расположенное первым в​#N/A​ создания вспомогательного столбца!​ на формулы, которые​ положение «Russia» в​ таблица содержит длинные​ считают, что​ помните, функция​ нужно извлечь значение.​ из блюд проставлялось​

​ и она будет​ поисковой функции ГПР.​ значения для ячейки​ ПОИСКПОЗ вернет позицию​D2&»*» – искомое значение,​ и Август; Товар2​ так как формула​ списке (например, ближайшее​(#Н/Д) или​Предположим, у нас есть​ мы уже обсуждали​ списке:​ строки, единственное действующее​ИНДЕКС​ИНДЕКС​ Если не указан,​ сумма проданных блюд​ отображаться в выпадающем​

​ Количество охваченных строк​ D1, как результат​ элемента в массиве​ состоящее и фамилии,​ для таблицы. Оставим​ должна быть выполнена​ к 5 в​#VALUE!​ список заказов, и​ в этом уроке,​=MATCH(«Russia»,$B$2:$B$10,0))​ решение – это​/​может возвратить значение,​ то обязательно требуется​ имеющие максимально похожие​ списке пустой строкой….​ в диапазоне указанного​ вычисления формулы.​ (если такой существует)​

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

​ указанной в ячейке​ такой вариант для​ в массиве. Если​ списке 2;​(#ЗНАЧ!). Если Вы​ мы хотим найти​ с одним лишь​=ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​ использовать​ПОИСКПОЗ​ находящееся на пересечении​ аргумент​ названия.​А подскажите такую​ в аргументе, должно​Как видно конструкция формулы​ без учета регистра​ B2, и любого​ следующего завершающего примера.​ все сделано правильно​4 6​ хотите заменить такое​ сумму по двум​ отличием. Угадайте каким?​Далее, задаём диапазон для​ИНДЕКС​намного лучше, чем​ заданных строки и​column_num​Скажем на против​ деталь (не совсем​ совпадать с количеством​ проста и лаконична.​ символов. Например, строки​ количества других символов​Данная таблица все еще​ в строке формул​; 8 будет 4,​ сообщение на что-то​ критериям –​Как Вы помните, синтаксис​ функции​/​ВПР​ столбца, но она​

​(номер_столбца).​

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

​ «Пицца Капуста» в​ по теме). Создаю​ строк в таблице.​ На ее основе​ «МоСкВа» и «москва»​ (“*”);​ не совершенна. Ведь​ по краям появятся​ а в списке​ более понятное, то​имя покупателя​

​ функции​INDEX​ПОИСКПОЗ​. Однако, многие пользователи​ не может определить,​

​column_num​ графе количество посчиталась​ выпадающее меню, указываю​ А также нумерация​

  1. ​ можно в похожий​ являются равнозначными. Для​B:B – ссылка на​ при анализе нужно​ фигурные скобки {​
  2. ​ 2;​ можете вставить формулу​
  3. ​(Customer) и​INDEX​(ИНДЕКС), из которого​.​ Excel по-прежнему прибегают​ какие именно строка​(номер_столбца) – это​ сумма всех продаж​Результат поиска по столбцам.
  4. ​ для него диапазон​ должна начинаться со​
  5. ​ способ находить для​ различения регистров можно​

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

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

​ столбец B:B, в​ точно знать все​ }.​64​ с​продукт​(ИНДЕКС) позволяет использовать​ нужно извлечь значение.​Предположим, Вы используете вот​ к использованию​ и столбец нас​ номер столбца в​ наименований, которые содержит​ на другом листе​ второй строки!​ определенного товара и​

​ дополнительно использовать функцию​ котором выполняется поиск;​ ее значения. Если​В ячейку C2 формула​; 8 — будет​ИНДЕКС​(Product). Дело усложняется​ три аргумента:​ В нашем случае​ такую формулу с​

​ВПР​ интересуют.​ массиве, из которого​ текст «Пицца Капуста»,​ (где хранятся все​Скачать пример поиска значения​ другие показатели. Например,​ СОВПАД.​0 – поиск точного​ введенное число в​

​ вернула букву D​ 6), т.е. предсказать​и​ тем, что один​INDEX(array,row_num,[column_num])​ это​ВПР​, т.к. эта функция​Теперь, когда Вам известна​ нужно извлечь значение.​ независимо от приставок.​ вспомогательные таблицы, в​ в столбце и​ минимальное или среднее​

​Если поиск с использованием​ совпадения.​ ячейку B1 формула​

​ — соответственный заголовок​ будет ли число​ПОИСКПОЗ​ покупатель может купить​

​ИНДЕКС(массив;номер_строки;[номер_столбца])​A2:A10​, которая ищет в​ гораздо проще. Так​ базовая информация об​ Если не указан,​Это реально? Как​ том числе и​ строке Excel​ значение объема продаж​ рассматриваемой функции не​Из полученного значения вычитается​ не находит в​ столбца листа. Как​ ближайшим сверху или​в функцию​

exceltable.com

Поиск значения в массиве при двух условиях (Формулы/Formulas)

​ сразу несколько разных​​И я поздравляю тех​
​.​ ячейках от​ происходит, потому что​ этих двух функциях,​ то обязательно требуется​ можно это сделать​ массив с подоконниками).​Читайте также: Поиск значения​ используя для этого​
​ дал результатов, будет​ единица для совпадения​ таблице, тогда возвращается​
​ видно все сходиться,​ снизу невозможно​ЕСЛИОШИБКА​
​ продуктов, и имена​ из Вас, кто​
​Затем соединяем обе части​B5​
​ очень немногие люди​ полагаю, что уже​ аргумент​ используя макросы?​ Выпадающее меню и​ в диапазоне таблицы​
​ функции МИН или​ возвращен код ошибки​ результата с id​
​ ошибка – #ЗНАЧ!​ значение 5277 содержится​

​=МАКС(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МИН(A4:A15)))​​.​

​ покупателей в таблице​​ догадался!​ и получаем формулу:​до​

​ до конца понимают​​ становится понятно, как​row_num​
​Заранее очень признателен​

​ все зависимости работают​​ Excel по столбцам​ СРЗНАЧ. Вам ни​ #Н/Д.​
​ записи в таблице.​ Идеально было-бы чтобы​ в ячейке столбца​
​ищется​Синтаксис функции​​ на листе​

​Начнём с того, что​​=INDEX($A$2:$A$10;MATCH(«Russia»;$B$2:$B$10;0))​​D10​​ все преимущества перехода​​ функции​​(номер_строки)​
​ за помощь.​ как и должны.​ и строкам​ что не препятствует,​Если аргумент [тип_сопоставления] явно​Пример поиска:​ формула при отсутствии​ D. Рекомендуем посмотреть​ближайшее​ЕСЛИОШИБКА​Lookup table​ запишем шаблон формулы.​=ИНДЕКС($A$2:$A$10;ПОИСКПОЗ(«Russia»;$B$2:$B$10;0))​
​значение, указанное в​​ с​​ПОИСКПОЗ​Если указаны оба аргумента,​_Boroda_​
​ Сохраняю файл, закрываю​
​По сути содержимое диапазона​ чтобы приведенный этот​ не указан или​
​Пример 2. В Excel​ в таблице исходного​

​ на формулу для​​к критерию число​​очень прост:​​расположены в произвольном​
​ Для этого возьмём​Подсказка:​ ячейке​ВПР​

​и​​ то функция​: Так нужно?​ книгу, открываю снова​

​ нас вообще не​​ скелет формулы применить​ принимает число 0,​ хранятся две таблицы,​​ числа сама подбирала​​ получения целого адреса​если обнаружено 2 ближайших​IFERROR(value,value_if_error)​

​ порядке.​​ уже знакомую нам​​Правильным решением будет​​A2​на связку​ИНДЕКС​ИНДЕКС​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММЕСЛИ(Данные!B$7:B$99;A2&»*»;Данные!D$7:D$99)​ и… меню не​ интересует, нам нужен​
​ с использованием более​​ для поиска частичного​ которые на первый​ ближайшее значение, которое​ текущей ячейки.​ числа (одно больше,​ЕСЛИОШИБКА(значение;значение_если_ошибка)​Вот такая формула​
​ формулу​ всегда использовать абсолютные​:​ИНДЕКС​могут работать вместе.​возвращает значение из​Только вовнутрь «Пицца​ выпадает. Спасает либо​ просто счетчик строк.​ сложных функций для​ совпадения текстовых значений​ взгляд кажутся одинаковыми.​ содержит таблица. Чтобы​Теперь получим номер строки​ другое меньше критерия),​Где аргумент​ИНДЕКС​ИНДЕКС​ ссылки для​=VLOOKUP(A2,B5:D10,3,FALSE)​и​ПОИСКПОЗ​ ячейки, находящейся на​ Барбекю » включится​

​ ручной ввод в​​ То есть изменить​ реализации максимально комфортного​ могут быть использованы​ Было решено сравнить​
​ создать такую программу​ для этого же​ то выводится то,​value​/​/​ИНДЕКС​=ВПР(A2;B5:D10;3;ЛОЖЬ)​ПОИСКПОЗ​
​определяет относительную позицию​ пересечении указанных строки​ еще и «Пицца​ эту строку, либо​ аргументы на: СТРОКА(B2:B11)​ анализа отчета по​ подстановочные знаки («?»​ по одному однотипному​ для анализа таблиц​ значения (5277). Для​

​ которое больше​​(значение) – это​​ПОИСКПОЗ​​ПОИСКПОЗ​и​Формула не будет работать,​, а тратить время​ искомого значения в​ и столбца.​ Барбекю Веселая». Вам​

excelworld.ru

поиск значения в массиве (поиск)

​ надо заново указать​​ или СТРОКА(С2:С11) –​ продажам.​
​ — замена одного​ столбцу этих таблиц​ в ячейку F1​ этого в ячейку​=МИН(ЕСЛИ(МИН(ABS(A4:A15-C4))=ABS(A4:A15-C4);A4:A15;МАКС(A4:A15)))​ значение, проверяемое на​решает задачу:​и добавим в​

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

​ диапазон. Это глюк​​ это никак не​Например, как эффектно мы​
​ любого символа, «*»​

​ на наличие несовпадений.​​ введите новую формулу:​ C3 введите следующую​

excelworld.ru

Проверка значений ячеек на наличие их в массиве

​ищется​​ предмет наличия ошибки​
​{=INDEX(‘Lookup table’!$A$2:$C$13,MATCH(1,(A2=’Lookup table’!$A$2:$A$13)*​ неё ещё одну​, чтобы диапазоны поиска​ ячейке​ сложной формулы никто​ а​INDEX​feik​ Excel или я​ повлияет на качество​ отобразили месяц, в​ — замена любого​ Реализовать способ сравнения​После чего следует во​
​ формулу:​ближайшее​ (в нашем случае​(B2=’Lookup table’!$B$2:$B$13),0),3)}​
​ функцию​

​ не сбились при​​A2​
​ не хочет.​

​ИНДЕКС​​(ИНДЕКС):​: _Boroda_, Эмм… Да!)))​ не правильно что​

​ формулы. Главное, что​​ котором была максимальная​

planetaexcel.ru

Поиск всех совпадений в массиве и возврат их значений (Макросы/Sub)

​ количества символов).​​ двух диапазонов ячеек.​
​ всех остальных формулах​
​После ввода формулы для​к критерию число​
​ – результат формулы​{=ИНДЕКС(‘Lookup table’!$A$2:$C$13;ПОИСКПОЗ(1;(A2=’Lookup table’!$A$2:$A$13)*​ПОИСКПОЗ​ копировании формулы в​длиннее 255 символов.​Далее я попробую изложить​использует это число​=INDEX(A1:C10,2,3)​ Огромное спасибо Вам!)​ то делаю?​
​ в этих диапазонах​ продажа, с помощью​Если в объекте данных,​Вид таблицы данных:​ изменить ссылку вместо​ подтверждения снова нажимаем​
​если обнаружено 2 ближайших​ИНДЕКС​(B2=’Lookup table’!$B$2:$B$13);0);3)}​, которая будет возвращать​ другие ячейки.​ Вместо неё Вам​ главные преимущества использования​ (или числа) и​=ИНДЕКС(A1:C10;2;3)​ Супер, все гениальное​AlexM​
​ по 10 строк,​ второй формулы. Не​ переданном в качестве​Для сравнения значений, находящихся​ B1 должно быть​ комбинацию клавиш CTRL+SHIFT+Enter​
​ числа (одно больше,​/​Эта формула сложнее других,​ номер столбца.​Вы можете вкладывать другие​ нужно использовать аналогичную​ПОИСКПОЗ​
​ возвращает результат из​Формула выполняет поиск в​ просто!!))​
​: Правильно. Пустая ячейка​ как и в​

​ сложно заметить что​​ аргумента просматриваемый_массив, содержится​
​ в столбце B:B​
​ F1! Так же​ и получаем результат:​ другое меньше критерия),​ПОИСКПОЗ​ которые мы обсуждали​

​=INDEX(Ваша таблица,(MATCH(значение для вертикального​​ функции Excel в​ формулу​и​ соответствующей ячейки.​hands hands hands clap clap clap yahoo yahoo

excelworld.ru

​ диапазоне​

Поиск значений в списке данных

Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

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

Что необходимо сделать

  • Точное совпадение значений по вертикали в списке

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

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

  • Точное совпадение значений по горизонтали в списке

  • Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения

  • Создание формулы подступа с помощью мастера подметок (только в Excel 2007)

Точное совпадение значений по вертикали в списке

Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.

Примеры ВРОТ

Пример 1 функции ВПР

Пример 2 функции ВПР

Дополнительные сведения см. в этой информации.

Примеры индексов и совпадений

Функции ИНДЕКС и ПОИСКПОЗ можно использовать вместо функции ВПР

Что означает:

=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))

Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».

Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.

К началу страницы

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

Для этого используйте функцию ВЛВП.

Важно:  Убедитесь, что значения в первой строке отсортировали в порядке возрастания.

Пример формулы ВЛП, которая ищет приблизительное совпадение

В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.

Дополнительные сведения см. в этой информации.

К началу страницы

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

Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.

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

Пример функций OFFSET и MATCH

C1 — это левые верхние ячейки диапазона (также называемые начальной).

MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.

1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.

К началу страницы

Точное совпадение значений по горизонтали в списке

Для этого используйте функцию ГГПУ. См. пример ниже.

Пример формулы ГВП, которая ищет точное совпадение

Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.

К началу страницы

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

Для этого используйте функцию ГГПУ.

Важно:  Убедитесь, что значения в первой строке отсортировали в порядке возрастания.

Пример формулы ГВП, которая ищет приблизительное совпадение

В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.

Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.

К началу страницы

Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )

Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).

В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.

  1. Щелкните ячейку в диапазоне.

  2. На вкладке Формулы в группе Решения нажмите кнопку Под поиск.

  3. Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.

    Загрузка надстройки «Мастер подстройок»

  4. Нажмите кнопку Microsoft Office Изображение кнопки Office , выберите Параметры Excel и щелкните категорию Надстройки.

  5. В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.

  6. В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.

  7. Следуйте инструкциям мастера.

К началу страницы

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

Функция ПОИСКПОЗ в Excel используется для поиска точного совпадения или ближайшего (меньшего или большего заданному в зависимости от типа сопоставления, указанного в качестве аргумента) значения заданному в массиве или диапазоне ячеек и возвращает номер позиции найденного элемента.

Примеры использования функции ПОИСКПОЗ в Excel

Например, имеем последовательный ряд чисел от 1 до 10, записанных в ячейках B1:B10. Функция =ПОИСКПОЗ(3;B1:B10;0) вернет число 3, поскольку искомое значение находится в ячейке B3, которая является третьей от точки отсчета (ячейки B1).

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

Например, массив {«виноград»;»яблоко»;»груша»;»слива»} содержит элементы, которые можно представить как: 1 – «виноград», 2 – «яблоко», 3 – «груша», 4 – «слива», где 1, 2, 3, 4 – ключи, а названия фруктов – значения. Тогда функция =ПОИСКПОЗ(«яблоко»;{«виноград»;»яблоко»;»груша»;»слива»};0) вернет значение 2, являющееся ключом второго элемента. Отсчет выполняется не с 0 (нуля), как это реализовано во многих языках программирования при работе с массивами, а с 1.

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



Формула для поиска неточного совпадения текста в Excel

Пример 1. Найти позицию первого частичного совпадения строки в диапазоне ячеек, хранящих текстовые значения.

Вид исходной таблицы данных:

Пример 1.

Для нахождения позиции текстовой строки в таблице используем следующую формулу:

=ПОИСКПОЗ(D2&»*»;B:B;0)-1

Описание аргументов:

  • D2&»*» – искомое значение, состоящее и фамилии, указанной в ячейке B2, и любого количества других символов (“*”);
  • B:B – ссылка на столбец B:B, в котором выполняется поиск;
  • 0 – поиск точного совпадения.

Из полученного значения вычитается единица для совпадения результата с id записи в таблице.

Пример поиска:

ПОИСКПОЗ.

Сравнение двух таблиц в Excel на наличие несовпадений значений

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

Вид таблицы данных:

Пример 2.

Для сравнения значений, находящихся в столбце B:B со значениями из столбца A:A используем следующую формулу массива (CTRL+SHIFT+ENTER):

Функция ПОИСКПОЗ выполняет поиск логического значения ИСТИНА в массиве логических значений, возвращаемых функцией СОВПАД (сравнивает каждый элемент диапазона A2:A12 со значением, хранящимся в ячейке B2, и возвращает массив результатов сравнения). Если функция ПОИСКПОЗ нашла значение ИСТИНА, будет возвращена позиция его первого вхождения в массив. Функция ЕНД возвратит значение ЛОЖЬ, если она не принимает значение ошибки #Н/Д в качестве аргумента. В этом случае функция ЕСЛИ вернет текстовую строку «есть», иначе – «нет».

Чтобы вычислить остальные значения «протянем» формулу из ячейки C2 вниз для использования функции автозаполнения. В результате получим:

сравнения значений.

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

Поиск ближайшего большего знания в диапазоне чисел Excel

Пример 3. Найти ближайшее меньшее числу 22 в диапазоне чисел, хранящихся в столбце таблицы Excel.

Вид исходной таблицы данных:

Пример 3.

Для поиска ближайшего большего значения заданному во всем столбце A:A (числовой ряд может пополняться новыми значениями) используем формулу массива (CTRL+SHIFT+ENTER):

Функция ПОИСКПОЗ возвращает позицию элемента в столбце A:A, имеющего максимальное значение среди чисел, которые больше числа, указанного в ячейке B2. Функция ИНДЕКС возвращает значение, хранящееся в найденной ячейке.

Результат расчетов:

поиск ближайшего большего значения.

Для поиска ближайшего меньшего значения достаточно лишь немного изменить данную формулу и ее следует также ввести как массив (CTRL+SHIFT+ENTER):

Результат поиска:

поиск ближайшего меньшего.

Особенности использования функции ПОИСКПОЗ в Excel

Функция имеет следующую синтаксическую запись:

=ПОИСКПОЗ(искомое_значение;просматриваемый_массив;[тип_сопоставления])

Описание аргументов:

  • искомое_значение – обязательный аргумент, принимающий текстовые, числовые значения, а также данные логического и ссылочного типов, который используется в качестве критерия поиска (для сопоставления величин или нахождения точного совпадения);
  • просматриваемый_массив – обязательный аргумент, принимающий данные ссылочного типа (ссылки на диапазон ячеек) или константу массива, в которых выполняется поиск позиции элемента согласно критерию, заданному первым аргументом функции;
  • [тип_сопоставления] – необязательный для заполнения аргумент в виде числового значения, определяющего способ поиска в диапазоне ячеек или массиве. Может принимать следующие значения:
  1. -1 – поиск наименьшего ближайшего значения заданному аргументом искомое_значение в упорядоченном по убыванию массиве или диапазоне ячеек.
  2. 0 – (по умолчанию) поиск первого значения в массиве или диапазоне ячеек (не обязательно упорядоченном), которое полностью совпадает со значением, переданным в качестве первого аргумента.
  3. 1 – Поиск наибольшего ближайшего значения заданному первым аргументом в упорядоченном по возрастанию массиве или диапазоне ячеек.

Скачать примеры ПОИСКПОЗ для поиска совпадения значений в Excel

Примечания:

  1. Если в качестве аргумента искомое_значение была передана текстовая строка, функция ПОИСКПОЗ вернет позицию элемента в массиве (если такой существует) без учета регистра символов. Например, строки «МоСкВа» и «москва» являются равнозначными. Для различения регистров можно дополнительно использовать функцию СОВПАД.
  2. Если поиск с использованием рассматриваемой функции не дал результатов, будет возвращен код ошибки #Н/Д.
  3. Если аргумент [тип_сопоставления] явно не указан или принимает число 0, для поиска частичного совпадения текстовых значений могут быть использованы подстановочные знаки («?» — замена одного любого символа, «*» — замена любого количества символов).
  4. Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.

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


Подпишитесь на наши каналы, чтобы не пропустить интересные новости и полезные статьи

1 Сравнение с помощью простого поиска 

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

  1. Перейти на главную вкладку табличного процессора. 
  2. В группе «Редактирование» выбрать пункт поиска. 
  3. Выделить столбец, в котором будет выполняться поиск совпадений — например, второй. 
  4. Вручную задавать значения из основного столбца (в данном случае — первого) и искать совпадения. 

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

  • Как работает округление чисел в Эксель: принципы и настройки

2 Операторы ЕСЛИ и СЧЕТЕСЛИ 

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

  1. Сравниваемые столбцы размещаются на одном листе. Не обязательно, чтобы они находились рядом друг с другом. 
  2. В третьем столбце, например, в ячейке J6, ввести формулу такого типа: =ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(H6;$I$6:$I$14;0));»;H6) 
  3. Протянуть формулу до конца столбца. 

Результатом станет появление в третьей колонке всех совпадающих значений. Причем H6 в примере — это первая ячейка одного из сравниваемых столбцов. А диапазон $I$6:$I$14 — все значения второй участвующей в сравнении колонки. Функция будет последовательно сравнивать данные и размещать только те из них, которые совпали. Однако выделения обнаруженных совпадений не происходит, поэтому методика подходит далеко не для всех ситуаций. 

Еще один способ предполагает поиск не просто дубликатов в разных колонках, но и их расположения в пределах одной строки. Для этого можно применить все тот же оператор ЕСЛИ, добавив к нему еще одну функцию Excel — И. Формула поиска дубликатов для данного примера будет следующей: =ЕСЛИ(И(H6=I6); «Совпадают»; «») — ее точно так же размещают в ячейке J6 и протягивают до самого низа проверяемого диапазона. При наличии совпадений появится указанная надпись (можно выбрать «Совпадают» или «Совпадение»), при отсутствии — будет выдаваться пустота. 

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

Она имеет вид =ЕСЛИ(СЧЕТЕСЛИ($H6:$J6;$H6)=3; «Совпадают»;») и должна размещаться в верхней части следующего столбца с протягиванием вниз. Однако в формулу добавляется еще количество сравниваемых колонок — в данном случае, три. 

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

3 Формула подстановки ВПР 

Принцип действия еще одной функции для поиска дубликатов напоминает первый способ использованием оператора ЕСЛИ. Но вместо ПОИСКПОЗ применяется ВПР, которую можно расшифровать как «Вертикальный Просмотр». Для сравнения двух столбцов из похожего примера следует ввести в верхнюю ячейку (J6) третьей колонки формулу =ВПР(H6;$I$6:$I$15;1;0) и протянуть ее в самый низ, до J15. 

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

4 Функция СОВПАД 

Достаточно просто выполнить в Эксель сравнение двух столбцов с помощью еще двух полезных операторов — распространенного ИЛИ и встречающейся намного реже функции СОВПАД. Для ее использования выполняются такие действия: 

  1. В третьем столбце, где будут размещаться результаты, вводится формула =ИЛИ(СОВПАД(I6;$H$6:$H$19)) 
  2. Вместо нажатия Enter нажимается комбинация клавиш Ctr + Shift + Enter. Результатом станет появление фигурных скобок слева и справа формулы. 
  3. Формула протягивается вниз, до конца сравниваемой колонки — в данном случае проверяется наличие данных из второго столбца в первом. Это позволит изменяться сравниваемому показателю, тогда как знак $ закрепляет диапазон, с которым выполняется сравнение. 

Результатом такого сравнения будет вывод уже не найденного совпадающего значения, а булевой переменной. В случае нахождения это будет «ИСТИНА». Если ни одного совпадения не было обнаружено — в ячейке появится надпись «ЛОЖЬ». 

Стоит отметить, что функция СОВПАД сравнивает и числа, и другие виды данных с учетом верхнего регистра. А одним из самых распространенных способом использования такой формулы сравнения двух столбцов в Excel является поиска информации в базе данных. Например, отдельных видов мебели в каталоге. 

  • Как в Экселе посчитать сумму определенных ячеек

5 Сравнение с выделением совпадений цветом 

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

Порядок действий для применения методики следующий: 

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

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

6 Надстройка Inquire 

Начиная с версий MS Excel 2013 табличный процессор позволяет воспользоваться еще одной методикой — специальной надстройкой Inquire. Она предназначена для того, чтобы сравнивать не колонки, а два файла .XLS или .XLSX в поисках не только совпадений, но и другой полезной информации. 

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

 
Процесс использования надстройки включает такие действия: 

  1. Перейти к параметрам электронной таблицы. 
  2. Выбрать сначала надстройки, а затем управление надстройками COM. 
  3. Отметить пункт Inquire и нажать «ОК». 
  4. Перейти к вкладке Inquire. 
  5. Нажать на кнопку Compare Files, указать, какие именно файлы будут сравниваться, и выбрать Compare. 
  6. В открывшемся окне провести сравнения, используя показанные совпадения и различия между данными в столбцах. 

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

Читайте также:

  • 5 программ для совместной работы с документами
  • Как в Экселе протянуть формулу по строке или столбцу: 5 способов

Поиск совпадений в Excel

Рассмотрим одну из полезных опций, предлагаемую программой Microsoft Excel. Кстати, лицензионную версию этой программы вы можете купить в нашем интернет-магазине со скидкой. Цены и версии можно посмотреть здесь.

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

  1. Начнем с запуска программы Microsoft Excel, содержащую необходимую нам таблицу. Следом выделяем диапазон ячеек, нуждающихся в обработке. Речь идет об общности столбцов и ячеек, формирующих часть таблицы, либо несколько несвязанных между собой областей таблицы.
  2. Далее нам потребуется пройти следующий путь:
  • меню Excel, работаем во вкладке «ГЛАBНАЯ».
  • Находим в группе команд «CТИЛИ».
  • В открывшемся списке отмечаем «УСЛOВНОЕ ФОРМАТИРОВАНИЕ». Нас интересует пункт «ПОВТОРЯЮЩИЕСЯ ЗНАЧЕНИЯ».
  • В разделе «ПРАВИЛА BЫДЕЛЕНИЯ ЯЧЕЕК». При необходимости выбираем в списке «ПOВТОРЯЮЩИЕСЯ», что позволит отметить все ячейки в интересующей нас области, имеющие одно и более повторений.
  • Выбрав вариант «УНИКАЛЬНЫЕ», мы увидим ячейки с уникальным значением или содержанием.
  1. Программа имеет широкую линейку возможностей, в частности: можно выбрать подсветку ячеек, попавших в отбор, предусмотрен вариант выбора фона заливки (программа предоставляет 6 цветовых решений), вариации шрифтов и табличных рамок. Возможен выбор «ПОЛЬЗОВАТЕЛЬСКОГО ФОРМАТА», который позволяет создать свой вариант оформления ячеек. Для отмены выборки совпадающих ячеек нажмите ОК.

Использование функции «РАВНО»

Если нужные для выделения ячейки имеют совершенно конкретное значение, воспользуйтесь пунктом «РАВНО» в списке «УСЛОВНОЕ ФОРМАТИРОВАНИЕ», находящееся в разделе «ПРАВИЛА ВЫДЕЛЕНИЯ ЯЧЕЕК». В открывшемся диалоговом окне отметьте интересующие вас ячейки, требующие выявления дубликатов, при этом их адрес появится в соседнем диалоговом окне. Овладев этими нехитрыми навыками, вы сможете значительно сократить время на обработку табличных данных и группировку общих значений.

Видео: Поиск совпадений в Excel

Пример функции ПОИСКПОЗ для поиска совпадения значений в Excel

Функция ПОИСКПОЗ в Excel используется для поиска точного совпадения или ближайшего (меньшего или большего заданному в зависимости от типа сопоставления, указанного в качестве аргумента) значения заданному в массиве или диапазоне ячеек и возвращает номер позиции найденного элемента.

Примеры использования функции ПОИСКПОЗ в Excel

Например, имеем последовательный ряд чисел от 1 до 10, записанных в ячейках B1:B10. Функция =ПОИСКПОЗ(3;B1:B10;0) вернет число 3, поскольку искомое значение находится в ячейке B3, которая является третьей от точки отсчета (ячейки B1).

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

Например, массив <«виноград»;»яблоко»;»груша»;»слива»>содержит элементы, которые можно представить как: 1 – «виноград», 2 – «яблоко», 3 – «груша», 4 – «слива», где 1, 2, 3, 4 – ключи, а названия фруктов – значения. Тогда функция =ПОИСКПОЗ(«яблоко»;<«виноград»;»яблоко»;»груша»;»слива»>;0) вернет значение 2, являющееся ключом второго элемента. Отсчет выполняется не с 0 (нуля), как это реализовано во многих языках программирования при работе с массивами, а с 1.

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

Формула для поиска неточного совпадения текста в Excel

Пример 1. Найти позицию первого частичного совпадения строки в диапазоне ячеек, хранящих текстовые значения.

Вид исходной таблицы данных:

Для нахождения позиции текстовой строки в таблице используем следующую формулу:

Из полученного значения вычитается единица для совпадения результата с id записи в таблице.

Сравнение двух таблиц в Excel на наличие несовпадений значений

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

Вид таблицы данных:

Для сравнения значений, находящихся в столбце B:B со значениями из столбца A:A используем следующую формулу массива (CTRL+SHIFT+ENTER):

Функция ПОИСКПОЗ выполняет поиск логического значения ИСТИНА в массиве логических значений, возвращаемых функцией СОВПАД (сравнивает каждый элемент диапазона A2:A12 со значением, хранящимся в ячейке B2, и возвращает массив результатов сравнения). Если функция ПОИСКПОЗ нашла значение ИСТИНА, будет возвращена позиция его первого вхождения в массив. Функция ЕНД возвратит значение ЛОЖЬ, если она не принимает значение ошибки #Н/Д в качестве аргумента. В этом случае функция ЕСЛИ вернет текстовую строку «есть», иначе – «нет».

Чтобы вычислить остальные значения «протянем» формулу из ячейки C2 вниз для использования функции автозаполнения. В результате получим:

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

Поиск ближайшего большего знания в диапазоне чисел Excel

Пример 3. Найти ближайшее меньшее числу 22 в диапазоне чисел, хранящихся в столбце таблицы Excel.

Вид исходной таблицы данных:

Для поиска ближайшего большего значения заданному во всем столбце A:A (числовой ряд может пополняться новыми значениями) используем формулу массива (CTRL+SHIFT+ENTER):

Функция ПОИСКПОЗ возвращает позицию элемента в столбце A:A, имеющего максимальное значение среди чисел, которые больше числа, указанного в ячейке B2. Функция ИНДЕКС возвращает значение, хранящееся в найденной ячейке.

Для поиска ближайшего меньшего значения достаточно лишь немного изменить данную формулу и ее следует также ввести как массив (CTRL+SHIFT+ENTER):

Особенности использования функции ПОИСКПОЗ в Excel

Функция имеет следующую синтаксическую запись:

=ПОИСКПОЗ( искомое_значение;просматриваемый_массив; [тип_сопоставления])

  • искомое_значение – обязательный аргумент, принимающий текстовые, числовые значения, а также данные логического и ссылочного типов, который используется в качестве критерия поиска (для сопоставления величин или нахождения точного совпадения);
  • просматриваемый_массив – обязательный аргумент, принимающий данные ссылочного типа (ссылки на диапазон ячеек) или константу массива, в которых выполняется поиск позиции элемента согласно критерию, заданному первым аргументом функции;
  • [тип_сопоставления] – необязательный для заполнения аргумент в виде числового значения, определяющего способ поиска в диапазоне ячеек или массиве. Может принимать следующие значения:
  1. -1 – поиск наименьшего ближайшего значения заданному аргументом искомое_значение в упорядоченном по убыванию массиве или диапазоне ячеек.
  2. 0 – (по умолчанию) поиск первого значения в массиве или диапазоне ячеек (не обязательно упорядоченном), которое полностью совпадает со значением, переданным в качестве первого аргумента.
  3. 1 – Поиск наибольшего ближайшего значения заданному первым аргументом в упорядоченном по возрастанию массиве или диапазоне ячеек.
  1. Если в качестве аргумента искомое_значение была передана текстовая строка, функция ПОИСКПОЗ вернет позицию элемента в массиве (если такой существует) без учета регистра символов. Например, строки «МоСкВа» и «москва» являются равнозначными. Для различения регистров можно дополнительно использовать функцию СОВПАД.
  2. Если поиск с использованием рассматриваемой функции не дал результатов, будет возвращен код ошибки #Н/Д.
  3. Если аргумент [тип_сопоставления] явно не указан или принимает число 0, для поиска частичного совпадения текстовых значений могут быть использованы подстановочные знаки («?» — замена одного любого символа, «*» — замена любого количества символов).
  4. Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.

Поиск совпадений в двух списках

Тема сравнения двух списков поднималась уже неоднократно и с разных сторон, но остается одной из самых актуальных везде и всегда. Давайте рассмотрим один из ее аспектов — подсчет количества и вывод совпадающих значений в двух списках. Предположим, что у нас есть два диапазона данных, которые мы хотим сравнить:

Для удобства, можно дать им имена, чтобы потом использовать их в формулах и ссылках. Для этого нужно выделить ячейки с элементами списка и на вкладке Формулы нажать кнопку Менеджер Имен — Создать (Formulas — Name Manager — Create) . Также можно превратить таблицы в «умные» с помощью сочетания клавиш Ctrl + T или кнопки Форматировать как таблицу на вкладке Главная (Home — Format as Table) .

Подсчет количества совпадений

Для подсчета количества совпадений в двух списках можно использовать следующую элегантную формулу:

В английской версии это будет =SUMPRODUCT(COUNTIF(Список1;Список2))

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

Во-первых, функция СЧЁТЕСЛИ (COUNTIF) . Обычно она подсчитывает количество искомых значений в диапазоне ячеек и используется в следующей конфигурации:

=СЧЁТЕСЛИ( Где_искать ; Что_искать )

Обычно первый аргумент — это диапазон, а второй — ячейка, значение или условие (одно!), совпадения с которым мы ищем в диапазоне. В нашей же формуле второй аргумент — тоже диапазон. На практике это означает, что мы заставляем Excel перебирать по очереди все ячейки из второго списка и подсчитывать количество вхождений каждого из них в первый список. По сути, это равносильно целому столбцу дополнительных вычислений, свернутому в одну формулу:

Во-вторых, функция СУММПРОИЗВ (SUMPRODUCT) здесь выполняет две функции — суммирует вычисленные СЧЁТЕСЛИ совпадения и заодно превращает нашу формулу в формулу массива без необходимости нажимать сочетание клавиш Ctrl + Shift + Enter . Формула массива необходима, чтобы функция СЧЁТЕСЛИ в режиме с двумя аргументами-диапазонами корректно отработала свою задачу.

Вывод списка совпадений формулой массива

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

В английской версии это будет, соответственно:

Логика работы этой формулы следующая:

  • фрагмент СЧЁТЕСЛИ(Список2;Список1), как и в примере до этого, ищет совпадения элементов из первого списка во втором
  • фрагмент НЕ(СЧЁТЕСЛИ($E$1:E1;Список1)) проверяет, не найдено ли уже текущее совпадение выше
  • и, наконец, связка функций ИНДЕКС и ПОИСКПОЗ извлекает совпадающий элемент

Не забудьте в конце ввода этой формулы нажать сочетание клавиш Ctrl + Shift + Enter , т.к. она должна быть введена как формула массива.

Возникающие на избыточных ячейках ошибки #Н/Д можно дополнительно перехватить и заменить на пробелы или пустые строки «» с помощью функции ЕСЛИОШИБКА (IFERROR) .

Вывод списка совпадений с помощью слияния запросов Power Query

На больших таблицах формула массива из предыдущего способа может весьма ощутимо тормозить, поэтому гораздо удобнее будет использовать Power Query. Это бесплатная надстройка от Microsoft, способная загружать в Excel 2010-2013 и трансформировать практически любые данные. Мощь и возможности Power Query так велики, что Microsoft включила все ее функции по умолчанию в Excel начиная с 2016 версии.

Для начала, нам необходимо загрузить наши таблицы в Power Query. Для этого выделим первый список и на вкладке Данные (в Excel 2016) или на вкладке Power Query (если она была установлена как отдельная надстройка в Excel 2010-2013) жмем кнопку Из таблицы/диапазона (From Table) :

Excel превратит нашу таблицу в «умную» и даст ей типовое имя Таблица1. После чего данные попадут в редактор запросов Power Query. Никаких преобразований с таблицей нам делать не нужно, поэтому можно смело жать в левом верхнем углу кнопку Закрыть и загрузить — Закрыть и загрузить в. (Close & Load To. ) и выбрать в появившемся окне Только создать подключение (Create only connection) :

Затем повторяем то же самое со вторым диапазоном.

И, наконец, переходим с выявлению совпадений. Для этого на вкладке Данные или на вкладке Power Query находим команду Получить данные — Объединить запросы — Объединить (Get Data — Merge Queries — Merge) :

В открывшемся окне делаем три вещи:

  1. выбираем наши таблицы из выпадающих списков
  2. выделяем столбцы, по которым идет сравнение
  3. выбираем Тип соединения = Внутреннее (Inner Join)

После нажатия на ОК на экране останутся только совпадающие строки:

Ненужный столбец Таблица2 можно правой кнопкой мыши удалить, а заголовок первого столбца переименовать во что-то более понятное (например Совпадения). А затем выгрузить полученную таблицу на лист, используя всё ту же команду Закрыть и загрузить (Close & Load) :

Если значения в исходных таблицах в будущем будут изменяться, то необходимо не забыть обновить результирующий список совпадений правой кнопкой мыши или сочетанием клавиш Ctrl + Alt + F5 .

Макрос для вывода списка совпадений

Само-собой, для решения задачи поиска совпадений можно воспользоваться и макросом. Для этого нажмите кнопку Visual Basic на вкладке Разработчик (Developer) . Если ее не видно, то отобразить ее можно через Файл — Параметры — Настройка ленты (File — Options — Customize Ribbon) .

В окне редактора Visual Basic нужно добавить новый пустой модуль через меню Insert — Module и затем скопировать туда код нашего макроса:

Воспользоваться добавленным макросом очень просто. Выделите, удерживая клавишу Ctrl , оба диапазона и запустите макрос кнопкой Макросы на вкладке Разработчик (Developer) или сочетанием клавиш Alt + F8 . Макрос попросит указать ячейку, начиная с которой нужно вывести список совпадений и после нажатия на ОК сделает всю работу:

Более совершенный макрос подобного типа есть, кстати, в моей надстройке PLEX для Microsoft Excel.

Совпадение в столбцах Excel

Сегодня расскажу как искать совпадение в столбцах Excel. Разберем все тонкости на примерах.

Задача 1: Есть 6 текстов в 6 ячейках. Необходимо узнать, какие из них уникальные, а какие повторяются.

Использовать будем Условное форматирование.

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

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

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

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

Выбираем таблицу и заходим в Повторяющиеся значения. Все совпадения будут подсвечены.

Можно, например, найти совпадения в одном столбце. Для этого достаточно перед применением опции выделить только его.

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

Искать таким образом можно буквы, слова, символы, тексты и т.д.

Как сравнить два столбца в Excel на совпадения

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

Как сравнить два столбца в Excel по строкам

Сравнивая два столбца с данными часто необходимо сравнивать данные в каждой отдельной строке на совпадения или различия. Сделать такой анализ мы можем с помощью функции ЕСЛИ . Рассмотрим как это работает на примерах ниже.

Пример 1. Как сравнить два столбца на совпадения и различия в одной строке

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

Для того чтобы проверить, содержат ли два столбца одной строки одинаковые данные нам потребуется формула:

=ЕСЛИ(A2=B2; “Совпадают”; “”)

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

=ЕСЛИ(A2<>B2; “Не совпадают”; “”)

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

=ЕСЛИ(A2=B2; “Совпадают”; “Не совпадают”)

=ЕСЛИ(A2<>B2; “Не совпадают”; “Совпадают”)

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

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

=ЕСЛИ(СОВПАД(A2,B2); “Совпадает”; “Уникальное”)

Как сравнить несколько столбцов на совпадения в одной строке Excel

В Excel есть возможность сравнить данные в нескольких столбцах одной строки по следующим критериям:

  • Найти строки с одинаковыми значениями во всех столбцах таблицы;
  • Найти строки с одинаковыми значениями в любых двух столбцах таблицы;

Пример1. Как найти совпадения в одной строке в нескольких столбцах таблицы

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

=ЕСЛИ(И(A2=B2;A2=C2); “Совпадают”; ” “)

Если в нашей таблице очень много столбцов, то более просто будет использовать функцию СЧЁТЕСЛИ в сочетании с ЕСЛИ :

=ЕСЛИ(СЧЁТЕСЛИ($A2:$C2;$A2)=3;”Совпадают”;” “)

В формуле в качестве “5” указано число столбцов таблицы, для которой мы создали формулу. Если в вашей таблице столбцов больше или меньше, то это значение должно быть равно количеству столбцов.

Пример 2. Как найти совпадения в одной строке в любых двух столбцах таблицы

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

=ЕСЛИ(ИЛИ(A2=B2;B2=C2;A2=C2);”Совпадают”;” “)

В тех случаях, когда в нашей таблице слишком много столбцов – наша формула с функцией ИЛИ будет очень большой, так как в ее параметрах нам нужно указать критерии совпадения между каждым столбцом таблицы. Более простой способ, в этом случае, использовать функцию СЧЁТЕСЛИ .

=ЕСЛИ(СЧЁТЕСЛИ(B2:D2;A2)+СЧЁТЕСЛИ(C2:D2;B2)+(C2=D2)=0; “Уникальная строка”; “Не уникальная строка”)

Первая функция СЧЁТЕСЛИ вычисляет количество столбцов в строке со значением в ячейке А2 , вторая функция СЧЁТЕСЛИ вычисляет количество столбцов в таблице со значением из ячейки B2 . Если результат вычисления равен “0” – это означает, что в каждой ячейке, каждого столбца, этой строки находятся уникальные значения. В этом случае формула выдаст результат “Уникальная строка”, если нет, то “Не уникальная строка”.

Как сравнить два столбца в Excel на совпадения

Представим, что наша таблица состоит из двух столбцов с данными. Нам нужно определить повторяющиеся значения в первом и втором столбцах. Для решения задачи нам помогут функции ЕСЛИ и СЧЁТЕСЛИ .

=ЕСЛИ(СЧЁТЕСЛИ($B:$B;$A5)=0; “Нет совпадений в столбце B”; “Есть совпадения в столбце В”)

Эта формула проверяет значения в столбце B на совпадение с данными ячеек в столбце А.

Если ваша таблица состоит из фиксированного числа строк, вы можете указать в формуле четкий диапазон (например, $B2:$B10 ). Это позволит ускорить работу формулы.

Как сравнить два столбца в Excel на совпадения и выделить цветом

Когда мы ищем совпадения между двумя столбцами в Excel, нам может потребоваться визуализировать найденные совпадения или различия в данных, например, с помощью выделения цветом. Самый простой способ для выделения цветом совпадений и различий – использовать “Условное форматирование” в Excel. Рассмотрим как это сделать на примерах ниже.

Поиск и выделение совпадений цветом в нескольких столбцах в Эксель

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

  • Выделить столбцы с данными, в которых нужно вычислить совпадения;
  • На вкладке “Главная” на Панели инструментов нажимаем на пункт меню “Условное форматирование” -> “Правила выделения ячеек” -> “Повторяющиеся значения”;
  • Во всплывающем диалоговом окне выберите в левом выпадающем списке пункт “Повторяющиеся”, в правом выпадающем списке выберите каким цветом будут выделены повторяющиеся значения. Нажмите кнопку “ОК”:
  • После этого в выделенной колонке будут подсвечены цветом совпадения:

Поиск и выделение цветом совпадающих строк в Excel

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

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

Рассмотрим как найти совпадающие строки в таблице:

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

=A2&B2&C2&D2

Во вспомогательной колонке вы увидите объединенные данные таблицы:

Теперь, для определения совпадающих строк в таблице сделайте следующие шаги:

  • Выделите область с данными во вспомогательной колонке (в нашем примере это диапазон ячеек E2:E15 );
  • На вкладке “Главная” на Панели инструментов нажимаем на пункт меню “Условное форматирование” -> “Правила выделения ячеек” -> “Повторяющиеся значения”;
  • Во всплывающем диалоговом окне выберите в левом выпадающем списке “Повторяющиеся”, в правом выпадающем списке выберите каким цветом будут выделены повторяющиеся значения. Нажмите кнопку “ОК”:
  • После этого в выделенной колонке будут подсвечены дублирующиеся строки:

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

Но что, если нам нужно выделить цветом строки не во вспомогательном столбце, а сами строки в таблице с данными?

Для этого сделаем следующее:

  • Так же как и в примере выше создадим вспомогательный столбец, в каждой строке которого проставим следующую формулу:

=A2&B2&C2&D2

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

  • Теперь, выделим все данные таблицы (за исключением вспомогательного столбца). В нашем случае это ячейки диапазона A2:D15 ;
  • Затем, на вкладке “Главная” на Панели инструментов нажмем на пункт “Условное форматирование” -> “Создать правило”:

  • В диалоговом окне “Создание правила форматирования” кликните на пункт “Использовать формулу для определения форматируемых ячеек” и в поле “Форматировать значения, для которых следующая формула является истинной” вставьте формулу:

=СЧЁТЕСЛИ($E$2:$E$15;$E2)>1

  • Не забудьте задать формат найденных дублированных строк.

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

Ссылка на это место страницы:
#title

  1. Получить первое не пустое значение в списке
  2. Получить первое текстовое значение в списке
  3. Получить первое текстовое значение с ГПР
  4. Получить позицию последнего совпадения
  5. Получить последнее совпадение содержимого ячейки
  6. Получить n-е совпадение
  7. Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
  8. Получить n-ое совпадение с ВПР
  9. Если ячейка содержит одну из многих вещей
  10. Поиск первой ошибки
  11. Поиск следующего наибольшего значения
  12. Несколько совпадений в списке, разделенных запятой
  13. Частичное совпадение чисел с шаблоном
  14. Частичное совпадение с ВПР
  15. Положение первого частичного совпадения
  16. Скачать файл

Ссылка на это место страницы:
#punk01

{ = ИНДЕКС( диапазон ; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( диапазон ); 0 )) }

{ = INDEX( диапазон ; MATCH( FALSE; ISBLANK ( диапазон ); 0 )) }

Если вам нужно получить первое не пустое значение (текст или число) в диапазоне в одной колонке вы можете использовать формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ и ЕПУСТО.

В данном примере мы используем эту формулу:

{ = ИНДЕКС( B3: B11; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( B3: B11 ); 0 )) }

{ = INDEX( B3:B11; MATCH( FALSE; ISBLANK ( B3:B11 ); 0 )) }

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

Таким образом, нам нужно строить функциональные возможности для нужных нам формул. Способ сделать это состоит в использовании функции массива, которая «тестирует» ячейки и возвращает массив истина/ложь значения, которые мы можем сопрягать с ПОИСКПОЗ.

Работая изнутри, ЕПУСТО оценивает ячейки в диапазоне В3: В11 и возвращает результат и массив, который выглядит следующим образом:

{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА}

Каждая ЛОЖЬ представляет собой ячейку в диапазоне, который не является пустой.

Далее, ПОИСКПОЗ ищет ЛОЖЬ внутри массива и возвращает позицию первого наденного совпадения, в этом случае 2. На данный момент, формула в примере теперь выглядит следующим образом:

{ = ИНДЕКС( B3: B11; 2; 0 )) }

{ = INDEX( B3:B11; 2; 0 )) }

И, наконец, функция ИНДЕКС выводит значение в положении 2 в массиве, в этом случае число 10.

Ссылка на это место страницы:
#punk02

= ВПР ( «*»; диапазон; 1; ЛОЖЬ)

= VLOOKUP ( «*»; диапазон; 1; FALSE)

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

В данном примере формула в D7 является:

= ВПР ( «*» ; B5: B11 ; 1 ; ЛОЖЬ)

= VLOOKUP ( «*» ; B5:B11 ; 1 ; FALSE)

Групповой символ звездочка (*) соответствует любому текстовому значению.

Ссылка на это место страницы:
#punk03

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

= HLOOKUP ( «*»; диапазон; 1; FALSE)

Для поиска и получения первого текстового значения во всем диапазоне столбцов, вы можете использовать функцию ГПР с групповым символом. В примере формула в F5 является:

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

= HLOOKUP ( «*»; диапазон; 1; FALSE)

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

Ссылка на это место страницы:
#punk04

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

= HLOOKUP ( «*»; диапазон; 1; FALSE)

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

=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))

=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))

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

Ссылка на это место страницы:
#punk05

=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))

=MAX(IF(B4:B11=G5;ROW(B4:B11)-ROW(INDEX(B4:B11;1;1))+1))

Чтобы проверить ячейку для одной из нескольких вещей, и вернуть последнее совпадение, найденное в списке, вы можете использовать формулу, основанную на ПРОСМОТР и ПОИСК функций. В случае нескольких найденных совпадений, формула вернет последнее совпадение из списка «вещей».

=ПРОСМОТР(2;1/ПОИСК($E$4:$E$7;B4);$E$4:$E$7)

=LOOKUP(2;1/SEARCH($E$4:$E$7;B4);$E$4:$E$7)

Ссылка на это место страницы:
#punk06

= НАИМЕНЬШИЙ( ЕСЛИ( логический тест; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); n )

= SMALL( IF( логический тест; СТРОКА( список ) — MIN( ROW( список )) + 1 ); n )

Для того, чтобы получить позицию n-го совпадения (например, второе значение соответствия заданному, третье значение соответствия и т.д.), вы можете использовать формулу, основанную на функции НАИМЕНЬШИЙ.

= НАИМЕНЬШИЙ( ЕСЛИ( список = E5 ; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); F5 )

= SMALL( IF( список = E5 ; ROW( список ) — MIN( ROW( список )) + 1 ); F5 )

Эта формула возвращает позицию второго появления «красных» в списке.

Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.

Ссылка на это место страницы:
#punk07

{ = ИНДЕКС( массив; НАИМЕНЬШИЙ( ЕСЛИ( величины = знач ; СТРОКА ( величины ) — СТРОКА ( ИНДЕКС( величины; 1 ; 1 )) + 1 ); n-й )) }

{ = INDEX( массив; SMALL( IF( величины = знач ; ROW ( величины ) — ROW ( INDEX( величины; 1 ; 1 )) + 1 ); n-й )) }

Эта формула возвращает позицию второго появления «красных» в списке.

Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.

Ссылка на это место страницы:
#punk08

= ВПР( id_формулы; стол; 4; 0 )

= VLOOKUP( id_формулы; стол; 4; 0 )

Чтобы получить n-ое совпадение с ВПР, вам необходимо добавить вспомогательный столбец в таблицу , которая строит уникальный идентификатор , который включает счетчик.

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

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

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

=ВПР(J3&»-«&I6;B4:G11;4;0)

=VLOOKUP(J3&»-«&I6;B4:G11;4;0)

Ссылка на это место страницы:
#punk09

{ = ИНДЕКС( результаты ;ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК( вещи ; A1 )); 0 )) }

{ = INDEX( результаты ;MATCH( TRUE ; ISNUMBER( SEARCH( вещи ; A1 )); 0 )) }

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

{ = ИНДЕКС( результаты ; ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК ( вещи ; B5 )); 0 )) }

= INDEX( результаты ; MATCH( TRUE ; ISNUMBER( SEARCH ( вещи ; B5 )); 0 ))

Эта формула использует два названных диапазона: E5: E8 называется «вещи» и F5: F8 называется «Результаты». Убедитесь, что вы используете диапазоны имен с одинаковыми именами (на основе ваших данных). Если вы не хотите использовать именованные диапазоны, используйте абсолютные ссылки вместо этого.

Ссылка на это место страницы:
#punk10

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА(диап ); 0 ) }

{ = MATCH( TRUE ; ISERROR(диап ); 0 ) }

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

В приведенном примере формула:

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА( B4: B11 ); 0 ) }

{ = MATCH( TRUE ; ISERROR( B4:B11 ); 0 ) }

Работая изнутри, функция ЕОШИБКА возвращает значение ИСТИНА, если значение является признанной ошибкой, и ЛОЖЬ, если нет.

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

{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}

Обратите внимание, что 6-е значение (что соответствует 6-й ячейке в диапазоне) истинно, так как ячейка В9 содержит #Н/A.

Ссылка на это место страницы:
#punk11

=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )

=INDEX ( данные; MATCH( поиск ; значения ) + 1 )

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

=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )

=INDEX ( данные; MATCH( поиск ; значения ) + 1 )

Ссылка на это место страницы:
#punk12

{ = ОБЪЕДИНИТЬ ( «;» ; ИСТИНА ; ЕСЛИ( диапазон1 = E5 ; диапазон2 ; «» )) }

{ = ОБЪЕДИНИТЬ ( «;» ; TRUE ; IF( диапазон1 = E5 ; диапазон2 ; «» )) }

Для поиска и извлечения нескольких совпадений, разделенных запятыми (в одной ячейке), вы можете использовать функцию ЕСЛИ с функцией ОБЪЕДИНИТЬ.

{ = ОБЪЕДИНИТЬ( «;» ; ИСТИНА ; ЕСЛИ( группа = E5 ; имя ; «» )) }

Эта формула использует «имя» — именованный диапазон (B5: B11) и «группа» — (C5: C11).

Ссылка на это место страницы:
#punk13

{ = ПОИСКПОЗ( «*» & номер & «*» ; ТЕКСТ( диапазон ; «0» ); 0 ) }

{ = MATCH( «*» & номер & «*» ; TEXT( диапазон ; «0» ); 0 ) }

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

Excel поддерживает символы подстановки «*» и «?». Тем не менее, если вы используете специальные символы с номером, вы будете преобразовывать числовое значение в текстовое значение. Другими словами, «*» & 99 & «*» = «* 99 *» (текстовая строка).

Если попытаться найти текстовое значение в диапазоне чисел, совпадение завершится неудачно.

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

Другой способ, чтобы преобразовать числа в текст, чтобы сцепить пустую строку. Эта формула работает так же, как выше формуле:

= ПОИСКПОЗ ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )

= MATCH ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )

Ссылка на это место страницы:
#punk14

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

В примере формула ВПР выглядит следующим образом:

=ВПР($H$2&»*»;$B$3:$E$12;2;0)

=VLOOKUP($H$2&»*»;$B$3:$E$12;2;0)

В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:

Ссылка на это место страницы:
#punk15

= ПОИСКПОЗ ( «* текст *» ; диапазон; 0 )

= MATCH ( «* текст *» ; диапазон; 0 )

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

=ПОИСКПОЗ(«*»&E6&»*»;B5:B10;0)

=MATCH(«*»&E6&»*»;B5:B10;0)

Функция ПОИСКПОЗ возвращает позицию или «индекс» в первом совпадении на основании значения поиска в диапазоне.

ПОИСКПОЗ поддерживает подстановочное согласование со звездочкой «*» (один или несколько символов) или знаком вопроса «?» (один символ), но только тогда, когда третий аргумент, тип_сопоставления, установлен в ЛОЖЬ или ноль.

Ссылка на это место страницы:
#punk16

Файлы статей доступны только зарегистрированным пользователям.

1. Введите свою почту

2. Нажмите Зарегистрироваться

3. Обновите страницу
Вместо этого блока появится ссылка для скачивания материалов.

Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель — помочь вам эффективнее работать в Excel. 

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

Подписывайтесь на нас в соц.сетях:

Время на прочтение
16 мин

Количество просмотров 236K

Добрый день, уважаемые хаброжители!

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

Поиск выдал мне всего одну статью на Хабре по схожей тематике — «Талмуд по формулам в Google SpreadSheet». В ней дано хорошее описание базовых вещей для работы в excel (хотя он и не 100% про сам excel).

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

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

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

Кейс_1: Логические функции и функции поиска совпадений
«У меня есть набор значений в табличке и необходимо что бы при выполнении определенного условия/набора условий выводилось определенное значение» (с) Пользователь

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

image

Условие:

  • если значение в столбце «Количество» больше 5,
  • то нужно вывести в колонке «Результат» значение «Заказ не требуется»,

В этом нам поможет формула «ЕСЛИ» (IF), которая относится к логическим формулам и может выдавать в решении любые значения, которые мы заранее записываем в формуле. Обращаю внимание, что любые текстовые значения записываются, используя кавычки.

Синтаксис формулы следующий:
ЕСЛИ(лог_выражение, [значение_если_истина], [значение_если_ложь])

  • Лог_выражение — выражение, дающее в результате значение ИСТИНА или ЛОЖЬ.
  • Значение_если_истина — значение, которое выводится, если логическое выражение истинно
  • Значение_если_ложь — значение, которое выводится, если логическое выражение ложно

Синтаксис формулы для решения:
Вывод результата в ячейку D2:

=ЕСЛИ(C5>5;«Заказ не требуется»;«Необходим заказ»)

На выходе получаем результат:

image

Бывает, что условие носит более сложный характер, например выполнение 2-х и более условий:

  • если значение в столбце «Количество» больше 5, а значение в колонке «Тип» равно «А»
  • то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».

В данном случае мы уже не можем ограничиться использованием одной только формулы «ЕСЛИ», необходимо добавить в ее синтаксис другую формулу. И это будет еще одна логическая формула «И» (AND).
Синтаксис формулы следующий:
И(логическое_значение1, [логическое_значение2], …)

  • Логическое_значение1-2 и т.д. — проверяемое условие, вычисление которого дает значение ИСТИНА или ЛОЖЬ

Синтаксис решения будет следующим:
Вывод результата в ячейку D2:

=ЕСЛИ(И(C2>5;B2=«А»);1;0)

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

image

Попробуем усложнить задачу – новое условие:

  • если значение в столбце «Количество» равно 10, а значение в колонке «Тип» равно «А»
  • или же значение в столбце «Количество» больше или равно 5, а значение «Тип» равен «Б»
  • то нужно вывести в колонке «Результат» значение «1», в обратном случае «0».

Синтаксис решения будет следующим:
Вывод результата в ячейку D2:

=ЕСЛИ(ИЛИ(И(C2=10;B2=«А»); И(C2>=5;B2=«Б»));1;0)

Как видно из записи, в формулу «ЕСЛИ» включено одно условие «ИЛИ» (OR) и два условия с использованием формулы «И», включенных в него. Если хотя бы одно из условий 2-го уровня имеет значение «ИСТИНА», то в колонку «Результат» будет выведен результат «1», в противном случае будет «0».
Результат:

image

Теперь перейдем к следующей ситуации:
Представим, что в зависимости от значения в столбце «Условие» должно выводиться определенное условие в столбце «Результат», ниже приведено соответствие значений и результата.
Условие:

  • 1 = А
  • 2 = Б
  • 3 = В
  • 4 = Г

При решении задачи с помощью функции «ЕСЛИ», синтаксис будет следующим:
Вывод результата в ячейку B2:

=ЕСЛИ(A2=1;«А»; ЕСЛИ(A2=2;«Б»; ЕСЛИ(A2=3;«В»; ЕСЛИ(A2=4;«Г»;0))))

Результат:

image

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

Альтернативное решение_1:
Использование формулы «ВЫБОР» (CHOOSE),
Синтаксис функции:
ВЫБОР(номер_индекса, значение1, [значение2], …)

  • Номер_индекса — номер выбираемого аргумента-значения. Номер индекса должен быть числом от 1 до 254, формулой или ссылкой на ячейку, содержащую число в диапазоне от 1 до 254.
  • Значение1, значение2,… — значение от 1 до 254 аргументов-значений, из которых функция «ВЫБОР», используя номер индекса, выбирает значение или выполняемое действие. Аргументы могут быть числами, ссылками на ячейки, определенными именами, формулами, функциями или текстом.

При ее использовании, мы сразу заносим результаты условий в зависимости от указанных значений.
Условие:

  • 1 = А
  • 2 = Б
  • 3 = В
  • 4 = Г

Синтаксис формулы:

=ВЫБОР(A2;«А»;«Б»;«В»;«Г»)

Результат аналогичен решению с цепочкой функций «ЕСЛИ» выше.
При применении этой формулы существуют следующие ограничения:
В ячейку «А2» (номер индекса) могут быть указаны только цифры, а значения результата будут выводиться в порядке возрастания от 1 до 254 значений.
Иными словами, функция будет работать только если в ячейке «А2» указаны цифры от 1 до 254 в порядке возрастания и это накладывает определенные ограничения при использовании этой формулы.
Т.е. если мы захотим, что бы значение «Г» выводилось при указании числа 5,

  • 1 = А
  • 2 = Б
  • 3 = В
  • 5 = Г

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

=ВЫБОР(A31;«А»;«Б»;«В»;;«Г»)

Как видно, значение «4» в формуле нам приходится оставить пустым и перенести результат «Г» на порядковый номер «5».

Альтернативное решение_2:
Вот мы и подошли к одной из самых популярных функций Excel, овладение которой автоматически превращает любого офисного работника в «опытного пользователя excel» /sarcasm/.
Синтаксис формулы:
ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр])

  • Искомое_значение – значение, поиск которого осуществляется функцией.
  • Таблица – диапазон ячеек, содержащий данные. Именно в этих ячейках будет происходить поиск. Значения могут быть текстовыми, числовыми или логическими.
  • Номер_столбца — номер столбца в аргументе «Таблица», из которого будет выводиться значение в случае совпадения. Важно понимать, что отсчет столбцов происходит не по общей сетке листа (A.B,C,D и т.д.), а внутри массива, указанного в аргументе «Таблица».
  • Интервальный_просмотр — определяет, какое совпадение должна найти функция — точное или приблизительное.

Важно: функция «ВПР» ищет совпадение только по первой уникальной записи, если искомое_значение присутствует в аргументе «Таблица» несколько раз и имеет разные значения, то функция «ВПР» найдет только самое ПЕРВОЕ совпадение, результаты по всем остальным совпадениям показаны не будутИспользование формулы «ВПР» (VLOOKUP) связано с еще одним подходом в работе с данными, а именно с формированием «справочников».
Суть подхода в создании «справочника» соответствия аргумента «Искомое_значение» определенному результату, отдельно от основного массива, в котором прописываются условия и соответствующие им значения:

image

Затем в рабочей части таблицы уже прописывается формула со ссылкой на справочник, заполненный ранее. Т.е. в справочнике в столбце «D» происходит поиск значения из столбца «А» и при нахождении соответствия выводится значение из столбца «Е» в столбец «В».
Синтаксис формулы:
Вывод результата в ячейку B2:

=ВПР(A2;$D$2:$E$5;2;0)

Результат:

image

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

image

Видно, что строки в столбцах «Продукт» обеих таблиц не совпадают, однако, это не является препятствием для использования функции «ВПР».
Вывод результата в ячейку B2:

=ВПР($A3;$H$3:$M$6;2;0)

Но при решении сталкиваемся с новой проблемой – при «протягивании» написанной нами формулы вправо от столбца «В» до столбца «Е», нам придется вручную заменять аргумент «номер_столбца». Дело это трудоемкое и неблагодарное, потому, на помощь нам приходит другая функция — «СТОЛБЕЦ» (COLUMN).
Синтаксис функции:
СТОЛБЕЦ([ссылка])

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

Если использовать запись типа:

=СТОЛБЕЦ()

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

=ВПР($A3;$H$3:$M$6; СТОЛБЕЦ();0)

Функция «СТОЛБЕЦ» определит номер текущего столбца, который будет использоваться аргументом «Номер_столбца» для определения номера столбца поиска в справочнике.
Кроме того, можно использовать конструкцию:

=СТОЛБЕЦ()-1

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

image

Продолжаем развивать тему и усложняем условие: представим, что у нас есть два справочника с разными данными по продуктам и необходимо вывести в таблицу с результатом значения в зависимости от того, какой тип справочника указан в колонке «Справочник»
Условие:

  • Если в столбце «Справочник» указано число 1, данные должны тянуться из таблицы «Справочник_1», если число 2, то из таблицы «Справочник_2» в соответствии с указанным месяцем

image

Вариант решения, который сразу приходит на ум, следующий:
Вывод результата в ячейку C3:

=ЕСЛИ($B3=1; ВПР($A3;$G$3:$I$6; СТОЛБЕЦ()-1;0); ВПР($A3;$K$3:$M$6; СТОЛБЕЦ()-1;0))

Плюсы: наименование справочника может быть любым (текст, цифры и их сочетание), минусы – плохо подходит, если вариантов более 3-х.
Если же номера справочников всегда представляют собой числа, имеет смысл использовать следующее решение:
Вывод результата в ячейку C3:

=ВПР($A3; ВЫБОР($B3;$G$3:$I$6;$K$3:$M$6); СТОЛБЕЦ()-1;0)

Плюсы: формула может включать до 254 наименований справочников, минусы – их наименование должно быть строго числовым.
Результат для формулы с использованием функции «ВЫБОР»:

image

Бонус: ВПР по двум и более признакам в аргументе «искомое_значение».
Условие:

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

Обе таблицы приведены ниже:

image

Как видно из табличных форм, каждая позиция имеет не только наименование (которое не является уникальным), но также и относится к определенному классу и имеет свой вариант фасовки.
Используя сочетание имени и класса и фасовки, мы можем создать новый признак, для этого в таблице с данными создаем дополнительный столбец «Доп.признак», который заполняем при помощи следующей формулы:

=H3&»_»&I3&»_»&J3

Используя символ «&», объединяем три признака в один (разделитель между словами может быть любым, как и не быть вовсе, главное использовать аналогичное правило и для поиска)
Аналогом формулы может быть функция «СЦЕПИТЬ» (CONCATENATE), в этом случае она будет выглядеть следующим образом:

=СЦЕПИТЬ(H3;»_»;I3;»_»;J3)

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

=ЕСЛИОШИБКА(ВПР(A2&»_»&B2&»_»&C2;$G$2:$K$6;5;0);0)

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

image

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

Кейс_3 Поиск значения в массиве, или когда ВПР не в силах нам помочь

Рассмотрим ситуацию, когда необходимо понять, есть ли в массиве ячеек нужные нам значения.
Задача:

  • в столбце «Условие поиска» указано значение и необходимо определить, присутствует ли оно в столбце «Массив для поиска»

Визуально все выглядит в следующем виде:

image

Как мы видим, функция «ВПР» тут бессильна, т.к. мы ищем не точное совпадение, а именно наличие в ячейке нужного нам значения.
Для решения задачи необходимо использовать комбинацию нескольких функций, а именно:
«ЕСЛИ»
«ЕСЛИОШИБКА»
«СТРОЧН»
«НАЙТИ»

По порядку обо всех, «ЕСЛИ» мы уже разобрали ранее, потому перейдем к функции «ЕСЛИОШИБКА» (IFERROR)

ЕСЛИОШИБКА(значение, значение_при_ошибке)

  • Значение — аргумент, проверяемый на возникновение ошибок.
  • Значение_при_ошибке — значение, возвращаемое при ошибке при вычислении по формуле. Возможны следующие типы ошибок: #Н/Д, #ЗНАЧ!, #ССЫЛКА!, #ДЕЛ/0!, #ЧИСЛО!, #ИМЯ? и #ПУСТО!.

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

«СТРОЧН» (LOWER)

СТРОЧН(текст)

  • Текст — текст, преобразуемый в нижний регистр.

Важно: функция «СТРОЧН» не заменяет знаки, не являющиеся буквами.
Роль в формуле: поскольку функция «НАЙТИ» (FIND) осуществляет поиск и учетом регистра текста, то необходимо привести весь текст к одному регистру, в противном случае «чАй» будет не равно «чай» и т.д. Это актуально, если значение регистра не является условием поиска и отбора значений, в противном случае формулу «СТРОЧН» можно не использовать, так поиск будет более точным.

Теперь подробнее о синтаксисе функции «НАЙТИ» (FIND).

НАЙТИ(искомый_текст, просматриваемый_текст, [нач_позиция])

  • Искомый_текст — текст, который необходимо найти.
  • Просматриваемый_текст — текст, в котором нужно найти искомый текст.
  • Нач_позиция — знак, с которого нужно начать поиск. Первый знак в тексте «просматриваемый_текст» имеет номер 1. Если номер не указан, он по умолчанию считается равным 1.

Синтаксис формулы-решения будет иметь вид:
Вывод результата в ячейку B2:

=ЕСЛИ(ЕСЛИОШИБКА(НАЙТИ(СТРОЧН(A2); СТРОЧН(E2);1);0)=0;«fail»;«bingo!»)

Разберем логику формулы по действиям:

  1. СТРОЧН(A2) – преобразует аргумент «Искомый_текст» в ячейке в А2 в текст с нижним регистром
  2. Функция «НАЙТИ» начинает поиск преобразованного аргумента «Искомый_текст» в массиве «Просматриваемый_текст», который преобразовывается функцией «СТРОЧН(E2)», также в текст с нижним регистром.
  3. В случае если, функция находит совпадение, т.е. возвращает порядковый номер первого символа совпадающего слова/значения, срабатывает условие ИСТИНА в формуле «ЕСЛИ», т.к. полученное значение не равно нулю. Как результат, в столбце «Результат» будет выведено значение «Bingo!»
  4. Если же, функция не находит совпадение т.е. порядковый номер первого символа совпадающего слова/значения не указывается и вместо значения возвращается ошибка, срабатывает условие, заложенное в формулу «ЕСЛИОШИБКА» и возвращается значение равное «0», что соответствует условию ЛОЖЬ в формуле «ЕСЛИ», т.к. полученное значение равно «0». Как результат, в столбце «Результат» будет выведено значение «fail».

image

Как видно из рисунка выше, благодаря функциям «СТРОЧН» и «НАЙТИ» мы находим искомые значения вне зависимости от регистра символов, и места нахождения в ячейке, но необходимо обратить внимание на строку 5.
Условие поиска задано как «111», но в массиве поиска указано значение «1111111 печенюшки», однако формула выдает результат «Bingo!». Это происходит потому, что значение «111» входит в ряд значений «1111111», как следствие находится совпадение. В обратном случае данное условие не сработает.

Кейс_4 Поиск значения в массиве по нескольким условиям, или когда ВПР тем более не в силах нам помочь

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

image

Условие:

  • В таблицу с результатом необходимо подтянуть данные в соответствии с совпадением условий «Наименование» и «Месяц».

Для решения подобной задачи подойдет комбинация функций «ИНДЕКС» и «ПОИСКПОЗ»

Синтаксис функции «ИНДЕКС» (INDEX)

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

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

Иными словами функция возвращает из указанного массива в аргументе «Массив» значение, которое находится на пересечении координат, указанных в аргументах «Номер_строки» и «Номер_столбца».

Синтаксис функции «ПОИСКПОЗ» (MATCH)

ПОИСКПОЗ(искомое_значение, просматриваемый_массив, [тип_сопоставления])

  • Искомое_значение — значение, которое сопоставляется со значениями в аргументе просматриваемый_массив. Аргумент искомое_значение может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую такое значение.
  • Просматриваемый_массив — диапазон ячеек, в которых производится поиск.
  • Тип_сопоставления — необязательный аргумент. Число -1, 0 или 1.

Функция ПОИСКПОЗ выполняет поиск указанного элемента в диапазоне ячеек и возвращает относительную позицию этого элемента в диапазоне.
Суть использования комбинации функций «ИНДЕКС» и «ПОИСКПОЗ» в том, то мы производим поиск координат значений по их наименованию по «осям координат».
Осью Y будет столбец «Наименование», а осью X – строка «Месяцы».

часть формулы:

ПОИСКПОЗ($A4;$I$4:$I$7;0)

возвращает число по оси Y, в данном случае оно будет равно 1, т.к. значение «А» присутствует в искомом диапазоне и имеет относительную позицию «1» в этом диапазоне.
часть формулы:

ПОИСКПОЗ(B$3;$J$3:$L$3;0)

возвращает значение #Н/Д, т.к. значение «1» отсутствует в просматриваемом диапазоне.

Таким образом, мы получили координаты точки (1; #Н/Д) которые функция «ИНДЕКС» использует для поиска в аргументе «Массив».
Полностью написанная функция для ячейки B4 будет иметь следующий вид:

=ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0))

По сути, если бы мы знали координаты нужного нам значения, функция выглядела бы следующим образом:

=ИНДЕКС($J$4:$L$7;1;#Н/Д))

Поскольку, аргумент «Номер_столбца» имеет значение «#Н/Д», то результат для ячейки «B4» будет соответствующий.
Как видно из получившегося результата не все значения в таблице с результатом находят совпадение со справочником и в итоге мы видим, что часть значений в таблице выводится в виде «#Н/Д», что затрудняет использование данных для дальнейших расчетов.
Результат:

image

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

=ЕСЛИОШИБКА(ИНДЕКС($J$4:$L$7; ПОИСКПОЗ($A4;$I$4:$I$7;0); ПОИСКПОЗ(B$3;$J$3:$L$3;0));0)

Демонстрация результата:

image

Как видно на картинке, значения «#Н/Д» более не мешают нам в последующих вычислениях с использованием значений в таблице с результатом.

Кейс_5 Поиск значения в диапазоне чисел

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

  • От 0 до 1000 = А
  • От 1001 до 1500 = Б
  • От 1501 до 2000 = В
  • От 2001 до 2500 = Г
  • Более 2501 = Д

image

Функция ПРОСМОТР (LOOKUP) возвращает значение из строки, столбца или массива. Функция имеет две синтаксических формы: векторную и форму массива.

ПРОСМОТР(искомое_значение; просматриваемый_вектор; [вектор_результатов])

  • Искомое_значение — значение, которое функция ПРОСМОТР ищет в первом векторе. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой на значение.
  • Просматриваемый_вектор — диапазон, состоящий из одной строки или одного столбца. Значения в аргументе просматриваемый_вектор могут быть текстом, числами или логическими значениями.
  • Значения в аргументе просматриваемый_вектор должны быть расположены в порядке возрастания: …, -2, -1, 0, 1, 2, …, A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ПРОСМОТР может возвратить неправильный результат. Текст в нижнем и верхнем регистрах считается эквивалентным.
  • Вектор_результатов — диапазон, состоящий из одной строки или столбца. Вектор_результатов должен иметь тот же размер, что и просматриваемый_вектор.

Вывод результата в ячейку B3:

=ПРОСМОТР(E3;$A$3:$A$7;$B$3:$B$7)

image

Аргументы «Просматриваемый_вектор» и «Вектор_результата» можно записать в форме массива – в этом случае не придется выводить их в отдельную таблицу на листе Excel.
В этом случае функция будет выглядеть следующим образом:
Вывод результата в ячейку B3:
=ПРОСМОТР(E3;{0;1001;1501;2001;2501};{«А»;«Б»;«В»;«Г»;«Д»})

Кейс_6 Суммирование чисел по признакам

Для суммирования чисел по определенным признакам можно использовать три разных функции:
СУММЕСЛИ (SUMIF) – суммирует только по одному признаку
СУММЕСЛИМН (SUMIFS) – суммирует по множеству признаков
СУММПРОИЗВ (SUMPRODUCT) – суммирует по множеству признаков
Существует также вариант с использованием «СУММ» (SUM) и функции формулы массивов, когда формула «СУММ» возводится в массив:
({=СУММ(()*())}
но такой подход довольно неудобен и полностью перекрывается по функционалу формулой «СУММПРОИЗВ»
Теперь подробнее по синтаксису «СУММПРОИЗВ»:

СУММПРОИЗВ(массив1, [массив2], [массив3],…)

  • Массив1 — первый массив, компоненты которого нужно перемножить, а затем сложить результаты.
  • Массив2, массив3… — от 2 до 255 массивов, компоненты которых нужно перемножить, а затем сложить результаты.

Условие:

  • Найти общую сумму по стоимости отгрузок по каждому из продуктов за определенный период:

image

Как видно из таблицы с данными, что бы посчитать стоимость необходимо цену умножить на количество, а полученное значение, применив условия отбора переносить в таблица с результатом.
Однако, формула «СУММПРОИЗ» позволяет проводить такие расчеты внутри формулы.
Вывод результата в ячейку B4:

=СУММПРОИЗВ(($A4=$H$3:$H$11)*($K$3:$K$11>=B$3)*($K$3:$K$11<C$3);($M$3:$M$11)*($L$3:$L$11))

Разберем формулу по частям:

($A4=$H$3:$H$11)

– задаем условие по отбору в столбце «Наименование» таблицы с данными по столбцу «Наименование» в таблице с результатом

($K$3:$K$11>=B$3)*($K$3:$K$11<C$3)

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

($M$3:$M$11)*($L$3:$L$11)

– перемножаем столбцы «Количество» и «Цена» в таблице с данными.
Несомненным плюсом данной функции является свободный порядок записи условий, их можно записывать в любом порядке, на результат это не повлияет.
Результат:

image

Теперь усложним условие и добавим требование, что бы отбор по наименованию «печеньки» происходил только по классам «малые» и «большие», а по наименованию «булки» все, кроме по классу «с джемом»:

Вывод результата в ячейку B4:

=СУММПРОИЗВ(($A4=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»));($L$3:$L$11*$K$3:$K$11))

В формуле для отбора по печенькам добавилось новое условие:

(($I$3:$I$11=«малые»)+($I$3:$I$11=«большие»))

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

=СУММПРОИЗВ(($A5=$H$3:$H$11)*($J$3:$J$11>=B$3)*($J$3:$J$11<C$3)*($I$3:$I$11<>«с джемом»);($L$3:$L$11)*($K$3:$K$11))

это:

($I$3:$I$11<>«с джемом»)

– на самом деле, в данной формуле можно было написать условие отбора также как и при отборе по печенькам, но тогда, пришлось бы перечислять три условия в формуле, в данном случае, проще написать исключение – не равно «с джемом» для этого используем значение «<>».
Вообще, если группы признаков/классов заранее известны, то лучше объединять их в эти группы, создавая справочники, чем записывать все условия в функцию, раздувая ее.
Результат:

image

Что ж, вот мы и подошли к концу нашего краткого мануала, который на самом деле мог бы быть намного больше, но целью было все-таки дать решение наиболее встречающихся ситуаций, а не описывать решение частных (но гораздо более интересных случаев).
Надеюсь, что мануал поможет кому-нибудь в решении задач при помощи Excel, ведь это будет значить, что мой труд не пропал зря!

Спасибо за уделенное время!

На чтение 7 мин. Просмотров 29.8k.

Содержание

  1. Получить первое не пустое значение в списке
  2. Получить первое текстовое значение в списке
  3. Получить первое текстовое значение с ГПР
  4. Получить позицию последнего совпадения
  5. Получить последнее совпадение содержимого ячейки
  6. Получить n-е совпадение
  7. Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ
  8. Получить n-ое совпадение с ВПР
  9. Если ячейка содержит одну из многих вещей
  10. Поиск первой ошибки
  11. Поиск следующего наибольшего значения
  12. Несколько совпадений в списке, разделенных запятой
  13. Частичное совпадение чисел с шаблоном
  14. Частичное совпадение с ВПР
  15. Положение первого частичного совпадения

Получить первое не пустое значение в списке

{ = ИНДЕКС( диапазон ; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( диапазон ); 0 )) }

Получить первое не пустое значение в списке

Если вам нужно получить первое не пустое значение (текст или число) в диапазоне в одной колонке вы можете использовать формулу массива на основе функций ИНДЕКС, ПОИСКПОЗ и ЕПУСТО.

В данном примере мы используем эту формулу:

{ = ИНДЕКС( B3: B11; ПОИСКПОЗ( ЛОЖЬ; ЕПУСТО ( B3: B11 ); 0 )) }

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

Таким образом, нам нужно строить функциональные возможности для нужных нам формул. Способ сделать это состоит в использовании функции массива, которая «тестирует» ячейки и возвращает массив истина/ложь значения, которые мы можем сопрягать с ПОИСКПОЗ.

Работая изнутри, ЕПУСТО оценивает ячейки в диапазоне В3: В11 и возвращает результат и массив, который выглядит следующим образом:

{ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ИСТИНА; ИСТИНА; ИСТИНА}

Каждая ЛОЖЬ представляет собой ячейку в диапазоне, который не является пустой.

Далее, ПОИСКПОЗ ищет ЛОЖЬ внутри массива и возвращает позицию первого наденного совпадения, в этом случае 2. На данный момент, формула в примере теперь выглядит следующим образом:

{ = ИНДЕКС( B3: B11; 2; 0 )) }

И, наконец, функция ИНДЕКС выводит значение в положении 2 в массиве, в этом случае число 10.

Получить первое текстовое значение в списке

= ВПР ( «*»; диапазон; 1; ЛОЖЬ)

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

Получить первое текстовое значение в списке

В данном примере формула в D7 является:

= ВПР ( «*» ; B5: B11 ; 1 ; ЛОЖЬ)

Групповой символ звездочка (*) соответствует любому текстовому значению.

Получить первое текстовое значение с ГПР

= ГПР ( «*»; диапазон; 1; ЛОЖЬ)

Получить первое текстовое значение с ГПР

Для поиска и получения первого текстового значения во всем диапазоне столбцов, вы можете использовать функцию ГПР с групповым символом. В примере формула в F5 является:

= ГПР ( «*»; С5: Е5; 1; 0 )

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

Получить позицию последнего совпадения

{ = МАКС( ЕСЛИ ( Величины = знач ; СТРОКА(величина) — СТРОКА(ИНДЕКС( Величины; 1 ; 1 )) + 1 )) }

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

Получить позицию последнего совпадения

В примере формула в G6:

=МАКС(ЕСЛИ(B4:B11=G5;СТРОКА(B4:B11)-СТРОКА(ИНДЕКС(B4:B11;1;1))+1))

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

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

= ПРОСМОТР( 2 ; 1 / ПОИСК ( вещи ; А1 ); вещи )

Чтобы проверить ячейку для одной из нескольких вещей, и вернуть последнее совпадение, найденное в списке, вы можете использовать формулу, основанную на ПРОСМОТР и ПОИСК функций. В случае нескольких найденных совпадений, формула вернет последнее совпадение из списка «вещей».

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

В примере формула в С5:

=ПРОСМОТР(2;1/ПОИСК($E$4:$E$7;B4);$E$4:$E$7)

Получить n-е совпадение

= НАИМЕНЬШИЙ( ЕСЛИ( логический тест; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); n )

Для того, чтобы получить позицию n-го совпадения (например, второе значение соответствия заданному, третье значение соответствия и т.д.), вы можете использовать формулу, основанную на функции НАИМЕНЬШИЙ.

= НАИМЕНЬШИЙ( ЕСЛИ( список = E5 ; СТРОКА( список ) — МИН( СТРОКА( список )) + 1 ); F5 )

Эта формула возвращает позицию второго появления «красных» в списке.

Сутью этой формулы является функция НАИМЕНЬШИЙ, которая просто возвращает n-е наименьшее значение в списке значений, которое соответствует номеру строки. Номера строк были «отфильтрованы» функцией ЕСЛИ, которая применяет логику для совпадения.

Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ

{ = ИНДЕКС( массив; НАИМЕНЬШИЙ( ЕСЛИ( величины = знач ; СТРОКА ( величины ) — СТРОКА ( ИНДЕКС( величины; 1 ; 1 )) + 1 ); n-й )) }

Получить n-ое совпадение с ИНДЕКС/ПОИСКПОЗ

Чтобы получить n-ое совпадение, используя ИНДЕКС и ПОИСКПОЗ, вы можете использовать формулу массива с функциями ЕСЛИ и НАИМЕНЬШИЙ, чтобы выяснить номер строки совпадения.

Получить n-ое совпадение с ВПР

= ВПР( id_формулы; стол; 4; 0 )

Чтобы получить n-ое совпадение с ВПР, вам необходимо добавить вспомогательный столбец в таблицу , которая строит уникальный идентификатор , который включает счетчик.

Получить n-ое совпадение с ВПР

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

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

=ВПР(J3&»-«&I6;B4:G11;4;0)

Если ячейка содержит одну из многих вещей

{ = ИНДЕКС( результаты ;ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК( вещи ; A1 )); 0 )) }

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

{ = ИНДЕКС( результаты ; ПОИСКПОЗ( ИСТИНА ; ЕЧИСЛО( ПОИСК ( вещи ; B5 )); 0 )) }

Эта формула использует два названных диапазона: E5: E8 называется «вещи» и F5: F8 называется «Результаты». Убедитесь, что вы используете диапазоны имен с одинаковыми именами (на основе ваших данных). Если вы не хотите использовать именованные диапазоны, используйте абсолютные ссылки вместо этого.

Поиск первой ошибки

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА(диап ); 0 ) }

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

Поиск первой ошибки

В приведенном примере формула:

{ = ПОИСКПОЗ( ИСТИНА ; ЕОШИБКА( B4: B11 ); 0 ) }

Работая изнутри, функция ЕОШИБКА возвращает значение ИСТИНА, если значение является признанной ошибкой, и ЛОЖЬ, если нет.

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

{ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ}

Обратите внимание, что 6-е значение (что соответствует 6-й ячейке в диапазоне) истинно, так как ячейка В9 содержит #Н/A.

Поиск следующего наибольшего значения

=ИНДЕКС ( данные; ПОИСКПОЗ( поиск ; значения ) + 1 )

Поиск следующего наибольшего значения

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

=ИНДЕКС(C5:C9;ПОИСКПОЗ(F4;B5:B9)+1)

Несколько совпадений в списке, разделенных запятой

{ = ОБЪЕДИНИТЬ ( «;» ; ИСТИНА ; ЕСЛИ( диапазон1 = E5 ; диапазон2 ; «» )) }

Для поиска и извлечения нескольких совпадений, разделенных запятыми (в одной ячейке), вы можете использовать функцию ЕСЛИ с функцией ОБЪЕДИНИТЬ.

{ = ОБЪЕДИНИТЬ( «;» ; ИСТИНА ; ЕСЛИ( группа = E5 ; имя ; «» )) }

Эта формула использует «имя» — именованный диапазон (B5: B11) и «группа» — (C5: C11).

Частичное совпадение чисел с шаблоном

{ = ПОИСКПОЗ( «*» & номер & «*» ; ТЕКСТ( диапазон ; «0» ); 0 ) }

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

Частичное совпадение чисел с шаблоном

Excel поддерживает символы подстановки «*» и «?». Тем не менее, если вы используете специальные символы с номером, вы будете преобразовывать числовое значение в текстовое значение. Другими словами, «*» & 99 & «*» = «* 99 *» (текстовая строка).

Если попытаться найти текстовое значение в диапазоне чисел, совпадение завершится неудачно.

Решение

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

Другой вариант

Другой способ, чтобы преобразовать числа в текст, чтобы сцепить пустую строку. Эта формула работает так же, как выше формуле:

= ПОИСКПОЗ ( «*» & Е5 & «*» ; В5: В10 & «» ; 0 )

Частичное совпадение с ВПР

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

Частичное совпадение с ВПР

В примере формула ВПР выглядит следующим образом:

=ВПР($H$2&»*»;$B$3:$E$12;2;0)

В этой формуле, значение представляет собой именованный диапазон, который относится к Н2, а также данные , представляет собой именованный диапазон , который относится к B3: E102. Без названных диапазонов, формула может быть записана следующим образом:

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

= ПОИСКПОЗ ( «* текст *» ; диапазон; 0 )

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

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

В примере формула в Е7:

=ПОИСКПОЗ(«*»&E6&»*»;B5:B10;0)

Функция ПОИСКПОЗ возвращает позицию или «индекс» в первом совпадении на основании значения поиска в диапазоне.

ПОИСКПОЗ поддерживает подстановочное согласование со звездочкой «*» (один или несколько символов) или знаком вопроса «?» (один символ), но только тогда, когда третий аргумент, тип_сопоставления, установлен в ЛОЖЬ или ноль.

Like this post? Please share to your friends:
  • Excel найти совпадения в диапазоне
  • Excel найти совпадение ячеек в столбце
  • Excel найти совпадение функция
  • Excel найти слово начинающееся с буквы
  • Excel найти слово в предложении