Поиск ТЕКСТовых значений в Excel. Бесплатные примеры и статьи.
Выделение ячеек c ТЕКСТом с применением Условного форматирования в MS EXCEL
Выделяем ячейки, содержащие искомый текст. Рассмотрим разные варианты: выделение ячеек, содержащих значения в точности совпадающих с искомым текстом; выделение ячеек, которые содержат искомый текст в начале, в конце или середине строки. Также научимся выделять ячейку, в случае если ее значение совпадает с одним из нескольких заданных значений.
Есть ли слово в списке MS EXCEL
Найдем слово в диапазоне ячеек, удовлетворяющее критерию: точное совпадение с критерием, совпадение с учетом регистра, совпадение лишь части символов из слова и т.д.
Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск
Найдем текстовые значения, удовлетворяющие заданному пользователем критерию. Поиск будем осуществлять в диапазоне с повторяющимися значениями. При наличии повторов, можно ожидать, что критерию будет соответствовать несколько значений. Для их вывода в отдельный диапазон удобно использовать формулы массива.
Поиск позиции ТЕКСТа в MS EXCEL с выводом значения из соседнего столбца
Для нахождения позиции значения в столбце, с последующим выводом соответствующего значения из соседнего столбца в EXCEL, существует специальная функция ВПР() , но для ее решения можно использовать также и другие функции. Рассмотрим задачу в случае текстовых значений.
Поиск позиции ТЕКСТа с учетом РЕгиСТра в MS EXCEL и выводом значения из соседнего столбца
Здесь развиваются идеи статьи Поиск позиции ТЕКСТового значения с выводом соответствующего значения из соседнего столбца. Для нахождения позиции значения с учетом РЕгиСТра, с последующим выводом соответствующего значения из соседнего столбца, функция ВПР() применена быть не может, т.к. она не чувствительна к регистру. Задача может быть решена с помощи функций БИЗВЛЕЧЬ() , НАЙТИ() или СОВПАД() .
Поиск в MS EXCEL текстового значения первого или последнего по алфавиту
Найдем текстовое значение, которое при сортировке диапазона по возрастанию будет выведено первым, т.е. первое по алфавиту. Также найдем последнее значение по алфавиту.
Разнесение в MS EXCEL ТЕКСТовых значений и ЧИСЕЛ по разным спискам
Если исходный список, содержит и текст и числа, то с помощью формул массива можно в один список отобрать все текстовые значения, а в другой – числовые.
Поиск в MS EXCEL третьего (n-го) повтора в списках с ТЕКСТом
Рассмотрим поиск текстовых значений в списке с повторами. Задав в качестве критерия для поиска нужное текстовое значение и номер его повтора в списке, найдем номер строки, в которой содержится этот повтор, а также выделим его и другие повторы с помощью Условного форматирования.
О классификации задач Поиска в EXCEL
В этой статье изложены попытки классификации задач по поиску значений в MS EXCEL. Статья может быть интересна для продвинутых пользователей EXCEL.
Поиск нескольких значений с максимальной длиной строки в MS EXCEL
Найдем в исходном списке текстовые значения, которые имеют максимальную длину строки, и выведем их в отдельный диапазон.
Пример применения формулы массива
Наиболее простой задачей, которой можно проиллюстрировать мощь формулы массива, является простой товарный чек. То есть у нас есть наименование товаров, их количество и цена за единицу. На выходе мы должны получить общую сумму покупки.
Товарный чек
Как бы мы решали данную задачу стандартным образом?
Во-первых, мы бы получили итоговую сумму по каждому товару, перемножив количество товара на его цену.
Подсчет суммы заказа
Ну а затем просуммировали бы получение суммы, для получения итоговой. То есть нам бы потребовался дополнительный столбец для промежуточных вычислений.
Расчет общей суммы покупки
Ту же самую задачу можно решить с помощью простейшей формулы массива.
Нам нужно получить сумму, поэтому воспользуемся соответствующей функцией СУММ. А вот суммировать мы должны произведение цены товара на его количество, что мы и сделаем – выбираем диапазон значений из столица B и умножаем его на аналогичный диапазон значений столбца C.
Формула массива
Если сейчас нажать Enter, то появится ошибка.
Ошибка при нажатии Enter
Так как мы в формуле использовали диапазоны (массивы) данных, то и формула должна быть формулой массива. Для этого нужно нажать сочетание клавиш Ctrl + Shift + Enterи получим результат.
Формула массива
Что произошло и как работает формула массива? Это важно понять, так как в дальнейшем можно будет применять формулы массива для решения намного более заковыристых задач…
Итак, при вычислении формулы массива Excel произвел попарное умножение значений диапазонов B2:B5 и C2:C5. В результате получился массив значений который был просуммирован соответствующей функцией. Мы получили только одно значение итоговой суммы без вспомогательных вычислений.
Обратите внимание на формулу в строке формул. Она заключена в фигурные скобки, которые указывают нам, что мы имеем дело с формулой массива
Скобки формулы массива
Это не текстовые скобки, то есть нельзя их ввести с клавиатуры, чтобы сделать формулу формулой массива. Они появляются автоматически при нажатии сочетания клавиш Ctrl + Shift + Enter. Если после создания формулы массива вам необходимо ее отредактировать, то в конце необходимо вновь нажать сочетание клавиш, а не просто клавишу Enter.
Функция ПОИСКПОЗ
Функция ПОИСКПОЗ производит поиск указанного значения в диапазоне ячеек и возвращает относительную позицию ячейки с искомым значением. То есть фактически эта функция возвращает координаты этой ячейки, а это как раз то, чего не хватает функции ИНДЕКС для полноценной замены функции ВПР.
Например, нам нужно узнать, какие координаты в диапазоне имеет «Ольга». Создадим формулу с функцией ПОИСКПОЗ и введем интересующее нас имя. Напомню, что текст вводится в кавычках.
Мы указали что искать, а теперь нужно указать где будет производиться поиск — выбираем значения столбца «Имя».
Ну и последний аргумент функции ПОИСКПОЗ очень напоминает аналогичный аргумент интервальный просмотр функции ВПР, но он может принимать три значения — меньше, больше и точное совпадение.
Если речь идет о поиске текстовых данных, то всегда выбираем точное совпадение. Другие параметры актуальны только при работе с числовыми данными. Поэтому указываем ноль и в итоге получаем цифру 3, что соответствует третьей строке в выделенном диапазоне.
Ну а теперь объединим функции ИНДЕКС и ПОИСКПОЗ в полноценную замену функции ВПР.
Лучшая альтернатива INDEX MATCH в Google Sheets — множественные совпадения с функцией VLOOKUP
Какую бы функцию поиска вы ни предпочли, ВПР или ПОИСКПОЗ ПО ИНДЕКСУ, есть лучшая альтернатива им обоим.
Несколько совпадений ВПР это специальное дополнение для Google Таблиц, предназначенное для:
- поиск без формул
- поиск по всем направлениям
- поиск по нескольким условиям для разных типов данных: текст, числа, даты, время, и т.п.
- получить несколько совпадений, столько, сколько вам нужно (конечно, при условии, что в вашей таблице их столько)
Интерфейс простой, так что сомневаться в том, что вы все делаете правильно, не придется:
- Выберите исходный диапазон.
- Установите количество совпадений и столбцов для возврата.
- Настройте условия с помощью предопределенных операторов (содержит, =, не пусто, междутак далее.).
Вы также сможете:
- предварительно просмотреть результат
- решить, где разместить
- и как: формулой или просто значениями
Не упустите возможность проверить дополнение. Иди вперед и установите его из Google Workspace Marketplace. Его учебная страница подробно объяснит каждый вариант.
Также мы подготовили специальное обучающее видео:
Пример функции ПОИСКПОЗ в Excel без функции ИНДЕКС
Во многих поисковых формулах очень часто приходится использовать функцию ПОИСКПОЗ как вспомогательную в комбинациях с другими функциями такими как: ИНДЕКС, ВПР, ГПР и др. Но какую пользу может приносить данная функция работая самостоятельно. Из самого названия функции ПОИСКПОЗ понятно, что ее главная задача заключается в определении позиции исходного значения, которое содержит диапазон ячеек или таблица. Применять эту функцию очень просто для диапазонов или таблиц с одним столбцом или с одной строкой. Поэтому сразу усложним задачу и на конкретном примере проиллюстрируем как применять функцию ПОИСКПОЗ для таблицы с двумя столбцами и более.
Макрос поиска ячейки с выпадающим списком
Допустим у нас имеется таблица Excel сформированная в результате экспорта журнала фактур из истории взаиморасчетов с клиентами фирмы, как показано ниже на рисунке:
Нам необходимо найти все выпадающие списки или определить каким ячейкам присвоена проверка вводимых данных, создана инструментом: «ДАННЫЕ»-«Работа с данными»-«Проверка данных».
В программе Excel по умолчанию есть встроенный инструмент для поиска ячеек с проверкой правил вводимых значений. Чтобы его использовать следует выбрать: ГЛАВНАЯ»-«Редактирование»-«Найти и выделить»-«Выделить группу ячеек». В появившемся диалоговом окне следует отметить опцию «проверка данных» и нажать на кнопку ОК. Но как всегда более гибким решением является написание своего специального макроса. Ведь в такие случаи всегда можно усовершенствовать инструмент и дописать много других полезных функций. А этот код макроса послужит прекрасным началом программы.
Откройте редактор макросов Visual Basic (ALT+F11) и создайте новый модуль выбрав в редакторе инструмент: «Insert»-«Module». В созданный модуль введите VBA код макроса:
Если нужно выделить все ячейки в таблице, которые содержат проверку вводимых значений включенной инструментом «Проверка данных», тогда выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«ProvDan»-«Выполнить».
В результате выделились 14 ячеек в столбце G, для которых включена проверка данных в стиле выпадающего списка:
В данном коде мы сначала выделяем все ячейки на текущем листе с помощью инструкции:
Cells.Select
После, определяем диапазон ячеек на листе, который использует исходная таблица и с которыми будет работать наш макрос. Чтобы определить диапазон таблицы на рабочем листе Excel, мы могли бы использовать свойство UsedRange при создании экземпляра объекта Range в переменной diapaz1. Данное свойство охватывает только непустые ячейки, а это может быть даже несмежный диапазон. Но таблица может содержать пустые ячейки для, которых присвоена проверка ввода значений. Чтобы наш макрос не игнорировал пустые ячейки внутри таблицы мы определяем смежный (неразрывный) диапазон, который начинается с ячейки A1 и заканчивается последней используемой ячейкой на рабочем листе Excel.
Set diapaz1 = Application.Range(ActiveSheet.Range(“A1”), ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell))
Последняя ячейка находиться наиболее отдаленно от ячейки A1 (в данном примере – это G15) и была использована на листе (это обязательное условие). При чем использована в прямом смысле, она может даже не содержать значения, но иметь измененный числовой формат, другой цвет фона, другие границы, объединение и т.п. Чтобы найти последнюю используемую ячейку на листе стандартными средствами Excel, выберите инструмент: «ГЛАВНАЯ»-«Редактирование»-«Найти и выделить»-«Выделить группу ячеек».
В появившемся окне следует выбрать опцию «последнюю ячейку». А после просто нажать ОК. Курсор клавиатуры сразу переместиться на последнюю используемую ячейку на рабочем листе Excel.
Можно даже при создании экземпляра объекта Range в переменной diapaz1 использовать диапазон целого листа. Для этого просто замените выше описанную инструкцию на:
Set diapaz1 = Selection
Так на первый взгляд даже проще, но тогда макрос будет проверять все ячейки на листе и потребует больше ресурсов. Особенно если мы при изменении этой инструкции не удалим инструкцию выделения всех ячеек на листе Excel. Таким кодом макроса, можно существенно снизить производительность работы программы Excel при его выполнении. Поэтому так делать не рекомендуется. Проверяйте ячейки только те, которые были использованы на листе. Так вы получите в десятки раз меньший диапазон и выше производительность макроса.
Далее в коде макроса перед циклом прописана инструкция для выключения обработки ошибок, выполняемых в коде.
On Error Resume Next
Но после конца цикла обработка ошибок снова включается.
On Error GoTo 0
Внутри цикла проверяться по отдельности все ячейки на наличие включенной проверки вводимых значений инструментом «Проверка данных». Если ячейка содержит проверку вводимых значений?
If IsError(diapaz1(i).Validation.Type) Then
Тогда она присоединяется к диапазону ячеек, находящихся в переменной diapaz2.
Set diapaz2 = Application.Union(diapaz2, diapaz1(i))
В конце кода выделяется несмежный диапазон переменной diapaz2, который включает в себя все выпадающие списки на текущем рабочем листе Excel. И сразу же выводиться сообщение о количестве найденных и выделенных ячеек в этом же диапазоне.
MsgBox “Найдено: ” & diapaz2.Count & ” ячеек!”
Функция ПОИСКПОЗ в Excel – синтаксис и использование
Функция ПОИСКПОЗ в Excel ищет заданное значение в диапазоне ячеек и возвращает относительное положение этого значения.
Синтаксис формулы ПОИСКПОЗ выглядит следующим образом:
Искомое_значение (обязательный аргумент) – значение, которое вы хотите найти. Это может быть числовое, текстовое или логическое значение, а также ссылка на ячейку.
Просматриваемый_массив (обязательный аргумент) – диапазон ячеек для поиска.
Тип_сопоставления (необязательный аргумент) – определяет тип соответствия. Это может быть одно из следующих значений: 1, 0, -1.
- 1 или отсутствует (по умолчанию) – находит наибольшее значение в массиве, которое меньше или равно значению поиска. Массив поиска должен быть отсортирован в порядке возрастания, от самого маленького до большого или от A до Z.
- 0 – находит первое значение в массиве, которое в точности равно значению поиска. Сортировка не требуется.
- -1 – находит наименьшее значение в массиве, которое больше или равно значению поиска. Массив поиска должен быть отсортирован в порядке убывания, от самого большого до самого маленького или от Z до A.
Чтобы лучше разобраться в данной функции, давайте напишем простую формулу ПОИСКПОЗ, основанную на следующих данных: фамилии студентов в столбце A и их баллы по экзаменам в столбце B, отсортированные от самых высоких до самых низких. Чтобы узнать, где среди других находится конкретный студент (например, студентка Виноградова), используйте эту простую формулу:
=ПОИСКПОЗ(E1; A2:A8; 0)
При желании вы можете поместить значение поиска в ячейку (E1 в данном примере) и сослаться на эту ячейку в формуле ПОИСКПОЗ Excel:
Функция ПОИСКПОЗ в Excel – Пример использования функции ПОИСКПОЗ в Excel
Как вы видите на изображении выше, фамилии студентов вводятся в произвольном порядке, поэтому мы устанавливаем аргумент тип_сопоставления равным 0 (точное совпадение), поскольку только этот тип соответствия не требует сортировки значений в массиве поиска. Технически формула ПОИСКПОЗ возвращает относительное положение студентки Виноградовой в исследуемом диапазоне. Но поскольку оценки сортируются от самых высоких до самых низких, это также говорит нам о том, что Виноградова пятая по счету среди всех учеников.
Особенности функции ПОИСКПОЗ Excel
Как вы только что видели, использовать ПОИСКПОЗ в Excel легко. Однако, как и у любой функции Excel, у нее есть несколько особенностей, о которых следует знать:
- Функция ПОИСКПОЗ возвращает относительное положение значения поиска в массиве, а не самого значения.
- ПОИСКПОЗ не зависит от регистра , что означает, что она не различает строчные и прописные символы при работе с текстовыми значениями.
- Если массив поиска содержит несколько вхождений искомого значения, возвращается позиция первого значения.
- Если искомое значение не найдено в просматриваемом массиве, возвращается ошибка #Н/Д.
Примеры
Формула =ПОИСК(«к»;»Первый канал») вернет 8, т.к. буква к находится на 8-й позиции слева.
Пусть в ячейке А2 введена строка Первый канал — лучший . Формула =ПОИСК(СИМВОЛ(32);A2) вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.
Формула =ПОИСК(«#. #»;»Артикул #123# ID») будет искать в строке » Артикул #123# ID » последовательность из 5 символов, которая начинается и заканчивается на знак #.
Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу =ПОИСК(«а»;»мама мыла раму»;ПОИСК(«а»;»мама мыла раму»)+1). Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения м»;»Есть третье вхождение м»)
Формула =ПОИСК(«клад?»;»докладная») вернет 3, т.е. в слове «докладная» содержится слово из 5 букв, первые 4 из которых клад (начиная с третьей буквы слова докладная ).
Объединяем несколько условий.
Для описания условия в функции ЕСЛИ Excel позволяет использовать более сложные конструкции. Также можно использовать несколько условий. В этом случае мы также воспользуемся тем, что функции могут быть «вложены» друг в друга.
Чтобы объединить несколько условий в одно, мы используем логические функции ИЛИ и И. Рассмотрим простые примеры.
Пример 1
Функция ИЛИ возвращает ИСТИНА, если хотя бы одно из нескольких перечисленных в ней условий истинно.
= SE (OR (C2 = «Восток», C2 = «Юг»), «Экспорт», «Местный»)
Мы вставляем функцию ИЛИ как условие в функцию ЕСЛИ. В нашем случае, если регион покупателя — Восток или Юг, отгрузка считается экспортной.
Пример 2.
Давайте использовать несколько более сложных условий в функции ЕСЛИ.
Если регион продаж — Запад или Юг и количество больше 100, предоставляется скидка 10%.
= SE (И (ИЛИ (C2 = Запад, C2 = Юг), E2> 100), F2 * 0,1,0)
Функция И возвращает ИСТИНА, если все перечисленные в ней условия выполнены. Внутри функции И мы устанавливаем два условия:
- Регион — Запад или Юг
- Число больше 100.
Первый из них реализован так же, как и первый пример: ИЛИ (C2 = «Запад», C2 = «Юг»)
Во-вторых, здесь все очень просто: E2> 100
В строках 2, 3 и 5 выполняются оба условия. Эти покупатели получат скидку.
В строке 4 ни один из них не был выполнен. А в строке 6,7,8 выполняется только первая, но ее слишком мало. Следовательно, скидка будет нулевая.
Пример 3.
Конечно, эти несколько условий могут быть более сложными. Ведь логические функции можно «вкладывать» друг в друга.
Например, помимо вышеуказанного условия, скидка предоставляется только на темный шоколад.
Все наши ранее написанные условия, в свою очередь, становятся первым аргументом в новой функции И:
- Регион — Запад или Юг и число больше 100 (рассмотрено в примере 2)
- В названии шоколада присутствует слово «черный».
В результате мы получаем формулу ЕСЛИ с несколькими условиями:
= ЕСЛИ (И (ЕЧИСЛО (НАЙТИ («Черный»; D2)),И (ИЛИ (C2 = «Запад», C2 = «Юг»)), E2> 100), F2 * 0,1,0)
Функция НАЙТИ ищет точное совпадение. Если для нас не важен регистр символов в тексте, то вместо НАЙТИ можно использовать аналогичную функцию ТОЧНЫЙ.
= ЕСЛИ (И (ЕЧИСЛО (МАТЧ («черный»; D2)),И (ИЛИ (C2 = «Запад», C2 = «Юг»)), E2> 100), F2 * 0,1,0)
В результате количество вложенных условий в Excel может быть очень большим
Важно лишь строго соблюдать логическую последовательность их выполнения
Заполняем аргументы функции
Функция ЕСЛИ предполагает, что пользователь создаёт запрос и указывает два варианта ответа на него. Этот запрос и варианты ответа — и есть три аргумента функции.
«Лог_выражение» (логическое выражение) — запрос пользователя, который функция будет проверять. В нашем примере это стоимость автомобилей.
Нужно, чтобы функция определила автомобили стоимостью менее или равной 2 500 000 рублей. Порядок действий следующий:
1. Ставим курсор в окно «Лог_выражение» в построителе формул.
2. Выбираем первое значение столбца «Цена, руб.» — ячейку Е2. Обозначение ячейки переносится в окно «Лог_выражение» построителя формул и одновременно с этим появляется в строке ссылок.
Выделяем первую ячейку столбца, в котором нужно проверить условие пользователяСкриншот: Excel / Skillbox Media
3. Дополняем значение E2 запросом пользователя: <=2500000. Одновременно с этим формула в строке ссылок принимает вид:fx=ЕСЛИ(E2<=2500000).
Так выглядит первый аргумент функции после заполненияСкриншот: Excel / Skillbox Media
«Значение_если_истина» — результат, который функция принесёт в ячейку, если значение совпадёт с запросом пользователя. В случае с примером — что напишет функция, если проверяемая стоимость авто будет меньше либо равна 2 500 000 рублей.
Наша задача — определить, подходят автомобили каталога под запрос клиента или нет. Поэтому в окне аргумента истины введём значение «Подходит» — можно вводить его без кавычек, Excel добавит их самостоятельно.
Заполняем значение ИСТИНАСкриншот: Excel / Skillbox Media
«Значение_если_ложь» — результат, который функция принесёт в ячейку, если значение не совпадёт с запросом пользователя. В нашем примере — что напишет функция, если проверяемая стоимость авто будет больше 2 500 000 рублей.
Введём в качестве аргумента ЛОЖЬ значение «Не подходит».
Итоговая формула в строке ссылок примет вид:fx=ЕСЛИ(E2<=2500000;»Подходит»;»Не подходит»).
Почему ИНДЕКС/ПОИСКПОЗ лучше, чем ВПР?
Решая, какую формулу использовать для вертикального поиска, большинство гуру Excel считают, что ИНДЕКС/ПОИСКПОЗ намного лучше, чем ВПР. Однако, многие пользователи Excel по-прежнему прибегают к использованию ВПР, т.к. эта функция гораздо проще. Так происходит, потому что очень немногие люди до конца понимают все преимущества перехода с ВПР на связку ИНДЕКС и ПОИСКПОЗ, а тратить время на изучение более сложной формулы никто не хочет.
Далее я попробую изложить главные преимущества использования ПОИСКПОЗ и ИНДЕКС в Excel, а Вы решите – остаться с ВПР или переключиться на ИНДЕКС/ПОИСКПОЗ.
4 главных преимущества использования ПОИСКПОЗ/ИНДЕКС в Excel:
1. Поиск справа налево. Как известно любому грамотному пользователю Excel, ВПР не может смотреть влево, а это значит, что искомое значение должно обязательно находиться в крайнем левом столбце исследуемого диапазона. В случае с ПОИСКПОЗ/ИНДЕКС, столбец поиска может быть, как в левой, так и в правой части диапазона поиска. Пример: покажет эту возможность в действии.
2. Безопасное добавление или удаление столбцов. Формулы с функцией ВПР перестают работать или возвращают ошибочные значения, если удалить или добавить столбец в таблицу поиска. Для функции ВПР любой вставленный или удалённый столбец изменит результат формулы, поскольку требует указывать весь диапазон и конкретный номер столбца, из которого нужно извлечь данные.
Например, если у Вас есть таблица A1:C10, и требуется извлечь данные из столбца B, то нужно задать значение 2 для аргумента col_index_num (номер_столбца) функции ВПР, вот так:
Если позднее Вы вставите новый столбец между столбцами A и B, то значение аргумента придется изменить с 2 на 3, иначе формула возвратит результат из только что вставленного столбца.
Используя ПОИСКПОЗ/ИНДЕКС, Вы можете удалять или добавлять столбцы к исследуемому диапазону, не искажая результат, так как определен непосредственно столбец, содержащий нужное значение. Действительно, это большое преимущество, особенно когда работать приходится с большими объёмами данных. Вы можете добавлять и удалять столбцы, не беспокоясь о том, что нужно будет исправлять каждую используемую функцию ВПР.
3. Нет ограничения на размер искомого значения. Используя ВПР, помните об ограничении на длину искомого значения в 255 символов, иначе рискуете получить ошибку #VALUE! (#ЗНАЧ!). Итак, если таблица содержит длинные строки, единственное действующее решение – это использовать ИНДЕКС/ПОИСКПОЗ.
Предположим, Вы используете вот такую формулу с ВПР, которая ищет в ячейках от B5 до D10 значение, указанное в ячейке A2:
Формула не будет работать, если значение в ячейке A2 длиннее 255 символов. Вместо неё Вам нужно использовать аналогичную формулу ИНДЕКС/ПОИСКПОЗ:
4. Более высокая скорость работы. Если Вы работаете с небольшими таблицами, то разница в быстродействии Excel будет, скорее всего, не заметная, особенно в последних версиях. Если же Вы работаете с большими таблицами, которые содержат тысячи строк и сотни формул поиска, Excel будет работать значительно быстрее, при использовании ПОИСКПОЗ и ИНДЕКС вместо ВПР. В целом, такая замена увеличивает скорость работы Excel на 13%.
Влияние ВПР на производительность Excel особенно заметно, если рабочая книга содержит сотни сложных формул массива, таких как . Дело в том, что проверка каждого значения в массиве требует отдельного вызова функции ВПР. Поэтому, чем больше значений содержит массив и чем больше формул массива содержит Ваша таблица, тем медленнее работает Excel.
С другой стороны, формула с функциями ПОИСКПОЗ и ИНДЕКС просто совершает поиск и возвращает результат, выполняя аналогичную работу заметно быстрее.
Как найти значение в Excel
Когда вы работаете с электронной таблицей, иногда вам нужно искать определенное значение ячейки. Конечно, если это небольшой лист, вы можете пробежаться глазами по экрану, чтобы найти ячейку. Но эта задача может быстро стать обременительной, если нужно обработать тысячи строк и столбцов.
Не волнуйся. Функция поиска в Microsoft Excel поможет вам. Чтобы найти определенное значение ячейки:
- Сначала выберите диапазон ячеек, в котором вы хотите выполнить поиск. Если вы хотите выполнить поиск по всей таблице, просто щелкните случайную ячейку.
- Перейдите на главную> Найти и выбрать> Найти . Как вариант, вы также можете использовать комбинацию клавиш Ctrl + F.
- Рядом с меткой « Найти» введите значение, которое вы хотите найти.
- Excel выделит первое появление значения в электронной таблице. Нажмите кнопку « Найти далее» , чтобы перейти ко второй ячейке.
Вы можете перечислить все вхождения поискового запроса, щелкнув опцию « Найти все» . Нажав на запись, вы попадете в соответствующую ячейку.
Используйте подстановочные знаки для поиска ячеек
Excel также позволяет использовать подстановочные знаки при поиске значений в электронной таблице.
- Звездочка (*) : соответствует строке символов. Ab * будет соответствовать Abbott, Abandon, Absolutely и т. Д.
- Вопросительный знак (?) : Соответствует одному символу. Ab? будет соответствовать Abc, Abd, Abz и т. д.
Например, для поиска значений, начинающихся с J в электронной таблице, введите «J *» в поле « Найти» .
Найти ячейки с определенным форматированием
Excel также позволяет искать форматирование ячейки, а не ее значение. Для этого нажмите Ctrl + F, чтобы открыть диалоговое окно « Найти и заменить ». Затем нажмите на опцию « Формат», расположенную справа.
Выберите форматирование, которое вы хотите найти. Например, варианты форматирования на изображении ниже будут искать ячейки с зеленым фоном.
Щелкните ОК . Затем выберите вариант « Найти далее» или « Найти все» . Excel перечислит все ячейки с тем же стилем форматирования, который вы указали.
Найти ячейки с формулами
Точно так же вы также можете искать ячейки, в которых используются формулы. Перейдите на главную> Найти и выбрать, а затем нажмите на опцию Перейти к специальному .
Excel отобразит список параметров с флажками. Проверьте формулы и выберите подпункты, которые соответствуют вашим потребностям. Параметры « Числа» выделяют формулы, возвращающие числа, « Текст» – формулы, возвращающие текстовое значение, и т. Д.
После этого нажмите OK , и Excel выделит все ячейки с формулами, соответствующими критериям.
Способ 2. ВПР с несколькими условиями в Excel при помощи сочетания функций ИНДЕКС / ПОИСКПОЗ
В этом способе, на самом деле, совсем не используется функция ВПР. Однако, он решает ту же самую задачу — подтянуть значения из таблицы-источника по нескольким условиям.
Этот способ удобен тем, что не нужно создавать дополнительных столбцов в таблице-источнике (на практике не всегда возможно добавить столбец — источник может быть защищен от изменений).
В данном примере мы не будем разбирать, как работают функции ИНДЕКС и ПОИСКПОЗ по отдельности, а рассмотрим только, как решить нашу задачу — сделать ВПР с несколькими условиями в excel на примере.
Скопируем в нашем примере строку с условиями поиска и напишем следующую формулу:
После написания формулы необходимо нажать сочетание клавиш Ctrl + Shift + Enter. Это необходимо сделать, т.к. это формула массива — в противном случае выйдет ошибка #ЗНАЧ.
Давайте разберем формулу:
=ИНДЕКС(L4:L13;ПОИСКПОЗ(B5&C5&D5;I4:I13&J4:J13&K4:K13;0))
-
-
- L4:L13 — массив, из которого будет подтягиваться информация. Тот столбец, данные из которого нам нужны.
- B5&C5&D5 — критерии для поиска, которые мы объединили между собой оператором конкатенации &.
- I4:I13&J4:J13&K4:K13 — столбцы, в которых будут происходить поиск по заданным критериям.
-
I4:I13 — столбец с марками автомобилей (соответствует критерию в ячейке В5)
J4:J13 — столбец с моделями автомобилей (соответствует критерию в ячейке С5)
K4:K13 — столбец с цветом автомобилей (соответствует критерию в ячейке D5)
Обратите внимание, что столбцы, в которых будет происходить поиск, должны располагаться в формуле в таком же порядке, как и критерии поиска
4 Функция СОВПАД
Достаточно просто выполнить в Эксель сравнение двух столбцов с помощью еще двух полезных операторов — распространенного ИЛИ и встречающейся намного реже функции СОВПАД. Для ее использования выполняются такие действия:
- В третьем столбце, где будут размещаться результаты, вводится формула =ИЛИ(СОВПАД(I6;$H$6:$H$19))
- Вместо нажатия Enter нажимается комбинация клавиш Ctr + Shift + Enter. Результатом станет появление фигурных скобок слева и справа формулы.
- Формула протягивается вниз, до конца сравниваемой колонки — в данном случае проверяется наличие данных из второго столбца в первом. Это позволит изменяться сравниваемому показателю, тогда как знак $ закрепляет диапазон, с которым выполняется сравнение.
Функция ИНДЕКС Google Таблиц
В то время как ПОИСКПОЗ показывает, где искать ваше значение (его положение в диапазоне), функция ИНДЕКС Google Таблиц извлекает само значение на основе его смещения строки и столбца:
=ИНДЕКС(ссылка, , )
- ссылка это диапазон для поиска. Требуется.
- строка это количество строк для смещения от самой первой ячейки вашего диапазона. Необязательный, 0, если опущен.
- столбецкак строка, — количество смещенных столбцов. Также необязательно, также 0, если опущено.
Если вы укажете оба необязательных аргумента (строку и столбец), Google Sheets INDEX вернет запись из целевой ячейки:
=ИНДЕКС(A1:C10, 7, 1)
Пропустите один из этих аргументов, и функция получит всю строку или столбец соответственно:
=ИНДЕКС(A1:C10, 7)