Программа excel формула найти

НАЙТИ, НАЙТИБ (функции НАЙТИ, НАЙТИБ)

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

В этой статье описаны синтаксис формулы и использование функций НАЙТИ и НАЙТИБ в Microsoft Excel.

Описание

Функции НАЙТИ и НАЙТИБ находят вхождение одной текстовой строки в другую и возвращают начальную позицию искомой строки относительно первого знака второй строки.

Важно: 

  • Эти функции могут быть доступны не на всех языках.

  • Функция НАЙТИ предназначена для языков с однобайтовой кодировкой, а функция НАЙТИБ — для языков с двухбайтовой кодировкой. Заданный на компьютере язык по умолчанию влияет на возвращаемое значение указанным ниже образом.

  • Функция НАЙТИ при подсчете всегда рассматривает каждый знак, как однобайтовый, так и двухбайтовый, как один знак, независимо от выбранного по умолчанию языка.

  • Функция НАЙТИБ при подсчете рассматривает каждый двухбайтовый знак как два знака, если включена поддержка языка с БДЦС и такой язык установлен по умолчанию. В противном случае функция НАЙТИБ рассматривает каждый знак как один знак.

К языкам, поддерживающим БДЦС, относятся японский, китайский (упрощенное письмо), китайский (традиционное письмо) и корейский.

Синтаксис

НАЙТИ(искомый_текст;просматриваемый_текст;[нач_позиция])

НАЙТИБ(искомый_текст;просматриваемый_текст;[нач_позиция])

Аргументы функций НАЙТИ и НАЙТИБ описаны ниже.

  • Искомый_текст    — обязательный аргумент. Текст, который необходимо найти.

  • Просматриваемый_текст    — обязательный аргумент. Текст, в котором нужно найти искомый текст.

  • Начальная_позиция    — необязательный аргумент. Знак, с которого нужно начать поиск. Первый знак в тексте «просматриваемый_текст» имеет номер 1. Если номер опущен, он полагается равным 1.

Замечания

  • Функции НАЙТИ и НАЙТИБ работают с учетом регистра и не позволяют использовать подстановочные знаки. Если необходимо выполнить поиск без учета регистра или использовать подстановочные знаки, воспользуйтесь функцией ПОИСК или ПОИСКБ.

  • Если в качестве аргумента «искомый_текст» задана пустая строка («»), функция НАЙТИ выводит значение, равное первому знаку в строке поиска (знак с номером, соответствующим аргументу «нач_позиция» или 1).

  • Искомый_текст не может содержать подстановочные знаки.

  • Если find_text не отображаются в within_text, find и FINDB возвращают #VALUE! значение ошибки #ЗНАЧ!.

  • Если start_num не больше нуля, то найти и найтиБ возвращает значение #VALUE! значение ошибки #ЗНАЧ!.

  • Если start_num больше, чем длина within_text, то поиск и НАЙТИБ возвращают #VALUE! значение ошибки #ЗНАЧ!.

  • Аргумент «нач_позиция» можно использовать, чтобы пропустить нужное количество знаков. Предположим, например, что для поиска строки «МДС0093.МесячныеПродажи» используется функция НАЙТИ. Чтобы найти номер первого вхождения «М» в описательную часть текстовой строки, задайте значение аргумента «нач_позиция» равным 8, чтобы поиск в той части текста, которая является серийным номером, не производился. Функция НАЙТИ начинает со знака 8, находит искомый_текст в следующем знаке и возвращает число 9. Функция НАЙТИ всегда возвращает номер знака, считая от левого края текста «просматриваемый_текст», а не от значения аргумента «нач_позиция».

Примеры

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

Данные

Владимир Егоров

Формула

Описание

Результат

=НАЙТИ(«В»;A2)

Позиция первой «В» в ячейке A2

1

=НАЙТИ(«в»;A2)

Позиция первой «в» в ячейке A2

6

=НАЙТИ(«и»;A2;3)

Позиция первой «и» в строке А2, начиная с третьего знака

8

Пример 2

Данные

Керамический изолятор №124-ТД45-87

Медная пружина №12-671-6772

Переменный резистор №116010

Формула

Описание (результат)

Результат

=ПСТР(A2;1;НАЙТИ(» №»;A2;1)-1)

Выделяет текст от позиции 1 до знака «№» в строке («Керамический изолятор»)

Керамический изолятор

=ПСТР(A3;1;НАЙТИ(» №»;A3;1)-1)

Выделяет текст от позиции 1 до знака «№» в ячейке А3 («Медная пружина»)

Медная пружина

=ПСТР(A4;1;НАЙТИ(» №»;A4;1)-1)

Выделяет текст от позиции 1 до знака «№» в ячейке А4 («Переменный резистор»)

Переменный резистор

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

Функция НАЙТИ в Excel выполняет поиск текста в просматриваемой ячейке и возвращает числовое значение. При необходимости можно указать номер символа, с которого начинается искомая часть фразы в найденной строке.

Практическая работа функции НАЙТИ в Excel

Как работает функция НАЙТИ? Схематически, её синтаксис выглядит следующим образом:

синтаксис функции НАЙТИ

Аргумент нач_позиция является необязательным. Если пользователь не укажет его, тогда автоматически он принимается за 1. Если искомый_текст не будет найден, возвратится значение ошибки #ЗНАЧ!. Она очень похожа на функцию ПОИСК, у них одинаковый синтаксис. Однако их различия в том, что НАЙТИ обращает внимание на регистр букв. На картинке мы видим текст, где используется одно слово в разных регистрах. В ячейке В2 мы ищем слово «найти», а в ячейке В3 – то же слово в верхнем регистре:

внимание на регистр букв

Результат у нас получился разный, поскольку функция реагирует на регистр. Теперь посмотрим, как при тех же аргументах сработает ПОИСК:

регистр букв ПОИСК

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

Также эта функция не допускает использование подстановочных знаков (звездочка «*», знак вопроса «?», тильда «~»):

ПОИСК не видит разницу

Однако, это не распространяется на ПОИСК, который возвращает нам корректный результат.



Практические примеры работы формул чтобы НАЙТИ значение

Как использовать формулы НАЙТИ с другими функциями ЕСЛИОШИБКА, ЗАМЕНИТЬ, ЛЕВСИМВ, ПРАВСИМВ, ПСТР, ДЛСТР, СУММ, ЕЧИСЛО в Excel? Рассмотрим пример, в котором будем комбинировать НАЙТИ и ЗАМЕНИТЬ. Ниже попробуем заменить слово «песня» на «поэма»:

примеры работы формул

Строка с текстом – это ячейка с предложением, которое содержит заменяемое слово. На месте второго аргумента вкладываем НАЙТИ для определения позиции слова «песня». Это нам потребовалось, поскольку неизвестно точное расположение подстроки «песня» (с какого по счету символа начинается «песня»). Число 5 указывает на количество символов, которые будем заменять (количество букв в слове «песня»). В этом примере у нас количество символов искомого и заменяемого текста совпало, но это не обязательное условие, разница может быть любой.

Скопируем формулу до конца столбца:

количество букв в слове

В ячейке В21 мы так же заменили значение, а ниже у нас возвратились ошибки, поскольку в искомых текстах не было найдено заданного условием слова. Для корректного отображения результата укажем, что при ошибке пусть отображается то же предложение из колонки А (без изменений). Для этого используем ЕСЛИОШИБКА. Первым её аргументом будет вся предыдущая формула, а вторым – ячейка из колонки А:

ЕСЛИОШИБКА

В столбце В на месте ошибки получены идентичные предложения из столбца А.

Функция НАЙТИ также часто используется рядом с функциями ЛЕВСИМВ, ПРАВСИМВ и ПСТР, для того чтобы извлечь часть фразы. Например, у нас есть перечень электронных почтовых адресов. Нам необходимо извлечь имя пользователя (часть до символа @). Для выполнения задания используем ЛЕВСИМВ. В качестве первого аргумента у нас будет ячейка с содержимым, а второй – функция НАЙТИ с приставкой «-1», которая возвращает позицию знака @ и делает шаг назад (это нам нужно, для того чтобы результат не извлекал сам символ):

ЛЕВСИМВ

Сначала формула НАЙТИ возвратила нам значение «4» — это позиция искомого символа. НАЙТИ – 1 = 3. Затем ЛЕВСИМВ извлек три символа в левую сторону – rit. Копируем формулу до конца столбца:

извлек три символа

Теперь определим следующую задачу: нужно извлечь имя домена. Для её реализации используем дополнительно функцию ПСТР. ПСТР позволит рассмотреть подстроку из любого места до конца. Приставка +1 укажет, что извлечение происходит со следующего символа от @. При этом нам нужно указать на месте третьего аргумента число, которое, как мы уверенны, будет точно больше длины текстовой строки. В этом примере используем 50 (вряд ли существует электронная почта, имя которой содержит более 50 знаков):

ПСТР

Существует еще один способ решить эту задачу. На этот раз используем ДЛСТР и ПРАВСИМВ. Основой будет ПРАВСИМВ. Первым аргументом ПРАВСИМВ будет ячейка с искомым текстом, а вторым – разница между ДЛСТР и НАЙТИ. ДЛСТР осуществляет возврат количества знаков в текстовой строке:

ДЛСТР и ПРАВСИМВ

Копируем формулу до конца столбца и получаем результат:

формулу до конца

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

Для того чтобы определить присутствие подстроки, можно использовать дополнительно функцию ЕЧИСЛО. Принцип работы следующий: если НАЙТИ возвращает номер позиции символа, тогда ЕЧИСЛО указывает значение «ИСТИНА», а если возвращает ошибку – указывает «ЛОЖЬ». Для примера возьмем список с электронной почтой и проверим, есть ли среди них почта gmail.com:

ЕЧИСЛО ИСТИН

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

результат

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

Можно трансформировать функцию, приведенную выше, добавив перед ЕЧИСЛО две черточки. Таким образом, она подсчитает количество результатов: для ИСТИНА будет возвращено единицу, а для ЛОЖЬ – ноль:

подсчитает количество результатов

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

ЕСЛИ НАЙТИ ИСТИНА

На этот раз мы добавили третий аргумент – число 5, которое указывает с какой позиции начинается поиск. Поскольку год модели также содержит искомое значение «2», мы уточнили, что поиск должен происходить точно с номера стиля. Копируем формулу до конца столбца и проверим, как сработала формула. Фраза «Да» появилась напротив тех ячеек, номер стиля которых равен 2:

поиск точно с номера стиля

Теперь рассмотрим пример, где нам надо подсчитать сумму найденных значений одновременно. Для этого потребуется добавить СУММ. В ячейке А100 у нас три элемента – буквенный код, числовой код, слово. Нам нужно узнать, есть ли среди первого элемент BS, среди второго число 5 и среди третьего слово “new”. Поскольку искомый текст теперь содержит три значения, а не один, как ранее, он является массивом, который нам нужно поместить в скобки {}:

НАЙТИ СУММ

Сейчас содержимое в скобках – это массив из трёх элементов. То есть, нам нужно найти эти значения в ячейке А100. Формула три раза произведет поиск элементов по кругу по каждом из них. Затем добавляем адрес ячейки для поиска А100. Построенную формулу вкладываем в ЕЧИСЛО. На этом этапе возвращаемым результатом будут «ЛОЖЬ,ИСТИНА,ИСТИНА». А нам нужно преобразовать их в числа. Для этого к ЕЧИСЛО добавляем приставку «*1».ИСТИНА*1 равно 1, ЛОЖЬ*1 равно 0:

преобразовать в числа

Теперь нам осталось лишь сосчитать данные. Для этого вкладываем то, что у нас получилось в СУММ, нажимаем Enter:

сосчитать данные СУММ

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

успешно найдено

download file Скачать примеры использования функции НАЙТИ в Excel

В ячейке А101 совпадение только по одному элементу BS, сумма элементов равна 1.


Функция

НАЙТИ(

)

, английский вариант FIND(),

находит первое вхождение одной текстовой строки в другой строке и возвращают начальную позицию найденной строки.

Синтаксис функции


НАЙТИ

(

искомый_текст

;

просматриваемая_строка

;[нач_позиция])


Искомый_текст

— текст, который требуется найти.


Просматриваемая_строка

— текст, в которой ищется

Искомый_текст

.


Нач_позиция

— позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент

нач_позиция

опущен, то предполагается значение 1.

Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!

Функция

НАЙТИ()

учитывает РЕгиСТР

букв, т.е. результат поиска в строке »

ПЕРВЫЙ первый

» будет разным для формул

=НАЙТИ(«ПЕРВЫЙ»;»ПЕРВЫЙ первый»)

и

=НАЙТИ(«первый»;»ПЕРВЫЙ первый»)

. Первая вернет 1, вторая 8.

Примеры

Формула

=НАЙТИ(«к»;»Первый канал»)

вернет 8, т.к. буква

к

находится на 8-й позиции слева. Формула

=НАЙТИ(«К»;»Первый канал»)

вернет значение ошибки #ЗНАЧ!, т.к. с учетом регистра строка

Первый канал

не содержит букву

К

.

Пусть в ячейке

А2

введена строка

Первый канал — лучший

. Формула

=НАЙТИ(СИМВОЛ(32);A2)

вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.

Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу

=НАЙТИ(«а»;»мама мыла раму»;НАЙТИ(«а»;»мама мыла раму»)+1).

Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу

=ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения»;»Есть третье вхождение»)

.

Функция

НАЙТИ()

vs

ПОИСК()

Функция

НАЙТИ()

учитывает РЕгиСТР

букв и не допускает использование

подстановочных знаков

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

подстановочных знаков

пользуйтесь функцией

ПОИСК()

.

Связь с функциями

ЛЕВСИМВ()

,

ПРАВСИМВ()

и

ПСТР()

Функция

НАЙТИ()

может быть использована совместно с функциями

ЛЕВСИМВ()

,

ПРАВСИМВ()

и

ПСТР()

.

Например, в ячейке

А2

содержится фамилия и имя «Иванов Иван», то формула

=ЛЕВСИМВ(A2;НАЙТИ(СИМВОЛ(32);A2)-1)

извлечет фамилию, а

=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(СИМВОЛ(32);A2))

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

СЖПРОБЕЛЫ()

.

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 в английском варианте). В одной из предыдущих статей мы…

Сегодня мы рассмотрим функцию Excel – НАЙТИ (в английской версии FIND), которая позволяет находить позицию искомого текста в тексте относительного первого символа. Обычно, но не всегда функцию НАЙТИ используют совместно с другими функциями Excel, что мы и рассмотрим в следующих статьях, а сегодня попробуем разобраться с принцип работы данной функции.

Допустим у нас есть таблица со списком имен и фамилий.

пример с функцией НАЙТИ в Excel

Наша задача найти позицию пробела относительно первого символа. Например, возьмем первое имя и фамилию Dani Estrada, посчитаем самостоятельно где находится пробел. Пробел стоит 5-ым символом начиная с первой буквы. Теперь же сделаем это автоматически с помощью функции НАЙТИ

Синтаксис функции выглядит следующим образом

=НАЙТИ(искомый_текст; просматриваемый_текст; [нач_позиция]), где

искомый_текст – это текст, который  нам необходимо найти в тексте, в нашем случае это пробел, он обозначается вот так “ “.

просматриваемый_текст – это текст в котором ищется искомый текст, в нашем случае это имя и фамилия или ячейка A2

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

Прописываем формулу =НАЙТИ(» «;A2;1), протягиваем ее вниз и получаем нужный нам результат.

Принцип работы функции Найти в Excel

Но как я уже писал в начале статьи, отдельно «НАЙТИ» используется редко. Главное, чтобы вы поняли принцип работы данной функции, а также держали в голове, о такой возможности находить порядковый номер нужного нам текста или символа. В следующих статьях мы рассмотрим использование данной функции на реальных примерах. Не пропустите, вступайте в нашу группу Вконтакте, ставьте лайки и жмите +1, заранее спасибо.

Понравилась статья? Поделить с друзьями:
  • Программа excel фирмы microsoft
  • Программа excel таблицы формулы суммы
  • Программа excel стандартного пакета microsoft office
  • Программа excel создание таблицы с формулами
  • Программа excel скачать с официального сайта бесплатно