Если вы работаете с большим листом, на котором содержится множество данных, найти нужную информацию бывает непросто. Диалоговое окно Найти и заменить – удобный инструмент для поиска информации, но некоторые его возможности неизвестны большинству пользователей. [1] Чтобы открыть диалоговое окно Найти и заменить, нажмите Ctrl+F (откроется вкладка Найти) или Ctrl+H (Н английское, откроется вкладка Заменить). Чтобы увидеть дополнительные опции, нажмите кнопку Параметры (рис. 1).
Рис. 1. Диалоговое окно Найти и заменить, открытое на вкладке Найти
Скачать заметку в формате Word или pdf
Часто требуется найти «приблизительно известный» текст. Например, вы можете искать данные о клиенте, которого зовут Стивен Р. Розенкранц. Разумеется, можно попробовать поискать точный текст и ввести «Стивен Р. Розенкранц». Однако не исключено, что такой поиск не даст результатов. Клиент может быть внесен в базу иначе, например, С. Р. Розенкранц, Стив Розенкранц или даже с ошибкой в фамилии как Розенкраитц.
Наиболее эффективный способ поиска такого имени связан с использованием джокерного символа – вводите запрос: С*Розен*, а потом нажимаете кнопку Найти все. Таким образом вы не только сокращаете объем вводимого текста, но и практически со 100%-ной вероятностью находите клиента, если такая запись есть на рабочем листе. Возможно, поиск выдаст и другие записи, которые вы не искали, но это лучше, чем не найти вообще ничего.
Диалоговое окно Найти и заменить поддерживает работу с двумя джокерными символами:
- ? – соответствует любому отдельно взятому символу;
- * – соответствует любому количеству символов.
Джокерные символы применимы и при работе со значениями. Например, поиск по запросу 3* выдает все ячейки, в которых содержатся записи, начинающиеся с 3. Поиск по запросу 1?9 даст все записи из трех цифр, которые начинаются с 1 и заканчиваются на 9.
Чтобы найти вопросительный знак или звездочку, поставьте перед этим символом тильду (~). Так, следующая поисковая строка позволяет найти текст *NONE*: ~*N0NE~*. Если требуется найти тильду, используйте две тильды.
Если вам кажется, что поиск работает неправильно, дважды щелкните на каждом из трех следующих параметров (кажется, что иногда их значения меняются сами по себе):
- Учитывать регистр — если этот флажок установлен, то необходимо точное совпадение текста. Например, поиск по запросу смит не выдаст фамилию Смит.
- Ячейка целиком — если установлен данный флажок, то совпадение будет, лишь когда в ячейке содержится только эта текстовая строка (и ничего более). Например, поиск по запросу Excel не выдаст ячейку, в которой написано Microsoft Excel.
- Область поиска – в этом раскрывающемся списке содержится три варианта: формулы, значения и примечания. Например, выбран вариант значения. В этом случае поиск по запросу 900 не найдет ячейку с записью 900, если это число является результатом работы формулы.
Не забывайте, что поиск охватывает только выделенный диапазон ячеек. Если вы хотите выполнить поиск по всему рабочему листу, сначала выделите только одну ячейку. Кроме того, помните, что при поиске не учитывается числовое форматирование. Например, если у вас есть значение в формате валюты, записанное как $54,00, то поиск по запросу $5* Excel не выдаст его.
Работа с датами может быть довольно сложной, так как в Excel есть множество способов форматирования дат. Если при поиске даты вы используете формат по умолчанию, то Excel найдет и даты, которые отформатированы иначе. Например, если в системе используется формат даты д/м/г, то поисковый запрос */10/2013 выдаст все даты за октябрь 2013 года, независимо от того, как они отформатированы.
Вы также можете пользоваться пустым полем Заменить на. Например, чтобы быстро удалить с рабочего листа все звездочки, введите ~* в поле Найти, а поле Заменить на оставьте пустым. После нажатия кнопки Заменить все Excel найдет все звездочки и удалит их.
[1] По материалам книги Джон Уокенбах. Excel 2013. Трюки и советы. – СПб.: Питер, 2014. – С. 203, 204.
При большом количестве данных на листе Excel рано или поздно придется выполнить поиск переделенного значения. Простой поиск выполняется с помощью команды: «Найти и выделить», которая находится в группе «Редактирование» на вкладке «Главная».
Смотрите также видеоверсию статьи «Секреты поиска в Excel».
Вызвать диалоговое окно поиска можно также и с помощью горячего сочетания клавиш «Ctrl+F«.
На самом деле, диалоговое окно называется «Найти и заменить«, поскольку оно решает эти две смежные задачи и если его вызвать через горячее сочетание «Ctrl+H«, то будет все тоже самое, только окно откроется с активированной вкладкой «Заменить».
Здесь, на первый взгляд, все просто: ввел слово и нашел необходимую ячейку на листе Excel. Конечно, нельзя исключать и такой вариант развития, когда поиск будет выполнен быстро, однако, более вероятна ситуация, когда вы вводите искомое значение, а табличный процессор не ищет его, или нужно выполнить нестрогий поиск, когда искомый текст помнится приблизительно, что кстати, часто бывает при поиске людей по фамилии.
В этом материале и рассмотрим нюансы и секреты окна поиска, которые большинству пользователей не знакомы.
Некоторые настройки, которые могут помочь в решении поставленной задачи скрываются за кнопкой «Параметры».
Рассмотрим ситуацию, когда нужно найти сотрудника Комарова Александра Ивановича, но есть ряд факторов, из-за которых возникают сложности:
- мы не знаем, как он записан, с полной расшифровкой имени и отчества, или только инициалы;
- есть определенная неуверенность в том какая вторая буква «а» или «о»;
- не понятно, как точно записан сотрудник сначала фамилия, потом имя и отчество или наоборот.
Комаров Александр Иванович может быть записан как: А. Комаров, Комаров Александр, Камаров Александр И. и т.д. вариантом достаточно.
Чтобы выполнить нестрогий поиск, следует воспользоваться символами-заменителями их еще называют джокерными символами. Окно поиска в Excel поддерживает работу с двумя такими символами: «*» и «?»:
- «*» соответствует любому количеству символов;
- «?» соответствует любому отдельно взятому символу.
Здесь сразу же возникает вопрос, а что делать если необходимо выполнить поиск вопросительного знака или астериск (известный как знак умножения)? Все просто, достаточно перед искомыми знаками просто поставить тильду «~», соответственно, если необходимо выполнить поиск тильды, тогда необходимо поставить две тильды.
Итак, для осуществления неточного поиска по вышеупомянутой фамилии, следует записать в окно поиска «К?маров» и нажать на кнопку «Найти все», в этом случае в окне поиска будет выведены все записи, удовлетворяющие поставленному условию, но только, если не отмечен параметр «Ячейка целиком».
Параметр «Ячейка целиком» означает поиск строго текстовой строки, введенной в поле найти и ничего более, другими словами, если кроме фамилии есть еще инициалы, то запись найдена не будет.
В тоже время, если немного перестроить запрос «*К?маров*», тогда записи будут найдены вне зависимости от активности параметра «Ячейка целиком».
При осуществлении поиска в Excel нужно помнить несколько важных правил:
- Поиск выполняется в выделенной области, а если нет выделения, тогда на всем листе. Поэтому не стоит удивляться, если вы случайно выделите пару пустых ячеек, запустите окно поиска и не сможете ничего найти.
- При поиске не учитывается форматирование, поэтому, никаких знаков обозначения валюты добавлять не стоит.
- При работе с датами, лучше выполнять поиск их в формате по умолчанию для конкретной системы, в этом случае, в Excel будут найдены все даты, удовлетворяющие условию. Например, если в системе используется формат д/м/г, то поисковый запрос */12/2015 выведет все даты за декабрь 2015 года, независимо от того, как они отформатированы (28.12.2015, 28/12/2015, или 28 декабря 2015 и т.д.).
Чтобы поисковые функции Excel: ВПР, ГПР и ПОИСКПОЗ выполняли точный поиск с точным совпадением искомого и проверяемого значения ячеек или возвращали ошибку, в последнем третьем их аргументе должно быть указано – ЛОЖЬ или 0. При этом независимо отсортирован ли просматриваемый список значений или нет.
Формула приблизительного поиска неточных совпадений в Excel
Поисковые функции Excel предназначенные для выборки значений из таблиц позволяют находить данные также если необходимо найти приблизительное значение. Но только в сортированных списках значений таблицы по возрастанию.
Ниже на рисунке проиллюстрировано метод расчета суммы налога. Таблица процентных ставок налога не содержит всевозможные варианты, а только некоторые определенные их границы пределов. Сначала необходимо определить, в котором диапазоне границ налоговой ставки будет находится зарплата того или иного сотрудника. А далее следует использовать полученную информацию из найденного наиболее близкого значения для налоговых расчетов:
Формула использует три функции ВПР для считывания 3-х значений с таблицы. В последнем аргументе каждой функции находится логическое значение ИСТИНА. Это значит, что необходимо найти приблизительное значение, а необязательно точное совпадение.
Чтобы любая поисковая функция выборки в Excel: ВПР, ГПР либо ПОИСКПОЗ со значением ИСТИНА в третьем аргументе возвращала правильный результат вычисления, данные в просматриваемом столбце (в данном примере это диапазон ячеек B2:B9) должны быть отсортированы по возрастанию. Функция ВПР поочередно проверяет все значения и закончит поиск, если следующее значение будет больше чем искомое. После чего поиск прекращается. Вот почему нужно сортировать исходный диапазон по возрастанию. Таким способом найдено наибольшее значение, которое одновременно с тем меньше чем искомое.
Внимание! Поиск приблизительного соответствия значений с помощью поисковых функций Excel не предоставляют возможность находить максимально приближенное значение. Возвращается лишь только наибольшее число, которое является меньшим от искомого. Даже если очередное проверяемое значение является максимально приблизительным к искомому значению.
Внимание! Если данные в просматриваемом функцией столбце не отсортированы по возрастанию, поисковая функция при выборке вернет не ошибку, а только лишь ошибочный результат (что еще хуже ошибки)! Функции, предназначенные для приблизительного поиска соответствий, используют в своих алгоритмах бинарный метод. Согласно этому алгоритму поиск начинается от середины столбца, а в процессе происходит проверка находится ли искомое значение в верхней или нижней части. Когда определена более подходящая часть столбца, она снова делится на половину и снова проверяется от своей середины. Данный процесс повторяется пока не будет найден результат.
Поэтому бинарный поиск по неотсортированным диапазонам значений с большой вероятностью может привести к тому, что поисковая функция выберет неправильную половину просматриваемого столбца и возвратит ошибочное значение (при этом без кода ошибки).
В выше приведенном примере функция ВПР закончит поиск на второй строке просматриваемого столбца так как число 1023 является наибольшим числом, которое меньше от искомого числа 2003,89. Условно формулу можно разделить на 3, которые последовательно выполняют следующие операции:
- Первая функция ВПР возвращает базовую налоговую ставку с третьего столбца таблицы, то есть число 69,80.
- Следующая функция ВПР ищет тоже самое приблизительное значение для числа 2003,89, но уже по первому столбцу «Зарплата от». После чего найденное приближенное значение вычитаемое от искомого.
- Третья функция ВПР возвращает процентную ставку с четвертого столбца таблицы. Полученная ставка умножается на чистую зарплату netto – после всех вычетов, а результат прибавляется к базовой ставке.
Когда все функции ВПР возвратят свои результаты, выполняются следующие арифметические вычисления с числами:
=69,80+(2003,89-1023,00)*15,0%
Поиск данных с приблизительным совпадением выполняется существенно быстрее чем при точном поиске. При точном совпадении поисковая функция должна проверять по очереди содержимое каждой ячейки в просматриваемом столбце. Если вы уверенны что исходные данные просматриваемого столбца отсортированы по возрастанию, можно ускорить точный поиск указав в третьем аргументе поисковой функции значение ИСТИНА. В случаи приблизительного совпадения значений, всегда будет найдено точное значение с точным совпадением с искомым. Главное, чтобы оно действительно фактически присутствовало в списке значений, а сам список было отсортирован по возрастанию.
Пример формулы для приблизительного поиска ИНДЕКС и ПОИСКПОЗ в Excel
Любые поисковые функции для выборки можно заменить формулой из комбинации функций ИНДЕКС и ПОИСКПОЗ. Последний аргумент функции ПОИСКПОЗ позволяет переключатся между приблизительными и точным поиском, подобно как в функциях ВПР и ГПР. Но отличительным преимуществом функции ПОИСКПОЗ является возможность выполнять поиск с приблизительным совпадением при отсортированных значениях по убыванию.
Ниже на рисунке приведена та же таблица с налоговыми ставками, но отсортирована по убыванию. Новая формула в ячейке … использует формулу функций ИНДЕКС и ПОИСКПОЗ возвращает правильный результат:
Старая формула с функциями ВПР в таком случае возвращает ошибку #Н/Д! вместо итогового результата в ячейке D15. Так получается потому что функция ВПР начинает свой поиск от среднего значения просматриваемого столбца, после чего определяет, что искомое значение является меньшим. Поэтому она анализирует только верхнюю часть столбца. Та как значения отсортированы по убыванию, то в первой половине столбца уж точно не найдется значения меньше чем искомое.
В тоже время новая формула в ячейке D17 возвращает правильный итоговый результат вычислений.
В отличии от других поисковых функций последним аргументом функции ПОИСКПОЗ может быть и отрицательное число, а точнее одно из трех вариантов: -1, 0, 1:
- Отрицательное значение -1 используется в случаях работы с данными отсортированными по убыванию. Функция возвращает из просматриваемого столбца наименьшее значение, которое является большим по отношению к искомому. Нельзя использовать отрицательную единицу с минусом (-1) в третьем аргументе для поисковых функций выборки данных ВПР и ГПР. Там нет соответственного режима работы функции.
- Значение 0 используется для обработки неотсортированных списков данных, с целью поиска точного совпадения значений с искомым. Поведение функции ПОИСКПОЗ с нулевым значением в третьем аргументе (0) – соответствует поведению функций ВПР и ГПР с тратим аргументом равному ЛОЖЬ или 0.
- Значение 1 применяется к спискам данных отсортированных по возрастанию. В таком случае функция возвращает из просматриваемого столбца наибольшее значение, которое меньше от искомого. Положительное число 1 в третьем аргументе функции ПОИСКПОЗ работает аналогично как ИСТИНА или 1 для функций ВПР и ГПР в этом же аргументе.
Так как функция ПОИСКПОЗ с последним аргументом равным отрицательному число -1 ищет значение больше чем искомое к возвращаемому результату следует добавить число +1, чтобы получить правильный номер строки для функции ИНДЕКС.
andreyka33 Пользователь Сообщений: 98 |
#1 10.06.2019 17:35:47 День добрый всем ! Есть макрос поиска по InStr- нашел на просторах инета приспособил под свои нужды
Вопрос в том что нужно сделать нестрогий поиск — исключить спецсимволы (кавычки, точки, тире и пр) и лишние пробелы (не дожны учитываться при поиске)
чтоб не учитывал при поиске регистр,спецсимволы и лишние пробелы ? |
||||
Дмитрий(The_Prist) Щербаков Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#2 10.06.2019 18:59:26 Replace в помощь. В цикле убираете из сравниваемой строки все лишнее. Вроде того:
обе сравниваемые строки обрабатываете такой функцией и сравниваете. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
andreyka33 Пользователь Сообщений: 98 |
Благодарю — буду пробовать отпишусь как результат |
andreyka33 Пользователь Сообщений: 98 |
#4 10.06.2019 19:31:37 Так сделал — но ошибку дает на строке arr(i, 1) = DelTrash(arr(i, 1)) типа ByRef argument type mismatch
|
||
Дмитрий(The_Prist) Щербаков Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#5 10.06.2019 19:52:04 Так надо было хотя бы попытаться перевести текст ошибки Несовпадение типов. У Вас arr — тип Variant, а моя функция требует текст. Передавайте так:
можно и через CStr, но кто знает что там у Вас в arr — вдруг там Null откуда-то возьмется… Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
andreyka33 Пользователь Сообщений: 98 |
#6 10.06.2019 19:59:39 Дмитрий все заработало — еще раз благодарю за помощь! |
Поиск значений в списке данных
Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Предположим, что вы хотите найти расширение телефона сотрудника, используя его номер эмблемы или правильную ставку комиссионных за объем продаж. Вы можете искать данные для быстрого и эффективного поиска определенных данных в списке, а также для автоматической проверки правильности данных. После поиска данных можно выполнить вычисления или отобразить результаты с возвращаемой величиной. Существует несколько способов поиска значений в списке данных и отображения результатов.
Что необходимо сделать
-
Точное совпадение значений по вертикали в списке
-
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
-
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
-
Точное совпадение значений по горизонтали в списке
-
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
-
Создание формулы подступа с помощью мастера подметок (только в Excel 2007)
Точное совпадение значений по вертикали в списке
Для этого можно использовать функцию ВLOOKUP или сочетание функций ИНДЕКС и НАЙТИПОЗ.
Примеры ВРОТ
Дополнительные сведения см. в этой информации.
Примеры индексов и совпадений
Что означает:
=ИНДЕКС(нужно вернуть значение из C2:C10, которое будет соответствовать ПОИСКПОЗ(первое значение «Капуста» в массиве B2:B10))
Формула ищет в C2:C10 первое значение, соответствующее значению «Ольга» (в B7), и возвращает значение в C7(100),которое является первым значением, которое соответствует значению «Ольга».
Дополнительные сведения см. в функциях ИНДЕКС иФУНКЦИЯ MATCH.
К началу страницы
Подыыывка значений по вертикали в списке с помощью приблизительного совпадения
Для этого используйте функцию ВЛВП.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ВРОТ ищет имя учащегося, у которого 6 просмотров в диапазоне A2:B7. В таблице нет записи для 6 просмотров, поэтому ВРОТ ищет следующее самое высокое совпадение меньше 6 и находит значение 5, связанное с именем Виктор,и таким образом возвращает Его.
Дополнительные сведения см. в этой информации.
К началу страницы
Подстановка значений по вертикали в списке неизвестного размера с использованием точного совпадения
Для этого используйте функции СМЕЩЕНИЕ и НАЙТИВМЕСЯК.
Примечание: Используйте этот подход, если данные в диапазоне внешних данных обновляются каждый день. Вы знаете, что цена находится в столбце B, но вы не знаете, сколько строк данных возвращает сервер, а первый столбец не отсортировали по алфавиту.
C1 — это левые верхние ячейки диапазона (также называемые начальной).
MATCH(«Оранжевая»;C2:C7;0) ищет «Оранжевые» в диапазоне C2:C7. В диапазон не следует включать запускаемую ячейку.
1 — количество столбцов справа от начальной ячейки, из которых должно быть возвращено значение. В нашем примере возвращается значение из столбца D, Sales.
К началу страницы
Точное совпадение значений по горизонтали в списке
Для этого используйте функцию ГГПУ. См. пример ниже.
Г ПРОСМОТР ищет столбец «Продажи» и возвращает значение из строки 5 в указанном диапазоне.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Подыыывка значений по горизонтали в списке с использованием приблизительного совпадения
Для этого используйте функцию ГГПУ.
Важно: Убедитесь, что значения в первой строке отсортировали в порядке возрастания.
В примере выше ГЛЕБ ищет значение 11000 в строке 3 указанного диапазона. Она не находит 11000, поэтому ищет следующее наибольшее значение меньше 1100 и возвращает значение 10543.
Дополнительные сведения см. в сведениях о функции Г ПРОСМОТР.
К началу страницы
Создание формулы подступа с помощью мастера подметок (толькоExcel 2007 )
Примечание: В Excel 2010 больше не будет надстройки #x0. Эта функция была заменена мастером функций и доступными функциями подменю и справки (справка).
В Excel 2007 создается формула подытов на основе данных на основе данных на основе строк и столбцов. Если вы знаете значение в одном столбце и наоборот, мастер под поисков помогает находить другие значения в строке. В формулах, которые он создает, используются индекс и MATCH.
-
Щелкните ячейку в диапазоне.
-
На вкладке Формулы в группе Решения нажмите кнопку Под поиск.
-
Если команда Подытов недоступна, вам необходимо загрузить мастер под надстройка подытогов.
Загрузка надстройки «Мастер подстройок»
-
Нажмите кнопку Microsoft Office , выберите Параметры Excel и щелкните категорию Надстройки.
-
В поле Управление выберите элемент Надстройки Excel и нажмите кнопку Перейти.
-
В диалоговом окне Доступные надстройки щелкните рядом с полем Мастер подстрок инажмите кнопку ОК.
-
Следуйте инструкциям мастера.
К началу страницы