Точность поиска в excel

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

Содержание

  1. Как работает оператор ПОИСКПОЗ
  2. Пример 1: Поиск адреса элемента
  3. Пример 2: Поиск товара и использование адресов
  4. Пример 3: Работа с числовыми значениями
  5. Пример 4: Использование с другими функциями
  6. Задать вопрос автору статьи

Как работает оператор ПОИСКПОЗ

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

ПРИМЕЧАНИЕ! Если вам что-то будет в этой главе не понятно, не переживайте, мы еще раз все повторим на примерах. Ваша задача внимательно прочесть эту главу и попытаться уловить саму суть. Саму структуру мы уже разберем далее.

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

Теперь давайте рассмотрим синтаксис:

=ПОИСКПОЗ(Значение;Массив; [Точность поиска])

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

Если функция не находит совпадений, то выводит:

#Н/Д

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

Пример 1: Поиск адреса элемента

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

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

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Ставим «Категорию» – «Ссылки и массивы».
  2. Ищем нашу функцию, выделяем её и жмем «ОК».

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Теперь уже заполняем значения. В первой строке указываем адрес элемента, который мы хотим найти. Вы можете указать как адрес, кликнув мышкой, так и вписать вручную – например:

“Молоко”

  1. Далее ниже указываем диапазон адресов – их можно выбрать мышкой, или вписать вручную. Например:

A2:A6

  1. «Тип_сопоставления» – это как раз та самая точность. Так как мы работаем с текстом, то лучше указать полную точность:

0

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Жмем «ОК».

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

Обратите внимание, что функция выводит адрес относительно массива, а не адрес ячейки. То есть «Молоко» находится в 4 строке, но в массиве товаров адрес – 3. Об этом нужно всегда помнить.

Пример 2: Поиск товара и использование адресов

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

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

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. По сути, мы делаем все то же самое, только вместо «Искомого значения» мы используем адрес соседней ячейки.

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

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

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

Пример 3: Работа с числовыми значениями

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

  1. Так функция работает последовательно и выводит адрес элемента, который подходит лучше всего – нам нужно отсортировать колонку. Выделите колонку с цифрами, нажав по букве сверху.
  2. Перейдите на вкладку «Главная».

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Теперь справа в разделе «Редактирование» находим значок «Сортировка и фильтр» и выбираем «Сортировка по убыванию».

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

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

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Выбираем любую ячейку и вставляем в неё функцию.

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Теперь вставляем в первую строчку наше приближенное значение, которое мы хотим найти. Указываем диапазон массива. И в конце ставим «-1», чтобы также попробовать найти не точное совпадение, а приближенное.

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. И мы нашли товар с прибылью, приближенную к 30 000 – им оказалось «Молоко».

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

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

Пример 4: Использование с другими функциями

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

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

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

  1. Давайте теперь попробуем отсортировать сумму по возрастанию – аналогично выделяем весь столбец.

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Выбираем «Сортировку по возрастанию».

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. В качестве суммы мы будем использовать значение – 32 000. Теперь нам нужно найти товар – вставляем туда функцию.

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

  1. Используем:

ИНДЕКС

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

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

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

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

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

Далее он выведет правильную информацию. Если вы посмотрите на картинку ниже, то вы можете немного запутаться – почему «Хлеб», который имеет сумму «23013» максимально приближен к 32 000, а не «Молоко» с суммой в «33670».

ПОИСКПОЗ и ИНДЕКС в Excel: пример и объяснения

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

Если вы попытаетесь поставить аргумент «-1», то, скорее всего, вы увидите ошибку, так как сортировка идет по возрастанию. Если же вы хотите получить значение «Молоко», то нужно сначала отсортировать товары по убыванию, а потом использовать эту формулу с аргументом «-1».

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

На этом все, дорогие читатели портала WiFiGiD.RU. Я понимаю, что урок получился достаточно сложный. Если что-то было непонятно, или вам нужно что-то объяснить – пишите свои вопросы в комментариях, и я вам помогу.

На чтение 4 мин. Просмотров 2.4k.

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

Приближенное совпадение с несколькими критериями

Пример формулы в G7:

{ = ИНДЕКС (D5:D10; ПОИСКПОЗ (G6; ЕСЛИ( B5:B10 = G5; С5:С10);1))}

Целью данной формулы является найти размер кошки, если известен ее вес.

По сути, это просто формула ИНДЕКС/ПОИСКПОЗ. Проблемой в данном случае является то, что нам нужно «отсеивать» посторонние записи в таблице.

Это делается с помощью простой функции ЕСЛИ:

ЕСЛИ( B5:B10 = G5; С5:С10 )

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

Обратите внимание, что совпадение настроено для приблизительного совпадения, установив тип_сопоставления = 1, это нужно сортировки С5:С10.

ПОИСКПОЗ возвращает позицию веса в массиве, и передается ИНДЕКСУ как номер строки. Поисковый_массив для ИНДЕКСА размеры в D5:D10, так ИНДЕКС получает размер, соответствующий положению генерируемого совпадением (номер 6 в показанном примере).

Содержание

  1. Базовый ИНДЕКС ПОИСКПОЗ с приближенным сопоставлением
  2. Базовый ИНДЕКС ПОИСКПОЗ, точное совпадение
  3. Чувствительное к регистру совпадение
  4. Точный поиск соответствия с ИНДЕКС и ПОИСКПОЗ

Базовый ИНДЕКС ПОИСКПОЗ с приближенным сопоставлением

= ИНДЕКС( класс; ПОИСКПОЗ( балл; баллы; 1))

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

Базовый ИНДЕКС ПОИСКПОЗ с приближенным сопоставлением

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

Базовый ИНДЕКС ПОИСКПОЗ, точное совпадение

= ИНДЕКС( данные; ПОИСКПОЗ( значение; поиск_столбца ; ЛОЖЬ); столбец )

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

Базовый ИНДЕКС ПОИСКПОЗ точное совпадение

Обратите внимание, что последний аргумент имеет значение 0, что заставляет ПОИСКПОЗ найти точное совпадение.

ИНДЕКС с одним столбцом

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

= ИНДЕКС (С5:C9; ПОИСКПОЗ (H4; B5:B9;0)) // год

= ИНДЕКС (D5:D9; ПОИСКПОЗ (H4; B5:B9;0)) // ранг

= ИНДЕКС (E5:E9; ПОИСКПОЗ (H4; B5:B9;0)) // продажи

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

Чувствительное к регистру совпадение

{ = ПОИСКПОЗ (ИСТИНА; СОВПАД (диапазон; значение); 0)}

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

Чувствительное к регистру совпадение

Сама по себе функция ПОИСКПОЗ не чувствительна к регистру, поэтому следующая формула получает 1:

= ПОИСКПОЗ («ИВАН»; B5:B11; 0 )

Чтобы добавить чувствительность к регистру, мы используем функцию СОВПАД:

СОВПАД ( B5:B11; E4 )

Которая получает массив истина/ложь значения:

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

Этот массив переходит в функции ПОИСКПОЗ как массив. Для поиска, мы используем значение ИСТИНА с ПОИСКПОЗ, установленным в режим точного соответствия путем установки тип_сопоставления к нулю.

= ПОИСКПОЗ (ИСТИНА; { ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ}; 0 )

ПОИСКПОЗ затем получает позицию первого найденного истинного значения: 4.

Точный поиск соответствия с ИНДЕКС и ПОИСКПОЗ

{= ИНДЕКС (данные;ПОИСКПОЗ (ИСТИНА; СОВПАД(текст1; текст2 );0 ); номер_столбца )}

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

Точный поиск соответствия с ИНДЕКС и ПОИСКПОЗ

В примере, мы используем следующую формулу

={ИНДЕКС (B5:D12; ПОИСКПОЗ (ИСТИНА; СОВПАД (F5;B5:B12);0);3)}

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

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

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: ВПР, ГПР и ПОИСКПОЗ выполняли точный поиск с точным совпадением искомого и проверяемого значения ячеек или возвращали ошибку, в последнем третьем их аргументе должно быть указано – ЛОЖЬ или 0. При этом независимо отсортирован ли просматриваемый список значений или нет.

Формула приблизительного поиска неточных совпадений в Excel

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

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

Формула приблизительного поиска ВПР.

Формула использует три функции ВПР для считывания 3-х значений с таблицы. В последнем аргументе каждой функции находится логическое значение ИСТИНА. Это значит, что необходимо найти приблизительное значение, а необязательно точное совпадение.

Чтобы любая поисковая функция выборки в Excel: ВПР, ГПР либо ПОИСКПОЗ со значением ИСТИНА в третьем аргументе возвращала правильный результат вычисления, данные в просматриваемом столбце (в данном примере это диапазон ячеек B2:B9) должны быть отсортированы по возрастанию. Функция ВПР поочередно проверяет все значения и закончит поиск, если следующее значение будет больше чем искомое. После чего поиск прекращается. Вот почему нужно сортировать исходный диапазон по возрастанию. Таким способом найдено наибольшее значение, которое одновременно с тем меньше чем искомое.

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

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

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

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

  1. Первая функция ВПР возвращает базовую налоговую ставку с третьего столбца таблицы, то есть число 69,80.
  2. Следующая функция ВПР ищет тоже самое приблизительное значение для числа 2003,89, но уже по первому столбцу «Зарплата от». После чего найденное приближенное значение вычитаемое от искомого.
  3. Третья функция ВПР возвращает процентную ставку с четвертого столбца таблицы. Полученная ставка умножается на чистую зарплату netto – после всех вычетов, а результат прибавляется к базовой ставке.

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

=69,80+(2003,89-1023,00)*15,0%

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



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

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

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

для приблизительного поиска ИНДЕКС и ПОИСКПОЗ.

Старая формула с функциями ВПР в таком случае возвращает ошибку #Н/Д! вместо итогового результата в ячейке D15. Так получается потому что функция ВПР начинает свой поиск от среднего значения просматриваемого столбца, после чего определяет, что искомое значение является меньшим. Поэтому она анализирует только верхнюю часть столбца. Та как значения отсортированы по убыванию, то в первой половине столбца уж точно не найдется значения меньше чем искомое.

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

В отличии от других поисковых функций последним аргументом функции ПОИСКПОЗ может быть и отрицательное число, а точнее одно из трех вариантов: -1, 0, 1:

  1. Отрицательное значение -1 используется в случаях работы с данными отсортированными по убыванию. Функция возвращает из просматриваемого столбца наименьшее значение, которое является большим по отношению к искомому. Нельзя использовать отрицательную единицу с минусом (-1) в третьем аргументе для поисковых функций выборки данных ВПР и ГПР. Там нет соответственного режима работы функции.
  2. Значение 0 используется для обработки неотсортированных списков данных, с целью поиска точного совпадения значений с искомым. Поведение функции ПОИСКПОЗ с нулевым значением в третьем аргументе (0) – соответствует поведению функций ВПР и ГПР с тратим аргументом равному ЛОЖЬ или 0.
  3. Значение 1 применяется к спискам данных отсортированных по возрастанию. В таком случае функция возвращает из просматриваемого столбца наибольшее значение, которое меньше от искомого. Положительное число 1 в третьем аргументе функции ПОИСКПОЗ работает аналогично как ИСТИНА или 1 для функций ВПР и ГПР в этом же аргументе.

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

Функция ПОИСКПОЗ() в MS EXCEL

Функция ПОИСКПОЗ( ) , английский вариант MATCH(), возвращает позицию значения в диапазоне ячеек. Например, если в ячейке А10 содержится значение «яблоки», то формула =ПОИСКПОЗ («яблоки»;A9:A20;0) вернет 2, т.е. искомое значение «яблоки» содержится во второй ячейке диапазона A9:A20:А9 — первая ячейка (предполагается, что в ней не содержится значение «яблоки»), А10 — вторая, А11 — третья и т.д. (подсчет позиции производится от верхней ячейки).

Функция ПОИСКПОЗ() возвращает позицию искомого значения, а не само значение. Например: ПОИСКПОЗ(«б»;<«а»;»б»;»в»;»б»>;0) возвращает число 2 — относительную позицию буквы «б» в массиве <«а»;»б»;»в»;»б»>. Позиция второй буквы «б» будет проигнорирована, функция вернет позицию только первой буквы. О том как вернуть ВСЕ позиции искомого значения читайте ниже в разделе Поиск позиций ВСЕХ текстовых значений, удовлетворяющих критерию.

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

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

Искомое_значение — значение, используемое при поиске значения в просматриваемом_массиве. Искомое_значение может быть значением (числом, текстом или логическим значением (ЛОЖЬ или ИСТИНА)) или ссылкой на ячейку, содержащую число, текст или логическое значение.

Просматриваемый_массив — непрерывный диапазон ячеек, возможно, содержащих искомые значения. Просматриваемый_массив может быть только одностолбцовым диапазоном ячеек, например А9:А20 или диапазоном, расположенным в одной строке, например, А2:Е2. Таким образом формула =ПОИСКПОЗ(«слива»;A30:B33;0) работать не будет (выдаст ошибку #Н/Д), так как Просматриваемый_массив представляет собой диапазон ячеек размещенный одновременно в нескольких столбцах и нескольких ячейках.

Тип_сопоставления — число -1, 0 или 1. Тип_сопоставления указывает, как MS EXCEL сопоставляет искомое_значение со значениями в аргументе просматриваемый_массив.

  • Если тип_сопоставления равен 0, то функция ПОИСКПОЗ() находит первое значение, которое в точности равно аргументу искомое_значение. Просматриваемый_массив может быть не упорядочен.
  • Если тип_сопоставления равен 1, то функция ПОИСКПОЗ() находит наибольшее значение, которое меньше либо равно, чем искомое_значение. Просматриваемый_массив должен быть упорядочен по возрастанию: . -2, -1, 0, 1, 2, . A-Z, ЛОЖЬ, ИСТИНА. Если тип_сопоставления опущен, то предполагается, что он равен 1.
  • Если тип_сопоставления равен -1, то функция ПОИСКПОЗ() находит наименьшее значение, которое больше либо равно чем искомое_значение. Просматриваемый_массив должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z-A, . 2, 1, 0, -1, -2, . и так далее.

Функция ПОИСКПОЗ() не различает РеГИстры при сопоставлении текстов.

Если функция ПОИСКПОЗ() не находит соответствующего значения, то возвращается значение ошибки #Н/Д.

Поиск позиции в массивах с текстовыми значениями

Произведем поиск позиции в НЕ сортированном списке текстовых значений (диапазон B7:B13)

Столбец Позиция приведен для наглядности и не влияет на вычисления.

Формула для поиска позиции значения Груши: =ПОИСКПОЗ(«груши»;B7:B13;0)

Формула находит первое значение сверху и выводит его позицию в диапазоне, второе значение Груши учтено не будет.

Чтобы найти номер строки, а не позиции в искомом диапазоне, можно записать следующую формулу: =ПОИСКПОЗ(«груши»;B7:B13;0)+СТРОКА($B$6)

Если искомое значение не обнаружено в списке, то будет возвращено значение ошибки #Н/Д. Например, формула =ПОИСКПОЗ(«грейпфрут»;B7:B13;0) вернет ошибку, т.к. значения «грейпфрут» в диапазоне ячеек B7:B13 нет.

В файле примера можно найти применение функции при поиске в горизонтальном массиве.

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

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

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

В этой статье

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

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

Примеры использования функции ВПР

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

Примеры ИНДЕКСов и СОВПАДЕНИй

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

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

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

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

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

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

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

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

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

Для выполнения этой задачи используйте функции СМЕЩ и ПОИСКПОЗ.

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

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

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

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

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

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

Функция ГПР выполняет поиск по столбцу Sales и возвращает значение из строки 5 в указанном диапазоне.

Дополнительные сведения можно найти в разделе функции ГПР.

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

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

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

В приведенном выше примере функция ГПР ищет значение 11000 в строке 3 в указанном диапазоне. Он не находит 11000 и, следовательно, ищет следующее наибольшее значение, которое меньше 1100 и возвращает число 10543.

Дополнительные сведения можно найти в разделе функции ГПР.

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

Примечание: Надстройка «Мастер подстановок» прекращена в Excel 2010. Эти функциональные возможности заменены мастером функций и доступными функциями поиска и работы со ссылками (ссылками).

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

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

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

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

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

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

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

В диалоговом окне надстройки установите флажок Мастер подстановоки нажмите кнопку ОК.

Поиск всех значений по условию в excel

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

Функция ВПР

Вертикальное первое равенство. Ищет совпадение по ключу в первом столбце определенного диапазона и возвращает значение из указанного столбца этого диапазона в совпавшей с ключом строке.

Синтаксис: =ВПР(ключ; диапазон; номер_столбца; [интервальный_просмотр]), где

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

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

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

Для цены необходимо использовать функцию ВПР с точным совпадением (интервальный просмотр ЛОЖЬ), так как данный параметр определен для всех товаров и не предусматривает использование цены другого товара, если вдруг она по случайности еще не определена.

Для определения расположения товара используется ВПР с приблизительным совпадением (интервальный просмотр ИСТИНА), так как распределение товара осуществляется по категориям. Из-за того, что наименование товара состоит из названия категории плюс дополнительный текст, по условиям сортировки от А до Я наименования товаров будут идти сразу после наименования категории, поэтому когда в таблице не обнаруживается совпадений с ключом подтягивается первое значение сверху.

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

Он подобного эффекта можно избавиться путем определения категории из наименования товара используя текстовые функции ЛЕВСИМВ(C11;ПОИСК(» «;C11)-1), которые вернут все символы до первого пробела, а также изменить интервальный просмотр на точный.

Помимо всего описанного, функция ВПР позволяет применять для текстовых значений подстановочные символы – * (звездочка – любое количество любых символов) и ? (один любой символ). Например, для искомого значения «*» & «иван» & «*» могут подойти строки Иван, Иванов, диван и т.д.

Также данная функция может искать значения в массивах – =ВПР(1;<2;»Два»:1;»Один»>;2;ЛОЖЬ) – результат выполнения строка «Два».

Функция ГПР

Горизонтальное первое равенство. Ищет совпадение по ключу в первой строке определенного диапазона и возвращает значение из указанной строки этого диапазона в совпавшем с ключом столбце.

Синтаксис: =ГПР(ключ; диапазон; номер_строки; [интервальный_просмотр]).

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

Функция СТРОКА

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

Синтаксис: =СТРОКА([ссылка]), где аргумент «ссылка» не является обязательным. Если он опущен, но возвращается номер текущей строки.

=СТРОКА(D4) – результат 4.
=СТРОКА() – функция вернет номер строки, в которой она расположена.

Функция СТОЛБЕЦ

Возвращает номер столбца ячейки, указанной ссылкой.

Синтаксис: =СТОЛБЕЦ([ссылка]), где «ссылка» не обязательный аргумент. По умолчанию возвращается номер текущего столбца.

=СТОЛБЕЦ(C4) – формула вернет значение 3.
=СТОЛБЕЦ() – функция возвращает номер столбца, в котором расположена.

Функция АДРЕС

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

Синтаксис: =АДРЕС(строка; столбец; [тип_закрепления]; [стиль_ссылки]; [имя_листа]), где:

  • Строка – обязательный аргумент. Число, представляющая номер строки, для которой необходимо вернуть адрес;
  • Столбец – обязательный аргумент. Число, представляющее номер столбца целевой ячейки.
  • тип_закрепления – необязательный аргумент. Число от 1 до 4, обозначающее закрепление индексов ссылки:
    • 1 – значение по умолчанию, когда закреплены все индексы;
    • 2 – закрепление индекса строки;
    • 3 – закрепление индекса столбца;
    • 4 – адрес без закреплений.
  • стиль_ссылки – необязательный аргумент. Логическое значение:
    • ИСТИНА – формат ссылок «A1»;
    • ЛОЖЬ – формат ссылок «R1C1».
  • имя_листа – необязательный аргумент. Строка, представляющая имя листа, который необходимо добавить к тексту адреса ячейки.

=АДРЕС(1;1) – возвращает $A$1.
=АДРЕС(1;1;4) – возвращает A1.
=АДРЕС(1;1;4;ЛОЖЬ) – результат R[1]C[1].
=АДРЕС(1;1;4;ЛОЖЬ;»Лист1″) – результат выполнения функции Лист1!R[1]C[1].

Функция ДВССЫЛ

Преобразует адрес ссылки, заданный текстовой строкой, в ссылку на данный адрес.

Синтаксис: =ДВССЫЛ(адрес_ссылки; [стиль_ссылки]), где

  • адрес_ссылки – обязательный аргумент. Строка, представляющая адрес ссылки на ячейку или диапазон. Например, «C3», «R3C3» или «D8:D9».
  • стиль_ссылки – необязательный аргумент. Логическое значение, определяющее стиль ссылки:
    • ИСТИНА – стиль A1. Является значением по умолчанию;
    • ЛОЖЬ – стиль R1C1.

=ДВССЫЛ(«a3») – возвращает ссылку на ячейку A3.
=ДВССЫЛ(«r3c3») – вернет ошибку #ССЫЛКА!, так как текст для ссылки в формате R1C1, а второй аргумент имеет значение по умолчанию.
=ДВССЫЛ(«r3c3»; ЛОЖЬ) – возвращает ссылку на ячейку C3.
=ДВССЫЛ(АДРЕС(СТРОКА(C3);СТОЛБЕЦ(C3))) – функция вернет аналогичный предыдущему примеру результат.
Вложение функции ДВССЫЛ со ссылкой на диапазон:

Функция ЧСТРОК

Возвращает число строк в указанном диапазоне или массиве.

Синтаксис: =ЧСТРОК(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.

Пример использования:
=ЧСТРОК(D1:D8) – функция возвращает результат 8.
=ЧСТРОК(<1:2:3:4:5>) – функция определят, что в массиве 5 строк.

Функция ЧИСЛСТОЛБ

Возвращает число столбцов в указанном диапазоне или массиве.
Синтаксис: =ЧИСЛСТОЛБ(ссылка), где «ссылка» обязательный аргумент, являющийся ссылкой на ячейку, диапазон либо массив.
Пример использования:
=ЧИСЛСТОЛБ(A5:D5) – результат функции 4.
=ЧИСЛСТОЛБ(<1;2;3;4;5>) – функция определят, что в массиве 5 столбцов.

Функция СМЕЩ

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

Синтаксис: =СМЕЩ(ссылка; смещ_по_строкам; смещ_по_столбцам; [высота]; [ширина]), где

    ссылка – обязательный аргумент.

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

  • смещ_по_строкам – обязательный аргумент. Отрицательное либо положительное число, указывающее, на какое количество строк необходимо сместить диапазон.
  • смещ_по_столбцам – обязательный аргумент. Отрицательное либо положительное число, указывающее, на какое количество столбцов необходимо сместить диапазон.
  • высота – необязательный аргумент. Натуральное число (кроме нуля), определяющее количество строк в новом (смещенном) диапазоне.
  • ширина – необязательный аргумент. Натуральное число (кроме нуля), определяющее количество столбцов в новом диапазоне.
  • Если в результате смещения диапазон стал выходить на пределы листа, то функция возвращает ошибку #ССЫЛКА!.

    Для примера будем использовать вложение функции СМЕЩ в функцию СУММ.
    Изначально ссылаемся на диапазон из 10 строк и 1 столбца, где все ячейки имеют значение 2. Таким образом получает результат выполнения формулы – 20.

    Теперь сместим диапазон на один столбец влево, т.е. на -1.

    Снова изменим ссылку, а именно расширим до 4 столбцов. После этого возвращаемая ссылка станет A3:D12. Результат на изображении.

    Функция ПОИСКПОЗ

    Возвращает позицию элемента, заданного по значению, в диапазоне либо массиве.

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

    • искомое_значение – обязательный аргумент. Значение элемента, который необходимо найти в массиве.
    • Массив – обязательный аргумент. Одномерный диапазон либо массив для поиска элемента.
    • тип_сопоставления – необязательный аргумент. Число 1, 0 или -1, определяющее способ поиска элемента:
      • 1 – значение по умолчанию. Если совпадений не найдено, то возвращается позиция ближайшего меньшего по значению к искомому элементу. Массив или диапазон должен быть отсортирован от меньшего к большему или от А до Я.
      • 0 – функция ищет точное совпадение. Если не найдено, то возвращается ошибка #Н/Д.
      • -1 – Если совпадений не найдено, то возвращается позиция ближайшего большего по значению к искомому элементу. Массив или диапазон должен быть отсортирован по убыванию.

    Пример использования:
    =ПОИСКПОЗ(«Г»; <«а»;»б»;»в»;»г»;»д»>) – функция возвращает результат 4.

    Функция ПОИСКПОЗ в Excel

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

    Для текстовых значений функция допускает использование подстановочных символов «*» и «?».

    Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы мы могли развивать его дальше.

    У Вас недостаточно прав для комментирования.

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

    Постановка задачи

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

    Предположим, что у нас есть база данных по ценам товаров за разные месяцы:

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

    Способ 1. Дополнительный столбец с ключом поиска

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

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

    Теперь можно использовать знакомую функцию ВПР (VLOOKUP) для поиска склеенной пары НектаринЯнварь из ячеек H3 и J3 в созданном ключевом столбце:

    Плюсы : Простой способ, знакомая функция, работает с любыми данными.

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

    Способ 2. Функция СУММЕСЛИМН

    Если нужно найти именно число (в нашем случае цена как раз число), то вместо ВПР можно использовать функцию СУММЕСЛИМН (SUMIFS) , появившуюся начиная с Excel 2007. По идее, эта функция выбирает и суммирует числовые значения по нескольким (до 127!) условиям. Но если в нашем списке нет повторяющихся товаров внутри одного месяца, то она просто выведет значение цены для заданного товара и месяца:

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

    Минусы : Работает только с числовыми данными на выходе, не применима для поиска текста, не работает в старых версиях Excel (2003 и ранее).

    Способ 3. Формула массива

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

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

  • Нажмите в конце не Enter, а сочетание Ctrl+Shift+Enter, чтобы ввести формулу не как обычную, а как формулу массива.
  • Как это на самом деле работает:

    Функция ИНДЕКС выдает из диапазона цен C2:C161 содержимое N-ой ячейки по порядку. При этом порядковый номер нужной ячейки нам находит функция ПОИСКПОЗ. Она ищет связку названия товара и месяца (НектаринЯнварь) по очереди во всех ячейках склеенного из двух столбцов диапазона A2:A161&B2:B161 и выдает порядковый номер ячейки, где нашла точное совпадение. По сути, это первый способ, но ключевой столбец создается виртуально прямо внутри формулы, а не в ячейках листа.

    Плюсы : Не нужен отдельный столбец, работает и с числами и с текстом.

    Минусы : Ощутимо тормозит на больших таблицах (как и все формулы массива, впрочем), особенно если указывать диапазоны «с запасом» или сразу целые столбцы (т.е. вместо A2:A161 вводить A:A и т.д.) Многим непривычны формулы массива в принципе (тогда вам сюда).

    Пример функции ПОИСКПОЗ для поиска совпадения значений в 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. Если в объекте данных, переданном в качестве аргумента просматриваемый_массив, содержится два и больше элементов, соответствующих искомому значению, будет возвращена позиция первого вхождения такого элемента.

    Понравилась статья? Поделить с друзьями:
  • Точность подбора параметров excel
  • Транскрипция с русского на английский в excel
  • Точность опыта в excel
  • Транскрипция на песню sorry seems to be the hardest word
  • Точность как на экране excel 2020