- Функция ПОИСКПОЗ и ПРОСМОТР не работают как должны
- Функция ПРОСМОТР() в EXCEL
- Синтаксис функции
- Поиск позиции в массивах с текстовыми значениями
- Поиск позиции в массиве констант
- Функция ПРОСМОТРX — наследник ВПР
- Старый добрый ВПР
- Синтаксис ПРОСМОТРX (XLOOKUP)
- Перехват ошибок #Н/Д
- Приблизительный поиск
- Направление поиска
- Резюме
Функция ПОИСКПОЗ и ПРОСМОТР не работают как должны
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Вложения
Пример.xlsx (20.8 Кб, 26 просмотров) |
функция ИНДЕКС(ПОИСКПОЗ)
Здравствуйте форумчане. Подскажите пожалуйста можно ли связкой функции ИНДЕКС(ПОИСКПОЗ) что бы не.
Функция ПОИСКПОЗ выдает ошибку
Функция ПРОСМОТР должна возвращать значение из столбца K, если в столбце L присутствует «да». Но.
Не работает функция Смещение(ПоискПоз) после строки3845
Не работает функция Смещение(ПоискПоз) после строки3845. Помогите разобраться пожалуйста.
Как работает функция ПРОСМОТР и ПОИСК в этом случае?
Уважаемые форумчане, доброго времени суток всем! Я искал решение такой задачи: необходимо из.
Вложения
Пример (6).xlsx (20.6 Кб, 48 просмотров) |
Не могу понять как работают result и функция copy
function RightPosition(str1,str2:string):integer; var i:integer; begin if.
Как сделать ячейку пустой при использовании ИНДЕКС-ПОИСКПОЗ?
В таблице ecxel для автоматического заполнения карточек (учет СИЗ) заданы формулы.
функция Просмотр
Даны диапазоны оценок и их текстовое соответствие. Далее оценки предполагаемых учеников. Нужно.
Функция просмотр
Здравствуйте, подскажите что не так: на листе 4 есть таблица и функция просмотр не работает для.
Источник
Функция ПРОСМОТР() в EXCEL
history 12 января 2014 г.
Функция ПРОСМОТР( ) , английский вариант LOOKUP(), похожа на функцию ВПР() : ПРОСМОТР() просматривает левый столбец таблицы и, если находит искомое значение, возвращает значение из соответствующей строки самого правого столбца таблицы. Существенное ограничение использования функции ПРОСМОТР() — левый столбец исходной таблицы, по которому производится поиск, должен быть отсортирован по возрастанию, иначе получим непредсказуемый (вероятнее всего неправильный) результат.
Перед использованием функции ПРОСМОТР() убедитесь, что диапазон значений, по которым будет производиться поиск, ОТСОРТИРОВАН ПО ВОЗРАСТАНИЮ, иначе функция может вернуть неправильный результат. Если это невозможно, рекомендуется использовать функции ВПР() и ПОИСКПОЗ() совместно с функцией ИНДЕКС() .
Синтаксис функции
Существует 2 формы задания аргументов функции ПРОСМОТР() : форма массива и форма вектора.
Форма массива
Форма массива функции ПРОСМОТР() просматривает первый (левый) столбец таблицы и, если находит искомое значение, возвращает значение из соответствующей строки самого правого столбца таблицы (массива).
ПРОСМОТР ( искомое_значение ; массив )
Формула =ПРОСМОТР(«яблоки»; A2:B10) просматривает диапазон ячеек А2:А10 . Если, например, в ячейке А5 содержится искомое значение «яблоки», то формула возвращает значение из ячейки B5 , т.е. из соответствующей ячейки самого правого столбца таблицы ( B2:B10 ). Внимание! Значения в диапазоне А2:А10 должны быть отсортированы по возрастанию.
Если функции ПРОСМОТР() не удается найти искомое_значение , то выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Функция ПРОСМОТР() — также имеет векторную форму . Вектор представляет собой диапазон ячеек, размещенный в одном столбце или одной строке.
ПРОСМОТР ( искомое_значение ; просматриваемый_вектор; вектор_результатов)
Формула =ПРОСМОТР(«яблоки»; A2:A10; B2:B10) просматривает диапазон ячеек А2:А10 . Если, например, в ячейке А5 содержится искомое значение «яблоки», то формула возвращает значение из ячейки B5 , т.е. из соответствующей ячейки самого правого столбца таблицы ( B2:B10 ). Внимание! Значения в диапазоне А2:А10 должны быть отсортированы по возрастанию. Если функции ПРОСМОТР() не удается найти искомое_значение , то выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Функция ПРОСМОТР() не различает РеГИстры при сопоставлении текстов.
Если функция ПРОСМОТР() не находит соответствующего значения, то возвращается значение ошибки #Н/Д.
Поиск позиции в массивах с текстовыми значениями
Произведем поиск значения в сортированном списке текстовых значений (диапазон А8:А15 ). Список может содержать повторы. Искомое значение содержится в А19 .
Формулы для вывода соответствующих значений Адреса и ИНН (форма массива) : =ПРОСМОТР(A19;A8:B15) и =ПРОСМОТР(A19;A8:С15)
Формулы для вывода соответствующих значений Адреса и ИНН (форма вектора) : =ПРОСМОТР(A19;A8:A15;B8:B15) и =ПРОСМОТР(A19;A8:A15;С8:С15)
В файле примера можно найти применение формул при наличии повторов в столбце поиска.
Как видно из картинки выше, в случае повторов в столбце поиска, функция ПРОСМОТР() выводит то значение, которое расположено ниже.
Вывод : функция ПРОСМОТР() не имеет преимуществ по сравнению с функцией ВПР() .
Поиск позиции в массиве констант
Поиск значения можно производить не только в диапазонах ячеек, но и в массивах констант . Например, формула =ПРОСМОТР(22;<0;60;70;80;90>;<"F";"D";"C";"B";"A">) вернет значение F . Такой вид записи удобен, когда стоит задача решаемая с помощью вложенных ЕСЛИ: если значение файл примера ).
Если функции ПРОСМОТР() не удается найти искомое_значение , то выбирается наибольшее значение, которое меньше искомого_значения или равно ему.
Источник
Функция ПРОСМОТРX — наследник ВПР
В мае 2019 года руководитель команды разработчиков Microsoft Excel Joe McDaid анонсировал выход новой функции, которая должна прийти на замену легендарной ВПР (VLOOKUP). Новая функция получила сочное английское название XLOOKUP и не очень внятное русское ПРОСМОТРX (причем последняя буква тут именно английская «икс», а не русская «ха» — забавно).
Полгода Microsoft тренировалась на кошках тестировала эту функцию на своих сотрудниках и добровольцах-инсайдерах и, наконец, в январе 2020 года было объявлено, что XLOOKUP готова к использованию и будет в ближайшее время разослана с обновлениями всем подписчикам Office 365.
Давайте разберёмся, в чем её преимущества перед классической ВПР (VLOOKUP), и как она может нам помочь в повседневной работе с данными в Microsoft Excel.
Старый добрый ВПР
Предположим, перед нами стоит задача найти в прайс-листе цену, например, для гречки. При помощи привычно функции ВПР (VLOOKUP) это решалось бы примерно так:
На всякий случай, напомню:
- Первый аргумент здесь — искомое значение («гречка» из H4).
- Второй — область поиска, причем обязательно начиная со столбца, где хранятся искомые данные, т.е. с товара, а не с артикула.
- Третий — порядковый номер столбца в таблице, из которого мы хотим извлечь нужное нам значение (цена в четвертом столбце).
- Последний аргумент отвечает за режим поиска: 0 — точный поиск, 1 — поиск ближайшего наименьшего значения (для чисел). Причем 0 не подразумевается по умолчанию — нужно вводить его явно.
Привычно, знакомо и делается многими на автомате, не приходя в сознание. ОК.
Теперь посмотрим как то же самое можно вычислить с помощью новой функции ПРОСМОТРX (XLOOKUP) .
Синтаксис ПРОСМОТРX (XLOOKUP)
Сначала, для порядка, давайте озвучим официальный синтаксис. У нашей новой функции 6 аргументов:
=ПРОСМОТРX( искомое_значение ; просматриваемый_массив ; возвращаемый_массив ; [если_ничего_не_найдено] ; [режим_сопоставления] ; [режим_поиска] )
Выглядит немного громоздко, но последние три аргумента [в квадратных скобках] не являются обязательными (мы разберёмся с ними чуть позже). Так что, на самом деле, всё проще:
- Первый аргумент (искомое_значение) — что мы ищем («гречка» из ячейки H4)
- Второй аргумент (просматриваемый_массив) — диапазон ячеек, где мы ищем (столбец Товар в прайс-листе).
- Третий аргумент (возвращаемый_массив) — диапазон, откуда хотим получить результаты (столбец Цена в прайс-листе).
Если сравнивать с ВПР, то стоит отметить, что:
- По умолчанию используетсяточный поиск, т.е. не нужно это явно прописывать как в ВПР (последний нолик).
- Не нужно отсчитывать и задавать номер столбца (третий аргумент ВПР). В больших таблицах это бывает непросто (особенно с учетом наличия скрытых столбцов).
- Из предыдущего пункта автоматом следует, что вставка/удаление столбцов в прайс не ломают формулу (как было бы с ВПР).
- Нет проблемы«левого ВПР», когда нужно извлечь значение левее просматриваемого столбца (например, артикул в нашем случае) — просматриваемый и возвращаемый массивы в ПРОСМОТРX могут располагаться как угодно (даже на разных листах, в общем случае!)
- В общем и целом синтаксис гораздо проще и понятнее, чем у ВПР.
Также приятно, что ПРОСМОТРX отлично работает и в горизонтальном варианте без каких-либо доработок:
Раньше для этого нужно было использовать уже функцию ГПР (HLOOKUP) вместо ВПР (VLOOKUP) .
Перехват ошибок #Н/Д
Если искомое значение отсутствует в списке, то функция ПРОСМОТРX, как и ВПР, выдаёт знакомую ошибку #Н/Д (#N/A) :
Раньше для перехвата таких ошибок и замены их на что-нибудь более осмысленное применяли вложнную конструкцию из функций ЕСЛИОШИБКА (IFERROR) и ВПР (VLOOKUP) . Теперь же можно сделать всё «на лету», используя 4-й аргумент [если_ничего_не_найдено] нашей новой функции :
Приблизительный поиск
Если мы ищем числа, то возможен поиск не только точного совпадения, но и ближайшего наименьшего или наибольшего к заданному числу. Например, для поиска ближайшей скидки, соответствующей определенному количеству товара или тарифа для расчета стоимости доставки на определенное расстояние.
В старой ВПР за это отвечал последний аргумент [интервальный_просмотр] — если задать его равным 1, то ВПР переходила в режим поиска ближайшего наименьшего значения. В ПРОСМОТРХ за этот функционал отвечает 5-й аргумент [режим_сопоставления] :
Он может работать по четырём различным сценариям:
- 0 — точный поиск (это режим по-умолчанию)
- -1 — поиск предыдущего, т.е. ближайшего наименьшего значения (для 29 шт. товара это будет скидка 5%)
- 1 — поиск следующего, т.е. ближайшего наибольшего (для 29 шт. товара это будет уже 10% скидки)
- 2 — неточный поиск текста с использованием подстановочных символов
Если с первыми тремя вариантами тут всё более-менее понятно, то последний стоит прокомментировать дополнительно. Имеется ввиду ситуация, когда мы ищем значение, где помимо букв и цифр использованы подстановочные символы * (звёздочка = любое количество любых символов) и ? (вопросительный знак = один любой символ).
На практике это может использоваться, например, так:
Заметьте, что, например, капуста в прайс-листе и бланке заказа здесь записана по-разному, но ПРОСМОТРX всё равно её находит, т.к. ищем мы уже не просто капусту, а капусту с приклеенными в начале и конце звёздочками и четвёртый аргумент нашей функции равен 2.
Функция ВПР, кстати говоря, всегда умела такое «из коробки», так что особого преимущества у ПРОСМОТРX здесь нет. Но важен другой нюанс: функция ВПР при включенном приблизительном поиске (последний аргумент =1) строго требовала сортировки искомой таблицы по возрастанию. Новая функция прекрасно ищет ближайшее наибольшее или наименьшее и в неотсортированном списке.
Направление поиска
Если в таблице есть не одно, а несколько совпадений с искомым значением, то функция ВПР всегда выдает первое, т.к. ведёт поиск исключительно сверху-вниз. ПРОСМОТРX может искать и в обратном направлении (снизу-вверх) — за это отвечает последний 6-й её аргумент [режим_поиска] :
Благодаря ему, поиск первого и (главное!) последнего совпадения больше не представляет сложности — различие будет только в значении этого аргумента:
Раньше для поиска последнего совпадения приходилось неслабо шаманить с формулами массива и несколькими вложенными функциями типа ИНДЕКС, НАИБОЛЬШИЙ и т.п.
Резюме
Если вы дочитали до этого места, то выводы, я думаю, уже сделали сами 🙂 На мой взгляд, у Microsoft получилось создать очень достойного наследника легендарной функции ВПР, добавив мощи и красоты и сохранив, при этом, простоту и наглядность использования.
Минус же пока только в том, что эта функция в ближайшее время появится только у подписчиков Office 365. Пользователи standalone-версий Excel 2013, 2016, 2019 эту функцию не получат, пока не обновятся до следующей версии Office (когда она выйдет). Но, рано или поздно, эта замечательная функция появится у большинства пользователей — вот тогда заживём! 🙂
Источник