Функции поиска и замены в Excel используются для поиска в книге необходимой информации, например определенного числа или текстовой строки. Вы можете найти элемент поиска для справки или заменить его другим. Вы также можете найти ячейки, к которым применен определенный формат.
Чтобы найти текст или числа, нажмите клавиши CTRL + Fили перейдите на вкладку главная > редактирование> найти & выберите > найти.
В поле найти введите текст или числа, которые вы хотите найти, или щелкните стрелку в поле найти и выберите в списке последний элемент поиска.
В условиях поиска можно использовать подстановочные знаки, например вопросительный знак (?) и звездочку (*).
Звездочка используется для поиска любой строки знаков. Например, если ввести г*д, то будут найдены слова «год» и «город».
Вопросительный знак заменяет один любой знак. Например, если ввести г?д, то будут найдены слова «гад», «гид» и «год».
) перед ними следует ввести в поле Найти знак тильды. Например, чтобы найти данные, содержащие слово «?», введите в качестве условия поиска строку
? . Для ввода тильды нажмите клавиши SHIFT +
? . Для ввода тильды нажмите клавиши SHIFT +
, где клавиша тильда обычно находится над клавишей TAB.
В поле заменить на введите текст или числа, которые нужно использовать для замены искомого текста.
Нажмите Заменить все или Заменить.
Совет: При нажатии кнопки заменить всевсе вхождения искомого условия будут заменены, в то время как Замена будет обновляться по одному вхождению за раз.
При необходимости нажмите кнопку Параметры , чтобы дополнительно задать условия поиска.
Для поиска данных на листе или во всей книге выберите в поле Искать вариант на листе или в книге.
Для поиска данных в строках или столбцах выберите в поле Просматривать вариант по строкам или по столбцам.
Чтобы найти данные с определенными подробностями, в поле Искать в выберите пункт формулы, значения, заметкиили Примечания.
Примечание: Формулы, значения, заметки и Примечания доступны только на вкладке » Поиск «. на вкладке заменить доступны только формулы .
Для поиска данных с учетом регистра установите флажок Учитывать регистр.
Для поиска ячеек, содержащих только символы, введенные в поле Найти, установите флажок Ячейка целиком.
Если вы хотите найти текст или числа с определенным форматированием, нажмите кнопку Формати выберите необходимые параметры в диалоговом окне Найти формат .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Excel сохранит указанные параметры форматирования. Если при повторном поиске данных на листе не удается найти символы, которые вы знаете, возможно, потребуется удалить параметры форматирования из предыдущего поиска. В диалоговом окне Найти и заменить откройте вкладку Найти и нажмите кнопку Параметры, чтобы отобразить параметры форматирования. Затем щелкните стрелку рядом с кнопкой Формат и выберите пункт Очистить формат поиска.
Для поиска текста или чисел на листе также можно использовать функции поиска и поиска .
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Найти и заменить в Excel
Поиск и замена данных – одна из часто применяемых операций в Excel. Используют даже новички. На ленте есть большая кнопка.
Команда поиска придумана для автоматического обнаружения ячеек, содержащих искомую комбинацию символов. Поиск данных может производиться в определенном диапазоне, целом листе или даже во всей книге. Если активна только одна ячейка, то по умолчанию поиск происходит на всем листе. Если требуется осуществить поиск значения в диапазоне ячеек Excel, то такой диапазон нужно предварительно выделить.
Далее вызываем Главная → Редактирование → Найти и выделить → Найти (кнопка с рисунка выше). Поиск также можно включить с клавиатуры комбинацией клавиш Сtrl+F. Откроется диалоговое окно под названием Найти и заменить.
В единственном поле указывается информация (комбинация символов), которую требуется найти. Если не использовать подстановочные символы или т.н. джокеры (см. ниже), то Excel будет искать строгое совпадение заданных символов. Для вывода результатов поиска предлагается два варианта: выводить все результаты сразу – кнопка Найти все; либо выводить по одному найденному значению – кнопка Найти далее.
После запуска поиска программа Excel быстро-быстро просматривает содержимое листа (или указанного диапазона) на предмет наличия искомой комбинации символов. Если такая комбинация обнаружена, то в случае нажатия кнопки Найти все Excel вываливает все найденные ячейки.
Если в нижней части окна выделить любое значение и затем нажать Ctrl+A, то в диапазоне поиска будут выделены все соответствующие ячейки.
Если же запуск поиска произведен кнопкой Найти далее, то Excel выделяет ближайшую ячейку, соответствующую поисковому запросу. При повторном нажатии клавиши Найти далее (либо Enter с клавиатуры) выделяется следующая ближайшая ячейка (подходящая под параметры поиска) и т.д. После выделения последней ячейки Excel перепрыгивает на самую верхнюю и начинается все заново. На этом познания о поиске данных в Excel у большинства пользователей заканчиваются.
Поиск нестрогого соответствия символов
Иногда пользователь не знает точного сочетания искомых символов что существенно затрудняет поиск. Данные также могут содержать различные опечатки, лишние пробелы, сокращения и пр., что еще больше вносит путаницы и делает поиск практически невозможным. А может случиться и обратная ситуация: заданной комбинации соответствует слишком много ячеек и цель поиска снова не достигается (кому нужны 100500+ найденных ячеек?).
Для решения этих проблем очень хорошо подходят джокеры (подстановочные символы), которые сообщают Excel о сомнительных местах. Под джокерами могут скрываться различные символы, и Excel видит лишь их относительное расположение в поисковой фразе. Таких джокеров два: звездочка «*» (любое количество неизвестных символов) и вопросительный знак «?» (один «?» – один неизвестный символ).
Так, если в большой базе клиентов нужно найти человека по фамилии Иванов, то поиск может выдать несколько десятков значений. Это явно не то, что вам нужно. К поиску можно добавить имя, но оно может быть внесено самым разным способом: И.Иванов, И. Иванов, Иван Иванов, И.И. Иванов и т.д. Используя джокеры, можно задать известную последовательно символов независимо от того, что находится между. В нашем примере достаточно ввести и*иванов и Excel отыщет все выше перечисленные варианты записи имени данного человека, проигнорировав всех П. Ивановых, А. Ивановых и проч. Секрет в том, что символ «*» сообщает Экселю, что под ним могут скрываться любые символы в любом количестве, но искать нужно то, что соответствует символам «и» + что-еще + «иванов». Этот прием значительно повышает эффективность поиска, т.к. позволяет оперировать не точными критериями.
Если с пониманием искомой информации совсем туго, то можно использовать сразу несколько звездочек. Так, в списке из 1000 позиций по поисковой фразе мол*с*м*уход я быстро нахожу позицию «Мол-ко д/сн мак. ГАРНЬЕР Осн.уход д/сух/чув.к. 200мл» (это сокращенное название от «Молочко для снятия макияжа Гараньер Основной уход….»). При этом очевидно, что по фразе «молочко» или «снятие макияжа» поиск ничего бы не дал. Часто достаточно ввести первые буквы искомых слов (которые наверняка присутствуют), разделяя их звездочками, чтобы Excel показал чудеса поиска. Главное, чтобы последовательность символов была правильной.
Есть еще один джокер – знак «?». Под ним может скрываться только один неизвестный символ. К примеру, указав для поиска критерий 1?6, Excel найдет все ячейки содержащие последовательность 106, 116, 126, 136 и т.д. А если указать 1??6, то будут найдены ячейки, содержащие 1006, 1016, 1106, 1236, 1486 и т.д. Таким образом, джокер «?» накладывает более жесткие ограничения на поиск, который учитывает количество пропущенных знаков (равный количеству проставленных вопросиков «?»).
В случае неудачи можно попробовать изменить поисковую фразу, поменяв местами известные символы, сократив их, добавить новые подстановочные знаки и др. Однако это еще не все нюансы поиска. Бывают ситуации, когда в упор наблюдаешь искомую ячейку, но поиск почему-то ее не находит.
Продвинутый поиск
Мало, кто обращается к кнопке Параметры в диалоговом окне Найти и заменить. А зря. В ней скрыто много полезностей, которые помогают решить проблемы поиска. После нажатия кнопки Параметры добавляются дополнительные поля, которые еще больше углубляют и расширяют условия поиска.
С помощью дополнительных параметров поиск в Excel может заиграть новыми красками в прямом смысле слова. Так, искать можно не только заданное число или текст, но и формат ячейки (залитые определенным цветом, имеющие заданные границы и т.д.).
После нажатия кнопки Формат выскакивает знакомое диалоговое окно формата ячеек, только в этот раз мы не создаем, а ищем нужный формат. Формат также можно не задавать вручную, а выбрать из имеющегося, воспользовавшись специальной командой Выбрать формат из ячейки:
Таким образом можно отыскать, к примеру, все объединенные ячейки, что другим способом сделать весьма проблематично.
Поиск формата – это хорошо, но чаще искать приходится конкретные значения. И тут Excel предоставляет дополнительные возможности для расширения и уточнения параметров поиска.
Первый выпадающий список Искать предлагает ограничить поиск одним листом или расширить его до целой книги.
По умолчанию (если не лезть в параметры) поиск происходит только на активном листе. Для повторения поиска на другом листе все действия нужно проделать еще раз. А если таких листов много, то поиск данных может отнять немало времени. Однако если выбрать пункт Книга, то поиск произойдет сразу по всем листам активной книги. Выгода очевидна.
Список Просматривать с выпадающими вариантами по строкам или столбцам, видимо, сохранился от старых версий, когда поиск требовал много ресурсов и времени. Сейчас это не актуально. В общем, я не пользуюсь.
В следующем выпадающем списке находится замечательная возможность поиска по формулам, значениям, а также примечаниям. По умолчанию Excel производит поиск в формулах либо, если их нет, в содержимом ячейки. Например, если искать фамилию Иванов, а фамилия эта есть результат формулы (копируется из соседнего листа), то поиск нечего не даст, т.к. в ячейке нет искомого перечня символов. По той же причине не удастся отыскать число, являющееся результатом работы какой-либо функции. Поэтому бывает смотришь в упор на ячейку, видишь искомое значение, а Excel его почему-то не видит. Это не глюк, это настройка поиска. Измените данный параметр на Значения и поиск будет осуществляться по тому, что отражено в ячейке, независимо от содержимого. Например, если в ячейке содержится результат вычисления 1/6 (как значение, а не формула) и при этом формат отражает только 3 знака после запятой (т.е 0,167), то поиск символов «167» при выборе параметра Формулы эту ячейку не обнаружит (реальное содержимое ячейки — это 0,166666…), а при выборе Значения поиск увенчается успехом (искомые символы совпадают с тем, что отражается в ячейке). И последний пункт в данном списке – Примечания. Поиск осуществляется только в примечаниях. Очень может помочь, т.к. примечания часто скрыты.
В диалоговом окне поиска есть еще две галочки Учитывать регистр и Ячейка целиком. По умолчанию Excel игнорирует регистр, но можно сделать так, чтобы «иванов» и «Иванов» отличались. Галочка Ячейка целиком также может оказаться весьма полезной, если ищется ячейка не с указанным фрагментом, а полностью состоящая из искомых символов. К примеру, как найти ячейки, содержащие только 0? Обычный поиск не подойдет, т.к. будут выдаваться и 10, и 100. Зато, если установить галочку Ячейка целиком, то все пойдет, как по маслу.
Поиск и замена данных
Данные обычно ищутся не просто так, а для каких-то целей. Такой целью часто является замена искомой комбинации (или формата) на другую. Чтобы найти и заменить в выделенном диапазоне Excel одни значения на другие, в окне Найти и заменить необходимо выбрать вкладку Замена. Либо сразу выбрать на ленте команду Главная → Редактирование → Найти и выделить → Заменить.
Еще удобнее применить сочетание горячих клавиш найти и заменить в Excel – Ctrl+H.
Диалоговое окно увеличится на одно поле, в котором указываются новые символы, которые будут вставлены вместо найденных.
По аналогии с простым поиском, менять можно и формат.
Кнопка Заменить все позволяет одним махом заменить одни символы на другие. После замены Excel показывается информационное окно с количеством произведенных замен. Кнопка Заменить позволяет производить замену по одной ячейке после каждого нажатия. Если найти и заменить в Excel не работает, попробуйте изменить параметры поиска.
Напоследок рассмотрим один классный трюк с поиском и заменой. Многие знают, что в ячейку можно вставить разрыв строк с помощью комбинации Alt+Enter.
А как быстро удалить все разрывы строк? Обычно это делают вручную. Однако ловкое использование поиска и замены сэкономит много времени. Вызываем команду поиска и замены с помощью комбинации Ctrl+H. Теперь в строке поиска нажимаем Ctrl+J — это символ разрыва строки — на экране появится точка. В строке замены указываем, например, пробел.
Жмем Ok. Все переносы строк заменились пробелами.
Функция поиска и замены при правильном использовании заменяет часы работы неопытного пользователя. Настоятельно рекомендую использовать все вышеизложенное. Если что-то не ищется в ваших данных или наоборот, выдает слишком много лишних ячеек, то попробуйте уточнить поиск с помощью подстановочных символов «*» и «?» или настраиваемых параметров поиска. Важно понимать, что если вы ничего не нашли, это еще не значит, что там этого нет.
Теперь вы знаете, как в эксель сделать поиск по столбцу, строке, любому диапазону, листу или даже книге.
Excel замена по маске
Условно есть три столбца A , B , C . В первом имена в перемешку, во втором уникальный id , в третьем соответствующее этому id значение.
Всем значениям Вася нужно присвоить 1 , Петя : 2 , Лёша : 3 и т.д — короче присвоить всем значениям соответствующий id из столбца B .
Если нумерация идёт подряд, то можно в столбце D написать формулу
Если не подряд, то
Выделить получившиеся результат и Ctrl + С (не Ctrl + X )
Нажать на стрелочку и выбрать вставку значений:
Удалить лишние данные в столбце D.
Формулы:
Из всех предложенных формульных вариантов самый быстрый ИНДЕКС/ПОИСКПОЗ (INDEX/MATCH), показанный Qwertiy.
Если поменять местами значения столбцов В и С (сначала искомое, правее — число), то достачно
Функция пользователя (UDF)
Alt+F11 — вход в редактор VBA. Слева — окно дерева проекта. Добавить в проект общий модуль (Insert-Module), разместить там код.
В ячейку записать формулу:
где A1 — значение, которому нужно присвоить цифровой код, $B$1:$C$4 — диапазон соответствий.
Протянуть формулу по строкам.
Если нужно заменить значения в первом столбце найденными соответствиями и список соответствий небольшой, можно обойтись штатным инструментом:
1) выделить столбец А
3) НАЙТИ Вася, ЗАМЕНИТЬ 1, Заменить_все, ОК и т.д.
Макрос.
Если диапазоны большие, если работа не разовая — лучше воспользоваться приведенным ниже кодом для замены значений в столбце А. Код разместить в общем модуле. Запускать обработку можно любой фигурой, рисунком etc., назначив им макрос.
Если менять не нужно, но подставить соответствия, массив выгружать в другой столбец (например, с .Range(«D1»))
Подстановочные знаки (символы *, ? и
Рассмотрим применение подстановочных знаков в Excel (символы звездочки «*», тильды «
» и вопросительного знака «?») и их использование при поиске и замене текстовых значений.
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
В начале предлагаю вспомнить определение подстановочных знаков и понять, что же это такое и для каких целей они применяются в Excel. А затем уже разберем применение на конкретных примерах.
Подстановочные знаки — это специальные символы, которые могут принимать вид любого произвольного количества символов, другими словами, являются определенными масками комбинаций символов.
Всего в Excel есть 3 типа подобных знаков:
- * (звездочка); Обозначает любое произвольное количество символов. Например, поиск по фразе «*ник» найдет слова типа «понедельник», «всадник», «источник» и т.д.
- ? (вопросительный знак); Обозначает один произвольный символ. К примеру, поиск по фразе «ст?л» найдет «стол», «стул» и т.д.
(тильда) с последующими знаками *, ? или
. Обозначает конкретный символ *, ? или
. Например, поиск по фразе «хор*» найдет все фразы начинающиеся на «хор» («хоровод», «хорошо» и т.д.). Поэтому для точного поиска «хор*» нужно использовать символ «
» и искать по фразе «хор
» гарантирует, что Excel прочитает следующий символ как текст, а не как подстановочный знак.
Использование таких спецсимволов может быть полезно при фильтрации данных, для сравнения текста, при поиске и замене текстовых значений. Давайте подробно остановимся на каждом из основных вариантов применения.
Фильтрация данных
Рассмотрим пример. Предположим, что у нас имеется список сотрудников компании и мы хотим отфильтровать только тех сотрудников, у которых фамилии начинаются на конкретную букву (к примеру, на букву «п»):
Для начала добавляем фильтр на таблицу (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или нажимаем сочетание клавиш Ctrl + Shift + L).
Для фильтрации списка воспользуемся символом звездочки, а именно введем в поле для поиска «п*» (т.е. фамилия начинается на букву «п», после чего идет произвольный текст):
Фильтр определил 3 фамилии удовлетворяющих критерию (начинающиеся с буквы «п»), нажимаем ОК и получаем итоговый список из подходящих фамилий:
В общем случае при фильтрации данных мы можем использовать абсолютно любые критерии, никак не ограничивая себя в выборе маски поиска (произвольный текст, различные словоформы, числа и т.д.).
К примеру, чтобы показать все варианты фамилий, которые начинаются на букву «к» и содержат букву «в», то применим фильтр «к*в*» (т.е. фраза начинается на «к», затем идет произвольный текст, потом «в», а затем еще раз произвольный текст).
Или поиск по «п?т*» найдет фамилии с первой буквой «п» и третьей буквой «т» (т.е. фраза начинается на «п», затем идет один произвольный символ, затем «т», и в конце опять произвольный текст).
Применение в функциях
Как уже говорилось выше, подстановочные знаки в Excel могут использоваться в качестве критерия при сравнении текста в различных функциях Excel (например, СЧЁТЕСЛИ, СУММЕСЛИ, СУММЕСЛИМН, ГПР, ВПР и другие).
Повторим задачу из предыдущего примера и подсчитаем количество сотрудников компании, фамилии которых начинаются на букву «п».
Воспользуемся функцией СЧЁТЕСЛИ, которая позволяет посчитать количество ячеек соответствующих указанному критерию.
В качестве диапазона данных укажем диапазон с сотрудниками (A2:A20), а в качестве критерия укажем запись «п*» (т.е. любая фраза начинающаяся на букву «п»):
Как и в первом примере, в результате мы получили ровно 3 фамилии.
Однако не все функции поддерживают применение подстановочных знаков. Некоторые из них (к примеру, функция НАЙТИ) любой символ воспринимают как текст, даже несмотря на то, что он может быть служебным.
С помощью функции НАЙТИ найдем в тексте позицию вхождения вопросительного знака и звездочки:
Обратным примером служит аналогичная функция ПОИСК, в которой мы должно четко указать что ищем именно служебный символ:
Как видим результат у функций получился одинаковым, однако обращение к подстановочным знакам разное.
Инструмент «Найти и заменить»
Подстановочные знаки в Excel также можно использовать для поиска и замены текстовых значений в инструменте «Найти и заменить» (комбинация клавиш Ctrl + F для поиска и Ctrl + H для замены).
Рассмотрим пример. Имеется список продукции магазина, в котором нам нужно найти продукт «молоко».
Предположим, что при вводе данных сделали ошибки из-за чего в списке появились продукты «малоко».
Чтобы несколько раз не искать данные по словам «молоко» или «малоко», при поиске воспользуемся критерием «м?локо» (т.е. вторая буква — произвольная):
При этом не стоит забывать, что с помощью данного инструмента можно не только искать текст, но и заменять его (к примеру, заменить «м?локо» на «молоко»).
Как заменить звездочку «*» в Excel?
Практически наверняка каждый сталкивался со следующей ситуацией — в тексте присутствует символ звездочки, который необходимо удалить или заменить на какой-либо другой текст.
Однако при попытке заменить звездочку возникают трудности — при замене меняются абсолютно весь текст, что естественно и логично, так как Excel воспринимает символ «*» как любой произвольный текст.
Но мы теперь уже знаем как с этим бороться, поэтому в поле Найти указываем текст «
*» (явно показываем, что звездочка является специальным символом), а в поле Заменить на указываем на что заменяем звездочку, либо оставляем поле пустым, если хотим удалить звездочку:
Аналогичная ситуация и при замене или удалении вопросительного знака и тильды.
Производя замену «
?» (для тильды — «
») мы также без проблем сможем заменить или удалить спецсимвол.
Поиск и замена в Excel
Поиск и замена в Excel – это достаточно мощный и удобный инструмент, который позволяет находить, а при необходимости и заменять, информацию на рабочем листе. В рамках данного урока Вы научитесь выполнять поиск в заданной области документа Excel, а также изменять найденную информацию на требуемое значение.
При работе с большим количеством данных в Excel, иногда достаточно трудно отыскать какую-то конкретную информацию. И, как правило, такой поиск занимает очень много времени. Excel предлагает прекрасный инструмент поиска. Вы можете с легкостью отыскать любую нужную информацию в рабочей книге Excel с помощью команды Найти, которая к тому же позволяет еще и изменить данные с помощью инструмента Найти и заменить.
Поиск данных в ячейках Excel
В нашем примере мы воспользуемся командой Найти, чтобы отыскать требуемое имя в длинном списке сотрудников.
Если перед использованием команды Найти Вы выделите одну ячейку, то Excel будет выполнять поиск во всем листе. А если диапазон ячеек, то только внутри этого диапазона
- На вкладке Главная воспользуйтесь командой Найти и выделить, а затем из раскрывающегося списка выберите пункт Найти.
- Появится диалоговое окно Найти и заменить. Введите данные, которые необходимо отыскать. В нашем примере мы введем имя сотрудника.
- Нажмите Найти далее. Если данные присутствуют на листе, то они будут выделены.
- Если Вы еще раз нажмете на кнопку Найти далее, то увидите следующий вариант поиска. Вы также можете выбрать Найти все, что бы увидеть все варианты, которые для Вас отыскал Excel.
- Закончив поиск, воспользуйтесь кнопкой Закрыть, чтобы выйти из диалогового окна Найти и Заменить.
Вы можете получить доступ к команде Найти с помощью комбинации клавиш Ctrl+F на клавиатуре.
Чтобы увидеть дополнительные параметры поиска и замены, нажмите кнопку Параметры в диалоговом окне Найти и заменить.
Замена содержимого ячейки в Excel
Бывают случаи, когда допущена ошибка, повторяющаяся во всей книге Excel. Например, неправильно написано чье-то имя или необходимо изменить определенное слово или фразу на другую. Вы можете воспользоваться инструментом Найти и заменить, чтобы быстро внести исправления. В нашем примере мы воспользуемся командой Заменить, чтобы исправить список адресов электронной почты.
- На вкладке Главная нажмите команду Найти и выделить, а затем из раскрывающегося списка выберите пункт Заменить.
- Появится диалоговое окно Найти и заменить. Введите текст, который Вы ищете в поле Найти.
- Введите текст, на который требуется заменить найденный, в поле Заменить на. А затем нажмите Найти далее.
- Если значение будет найдено, то содержащая его ячейка будет выделена.
- Посмотрите на текст и убедитесь, что Вы согласны заменить его.
- Если согласны, тогда выберите одну из опций замены:
- Заменить: исправляет по одному значению зараз.
- Заменить все: исправляет все варианты искомого текста в книге. В нашем примере мы воспользуемся этой опцией для экономии времени.
Поиск или замена текста и чисел на листе
Смотрите также или строки; замена If myArr(j, i) вам нужно из из txt будуSanja переменную «iKey « Not delRng Is For i =lion9 в скобках ToAbsolute нужные участки, а менять. От этого найти слово иливсе, щелкнув заголовок вкладке слова «год» иПримечание: идет по всему Like iText(x) Then текстового файла загрузить
удалять их вашим: Одну строку упустил (с пробелом) потом Nothing Then Set 0 To UBound(iText): Спасибо огромное! Работает.
-
— константа из если столбцов >26, зависит формула для фразу и заменить столбца.Поиск «город».
-
Мы стараемся как можно листу или даже
-
newArr(k, i) = 1.5 млн строк макросом )Между 27 и
-
задатьНет. delRng = Union(delRng, Set iRange = Буду думать, как перечисления Excel.XlReferenceType: xlAbsolute
-
-
то не только замены! их.Чтобы заменить текст или; на вкладке «Вопросительный знак заменяет один оперативнее обеспечивать вас книги. Как настроить myArr(j, i) k и при загрузке
Может кто то 28. Должно бытьMarat_Mamedov cl) Else Set Range(«A:B»).Find(What:=iText(i), LookIn:=xlFormulas, Lookat:=xlPart)
-
третьего контрагента добавить = 1, xlAbsRowRelColumn алфавит.DigitalizerНа вкладке числа, введите знакиЗаменить
-
любой знак. Например, актуальными справочными материалами поиск и замену = k + их отфильтровать по сталкивался с подобной такСкрытый текст Sub
: Что то он delRng = cl If Not iRange таким путём. = 2, xlRelRowAbsColumnManyasha: Добрый день!Главная для замены в» доступны только если ввести на вашем языке. ТОЛЬКО в выделенном
-
-
1 End If одному столбцу по задачей — «умный Макрос2() Dim iText, не работает.
-
End If flag Is Nothing Thenlion9 = 3, xlRelative:В файле приведеннажмите кнопку полеформулыг?д
-
Эта страница переведена столбце/строке? Например, в Next Next Next небольшому списку ключей? экспорт данных из iKey, iTemp, i&,Нечего не происходит, = False End Do iRange.Delete Shift:=xlShiftUp
-
: Спасибо огромное! Работает. = 4.Digitalizer перечень дат сЗаменитьЗаменить на., то будут найдены автоматически, поэтому ее OPEN OFFICE Эта ‘для замены ‘на
Если так, то txt» что бы flag As Boolean прикрепил файл в If Next If Set iRange = Буду думать, какDigitalizer, я правильно поняла, заданной формулой. От.(или оставьте этоДля поиска данных с слова «гад», «гид» текст может содержать
-
функция есть. месте’, замените D1 вот вам вариант перебрать текстовый файл Dim myRng As
-
котором использовал код Not delRng Is Range(«A:B»).Find(What:=iText(i), _ LookIn:=xlFormulas, третьего контрагента добавить: Gustav а как что Вам просто столбца к столбцу
-
-
Кроме того, можно поле пустым, чтобы учетом регистра установите и «год». неточности и грамматическиеPelena на A1 Range(«D1»).Resize(UBound(newArr, на Power Query. по условию ( Range, cl As
от «» но Nothing Then delRng.Delete Lookat:=xlPart) Loop Until таким путём.{/post}{/quote} быть если помимо нужно формулы во меняются только ссылки нажать клавиши CTRL+H. ничем не заменять флажокСовет: ошибки. Для нас: По-моему, во всех 1), UBound(newArr, 2))Разархивируйте 2 файла в моем случаи Range, delRng As
-
после нажатия выполнить Shift:=xlShiftUp MsgBox «ненужные
-
iRange Is Nothing=ИЛИ(ЕСЛИ(ЕОШ(НАЙТИ(«Турция»;E7));»Израиль»;»Турция»);ЕСЛИ(ЕОШ(НАЙТИ(«Египет»;E7));»Израиль»;»Египет»)) приведенных в формуле второй строке привязать на ячейки сВ поле
знаки), а затемУчитывать регистр Звездочки, знак вопроса и важно, чтобы эта версиях НАЙТИ/ЗАМЕНИТЬ работает = newArr MsgBox на С:test строка начинается и Range Dim dic макрос не чего строки удалены!», 64, End If NextС вложением в
-
столбцов так же к первой, чтобы датами (например B1Найти нажмите кнопку. символы тильда (~) статья была вам по выделенному диапазону, «ненужные строки удалены!»,На листе Настройки перечень условий ) As Object iText не произошло (ячейки
«конец» End Sub i MsgBox «ненужные функцию тоже не заданы дополнительные параметры, при протягивании вниз и C1; следующая
введите искомые словоНайти далееДля поиска ячеек, содержащих
-
-
можно найти в полезна. Просим вас а если активна 64, «конец» End в смарт-таблицу забиваете если строка начинается = Array(«Анат», «Уру», не удалилсь)
Советы
-
Jack Famous строки удалены!», 64, выходит Буду и если применить B1 не превращалось C1 и D1; или фразу.или только символы, введенные данных листа перед уделить пару секунд только одна ячейка, Sub ключи, по которым на указанные условия «Инокен») ‘список словОжидалось что удалятся: Sanja For i «конец» End SubДанный благодарен тому, кто макрос то выдает в B2? и т.д.).В полеНайти все
-
в поле их с тильда и сообщить, помогла то по всемуMarat_Mamedov
support.office.com
Поиск и замена текста
нужно фильтровать импортируемый только их и на удаление Set все ячейки в = 0 To
-
макрос удаляет все подскажет — де#ЗНАЧ!Если да, тоКак можно добавить
Заменить на. -
Найти в поле ли она вам, листу
-
: Проста супеер ! список. На листе забрать из текстовго
-
dic = CreateObject(«Scripting.Dictionary») диапазоне A:B которые UBound(iText) iTemp = ячейки в диапазоне я ошибаюсь?
-
Пример: так попробуйте: массово знак ‘$’введите новый текст.Примечание:, установите флажокНайти с помощью кнопок
Гиперссыльный Спасибо всем огромное! Результат щелкаете правой файла For i = не начинаются на dic(iText(i)) Nextобъясните пожалуйста которые начинаются наMCH
200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((Base!$A$2:$A$999=Лист1!$A$2)*(Base!$M$2:$M$999>=Лист1!L1)*(Base!$M$2:$M$999 — макрос не1. В ячейке перед буквой столбцаНажимайте кнопку Если поле Ячейка целиком
support.office.com
Массовая замена значений в excel по маске
. Например, чтобы найти внизу страницы. Для
: Я сделал фотоPower Query -
кнопкой также по
Sanja 0 To UBound(iText)
Анат или Уру
— это наполнение 05056280 или 06056280
: У Вас всегда работает, выдает
В2 выделите часть
и после нее,Найти далееЗаменить на. данные, которые содержат удобства также приводим Print screen-ом, нигде для меня новинка смарт-таблице и нажимаете: Будьте готовы к
Массовая замена значений в ячейках (Иное/Other)
iTemp = dic(iText(i)) или Инокен
словаря? или 01056280 , так обозначаются контейнеры#ЗНАЧ! формулы B1 и и для последующих, пока не перейдетенедоступно, откройте вкладкуЕсли вы хотите найти «?», вы введите
ссылку на оригинал нет опции « разбираюсь как он обновить. Скрипт вытащит тормозам. Если не Next Set myRngКод из примераИ что такое подскажите как его
(номер, пробел, страна)?Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((Base!$M$2:$M$999>=Лист1!B1)*(Base!$M$2:$M$999 нажмите 2 раза столбцов аналогично. например к вхождению, котороеЗаменить текст или числа~? (на английском языке). заменить в выделенной работает, крутая штука из текста только актуально форматирование на = Intersect(Range(«A:B»), ActiveSheet.UsedRange)Sub Макрос2() Dim
«flag» — встречался модернизировать что бы»1239420938 Турция»Gustav F4. Должно получиться $B$1 и $C$1
вы хотите изменить..
с определенным форматированием,как критерии поиска.Функции поиска и замены области»! (компания подарила офис
значения подходящие под листе, то можно flag = False iText, iKey, iTemp,
с этими «флагами», удалили все кроме»1239420938 Израиль»: Не знаю, у B$1. C C1
одновременно с $D$1Нажмите кнопкуПри необходимости поиск можно нажмите кнопкуНажмите кнопку в Excel используютсяГиперссыльный 365 — а
описанное вами условие. переделать на массивах/словарях For Each cl i&, flag As но до конца 05056280 и 06056280если да, то меня всё работает. — аналогично и $E$1.Заменить
отменить, нажав клавишуФормат
Параметры для поиска в: я еще вЕсли будет образецMarat_Mamedov In myRng For
Boolean Dim myRng не понял)) и и 01056280 (указать
подойдет формула:
Ввожу Ваши формулы,
2. Протяните формулуВторой вопрос: путем
. Чтобы обновить все ESC.и выберите нужные, чтобы определить дополнительные
книге необходимой информации,
Pelena
2007-2010 завис.) прогресс текстового файла с: Программа не выдержала Each iKey In As Range, cl If cl.Value Like в макросе те
=ПСТР(E7;ПОИСК(» «;E7&» «)+1;99) выделяю ячейки, запускаю
в В2 на функцией «замена» - вхождения, не останавливаясьЧтобы заменить одно или
параметры в диалоговом
условия поиска при например определенного числа: Дык, Excel по
не стоит на парой строк -
, вылет. Подскажите dic.Keys If cl.Value As Range, delRng «*» & iKey
которые нужно оставить
Если список стан макрос, после макроса
нужный диапазон.
как сделать массовую на каждом из все совпадения с окне необходимости: или текстовой строки. умолчанию так работает: месте
смогу подогнать скрипт о чем речь Like «*» & As Range Dim & «*» Then а не удалить ограничен, и нужно имею в ячейкахНу или макрос:
замену с добавлением
них, нажмите кнопку введенным текстом, нажмитеНайти формат
Для поиска данных на
На вкладке если выделен диапазон,Макрос автора - под него. не совсем понимаю. iKey & "*" dic As Object - это, чтобы
т.к. оставить нужно
найти название страны, абсолютные формулы:200?'200px':''+(this.scrollHeight+5)+'px');">Sub replaceRef() знака '$'? Т.е.Заменить все кнопку. листе или во
excelworld.ru
Использование поиска по маске в функции ЕСЛИ
Главная ищет по нему, отработал программа неНу и эта,Jack Famous
Then flag =
iText = Array(«Анат*»,
можно было переменную
порядка 10 масок находящееся в любом200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((Base!$A$2:$A$999=Лист1!$A$2)*(Base!$M$2:$M$999>=Лист1!$L$1)*(Base!$M$2:$M$999For i = скажем задаем такой
.
ЗаменитьСовет: всей книге выберитев группе если не выделен, вылетела. если даже по: тупанул малях))) точно True Exit For «Уру*», «Инокен*») ‘список
«iKey » (с а удалить намного
месте текстовой страны,
Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СУММПРОИЗВ((Base!$M$2:$M$999>=Лист1!$B$1)*(Base!$M$2:$M$999 Может, в 65 To 90 параметрСовет:или
Чтобы найти ячейки, точно в полеРедактирование то ищет поВ excel в ячейках
форуме по-копаться, уверен,
— это ж End If If слов на удаление пробелом) потом задать больше и количество то можно использовать
обрабатываемых этими формуламиSelection.Replace Chr(i) &% Чтобы найти только вхождения
Заменить все
соответствующие определенному формату,
Искатьнажмите кнопку
всему листу
столбца указаны промежутки что можно найти как flag Then Exit Set dic = — в случае масок вырастает)
формулу:
ячейках какие-то проблемы, 1, «$» &
1 и заменяем на в верхнем или. можно удалить всевариантНайти и выделитьГиперссыльный времени в таком варианты решения вашей»cl»
For Next If CreateObject(«Scripting.Dictionary») For i
необходимости?
Sanja=ПРОСМОТР(2;1/ЕЧИСЛО(ПОИСК({«Турция»:»Израиль»:»Египет»};E7));{«Турция»:»Израиль»:»Египет»})
planetaexcel.ru
Удаление ячеек по маске
какие-нибудь «левые» значения? Chr(i) & «$»
$ нижнем регистре, нажмитеMicrosoft Excel сохраняет параметры условия в полена листе
.: Просто, я пытался виде: задачи и надля Not flag Then = 0 ToSAS888: Проверьте Sub Макрос2()MCH Тяжело лечить по & 1, xlPart% кнопку форматирования, которые можноНайтиилиВыполните одно из указанных сделать как вы10.00-12.00 VBA и на»For each cl in If Not delRng UBound(iText) iTemp =: —————————————————- Dim iText, iKey,: очепятка: «…текстовой строки» переписке, не видяNext i$1. соответственно ко всемБольше определить. Если вы, а затем выбратьв книге ниже действий. говорите: выделил столбец,11.00-14.00 SQL. Только как rng» Is Nothing Then
dic(iText(i)) Next SetSanja iTemp, i&, flaglion9 «пациента» (файла-примера сEnd Sub буквам столбцов (дои установите флажок еще раз выполнить ячейку с нужным.Чтобы найти текст или вызвал функцию «найтии т. п. описано в правилах,спасибо большое!!! Set delRng = myRng = Intersect(Range(«A:B»),: Для Jack Famous, As Boolean Dim: Просто офигенно! Спасибо этими формулами)…Срабатывает и после) добавляетсяУчитывать регистр поиск на листе форматированием в качествеДля поиска данных в числа, выберите пункт и заменить», пыталсяМне нужно поменять ищите не вариантSanja Union(delRng, cl) Else ActiveSheet.UsedRange) flag =Это способ наполнения myRng As Range, огромное. Функция вообщеlion9на выделенном диапазоне знак ‘$’.. данные и не примера. Щелкните стрелку строках или столбцах
Найти заменить, а он формат на следующий: решения, который вам: Можно забирать все Set delRng = False For Each
словаря уникальными ключами, cl As Range, ничего не говорит: Есть таблица соиЭта процедура необходимаСовет. удается найти символы, рядом с кнопкой выберите в поле. падла заменяет вос 10 до 12 кажется правильным, а
данные в память, cl End If
cl In myRng с пустыми значениями,
delRng As Range — никогда ничего списком, содержащим вищет только
для автоматизации иВидео не на которые вы знаетеФорматПросматриватьЧтобы найти и заменить всем листе, игнорируяс 11 до 14 конкретно решение вашей обрабатывать (удалять/добавлять/изменять) их
flag = False For Each iKey без генерации ошибки Dim dic As подобного не видел ячейках номера контейнеровгде вместо знака % ухода от ручного вашем языке? Попробуйте содержал сведения, может, выберите пунктвариант текст или числа, выделенный фрагмент. ЧувствуюПробую сделать это изначальной задачи.
в памяти и End If flag In dic.Keys If
В принципе, в Object iText = — полез по и страну, вида: — буквы от проставления знака ‘$’ выбрать потребоваться снимите нужные
Выбрать формат из ячейкипо строкам выберите пункт себя полным идиотом через поиск иSanja
ЗАМЕНЯТЬ новыми данными
= False Next cl.Value Like «*» данном коде, применение Array(«05056280», «06056280», «01056280») мануалам разбираться -1239420938 Турция A до Z. к каждой буквеСкрытые субтитры параметры форматирования из, а затем щелкнитеилиЗаменить ((( замену. Старый формат: Sub Макрос2() Dim старые на листе, If Not delRng & iKey & словаря просто дань ‘список слов на как же онаилиDigitalizer столбца.. предыдущего поиска. В ячейку с форматированием,по столбцам.Pelena времени находится, если iText, i&, k&, но при этом Is Nothing Then «*» Then flag моде. Т.к. в удаление Set dic работает-то хоть :)1239420938 Израиль: Nic70yNic70yНужно массово заменить значения диалоговом окне
которое требуется найти..
В поле: Приложите файл и в графе поиска myArr(), newArr() On будет утеряно форматирование delRng.Delete Shift:=xlShiftUp MsgBox = True Exit итоге все равно = CreateObject(«Scripting.Dictionary») ForMCHХотелось бы, чтобыда вот и: Ctrl+h не пробовали? в ячейках .Поиск и заменаВыполните одно из указанныхДля поиска данных сНайти поясните что на ввести *.*-*.* (*, Error Resume Next ячеек (цвета шрифтов, «ненужные строки удалены!», For End If перебираем ключи, а i = 0: ЕЧИСЛО — лишнее: в следующем столбце приходилось F4 жатьDigitalizerПример, в ячейкахперейдите на вкладку ниже действий. конкретными свойствами выберитевведите текст или что Вы хотите как я помню, iText = Array(«Анат*», курсив и прочее) 64, «конец» End If flag Then их не так To UBound(iText) iTemp=ПРОСМОТР(2;1/ПОИСК({«Турция»:»Израиль»:»Египет»};E8);{«Турция»:»Израиль»:»Египет»}) по каждой такой по 50 раз: так я и значение :
ПоискЧтобы найти текст или в поле числа, которые нужно поменять в маске - «Уру*», «Инокен*») ‘списокMarat_Mamedov Sub Exit For Next уж много, и = dic(iText(i)) Next
Владимир ячейке выводилась соответствующая :) спрашиваю каким образом1805/7957-6890и нажмите кнопку
числа, нажмите кнопкуОбласть поиска искать, или щелкнитеSerge_007 это любой знак слов на НЕудаление: «но при этомMarat_Mamedov If Not flag можно обойтись обычным Set myRng =: =ЗАМЕНИТЬ(A1;1;НАЙТИ(» «;A1);»») страна. Конструкция вида:Manyasha это можно сделать
Нужно заменить наПараметрыНайти всевариант стрелку в поле: Такой «опции» не
или любые несколько myArr = Intersect(Range(«A:B»), будет утеряно форматирование: Просто супер! Спасибо Then If Not
массивом. Intersect(Range(«A:B»), ActiveSheet.UsedRange) flagMarat_Mamedov=ЕСЛИ(E7=»Турция*»;»Турция»;»Израиль»)да да да, в «замене». :, чтобы открыть параметры
или
формулыНайти существует в Excel знаков) . ActiveSheet.UsedRange).Value ReDim newArr(1 ячеек (цвета шрифтов, большое теперь пойду delRng Is NothingЦитатаJack Famous написал: = False For: Здравствуйте!
работать не хочет. об этом икак сделать маску1805-7957/6890 форматирования. Щелкните стрелкуНайти далее,и нажмите кнопку за ненадобностьюКто подскажет, что
To UBound(myArr, 1), курсив и прочее)» на боевых реестрах
Then Set delRng И что такое Each cl InНа форме нашел Как можно решить речь :) на те значенияAbram pupkin рядом с полем.
значения последнего поиска вЦитата
мне вписать в 1 To UBound(myArr,
— такой вариант удалять записи там = Union(delRng, cl) «flag»Если посмотрите выше myRng For Each макрос который удаляет эту задачу? Испасибо за макрос которые не надо: так ?ФорматСовет:
или списке.Pelena, 26.07.2015 в графе «Заменить на»? 2)) k =
подходит там вообще записей под 1,5 Else Set delRng по коду, то iKey In dic.Keys ячейки со сдвигом каким будет решение, ) помогло менять.=ПОДСТАВИТЬ (ПОДСТАВИТЬ (ПОДСТАВИТЬи нажмите кнопку При нажатии кнопкипримечанияВ условиях поиска можно
14:13, в сообщенииОрбитальная группировка 1 flag = нет ничего такого млн ячеек (пришлось = cl End увидите, что это If cl.Value Like вверх по условию если контрагентов будетGustavПо типу: Лист1! (A2;»/»;»»);»-«;»/»);»»;»-«)ОчиститьНайти все. использовать подстановочные знаки, № 2200?’200px’:»+(this.scrollHeight+5)+’px’);»>во всех: … надо ;##…реш0тки False For i в формате ячеек экспортировать в две If flag = обычная переменная типа «*» & iKey : не двое, а: Если только правильноB*пробелы убрать., каждого экземпляра условия,Примечание: например вопросительный знак версиях НАЙТИ/ЗАМЕНИТЬ работает а не звёзды = 1 To
, просто текст. колонки что бы False End If
Boolean. В коде & «*» ThenSub Макрос2() Dim трое? Вообще, поддерживают понял задачу, требовалось,1 в Лист1!$Полосатый жираф аликДля поиска текста или которые вы ищете
(?) и звездочку по выделенному диапазону,или between or
planetaexcel.ru
Помогите составить маску для замены в excel
UBound(myArr, 2) kJack Famous поместились ) посмотрю Next If Not
она служит индикатором
flag = True
iRange As Range
ли функции Excel вероятно, нечто следующее:
%
: А если без
чисел на листе указываются и щелкнувФормулы (*). а если активнаГиперссыльный = 1 For: эт не я как себя поведет delRng Is Nothing выполнения условия If
Exit For End Dim iText As поиск по маске
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub io()$1 тупых примеров, а
также можно использовать
Как настроить НАЙТИ и ЗАМЕНИТЬ только в выделенной области? (Формулы/Formulas)
нужное вхождение в,Звездочка используется для поиска только одна ячейка,: В Excel 2010 j = 1 писал)) Excel. Then delRng.Delete Shift:=xlShiftUp cl.Value Like «*» If If flag Variant Dim i вообще?Selection.Formula = Application.ConvertFormula(Selection.Formula,
Nic70y описать, что действительно функции ПОИСК и списке сделает ячейкизначения любой строки знаков. то по всему почему-то отсутствует функция
To UBound(myArr, 1)PooHkrdНе смог найти MsgBox «ненужные строки & iKey & Then Exit For
As Long iTextmouse
xlA1, xlA1, xlAbsolute): Этим средством думаю нужно? И по НАЙТИ. active. Можно сортироватьи Например, если ввести листуВсе верно, так
НАЙТИ И ЗАМЕНИТЬ For x =: Я правильно понимаю, как настроить умный удалены!», 64, «конец» «*»ЦитатаJack Famous написал: Next If Not = Array(«05056280*»,»06056280*»,»01056280*») ‘список: может такEnd Sub ни как, перебирайте каким адресам расположено
С помощью функции «Поиск результатыпримечанияг*д и есть во
при выделении столбца 0 To UBound(iText) что по факту экспор в ексель
End Sub чтобы можно было flag Then If слов на удаление=ЕСЛИ(ЕОШ(НАЙТИ(«Турция»;E7));»Израиль»;»Турция»)P.S. Четвертый параметр весь алфавит, выделяя то, что будем и замена» можноНайтидоступны только на, то будут найдены
excelworld.ru
всех версиях
Рассмотрим применение подстановочных знаков в Excel (символы звездочки «*», тильды «~» и вопросительного знака «?») и их использование при поиске и замене текстовых значений.
Приветствую всех, дорогие читатели блога TutorExcel.Ru.
В начале предлагаю вспомнить определение подстановочных знаков и понять, что же это такое и для каких целей они применяются в Excel. А затем уже разберем применение на конкретных примерах.
Подстановочные знаки — это специальные символы, которые могут принимать вид любого произвольного количества символов, другими словами, являются определенными масками комбинаций символов.
Всего в Excel есть 3 типа подобных знаков:
- * (звездочка); Обозначает любое произвольное количество символов.
Например, поиск по фразе «*ник» найдет слова типа «понедельник», «всадник», «источник» и т.д. - ? (вопросительный знак); Обозначает один произвольный символ.
К примеру, поиск по фразе «ст?л» найдет «стол», «стул» и т.д. - ~ (тильда) с последующими знаками *, ? или ~. Обозначает конкретный символ *, ? или ~.
Например, поиск по фразе «хор*» найдет все фразы начинающиеся на «хор» («хоровод», «хорошо» и т.д.). Поэтому для точного поиска «хор*» нужно использовать символ «~» и искать по фразе «хор~*». Наличие «~» гарантирует, что Excel прочитает следующий символ как текст, а не как подстановочный знак.
Использование таких спецсимволов может быть полезно при фильтрации данных, для сравнения текста, при поиске и замене текстовых значений. Давайте подробно остановимся на каждом из основных вариантов применения.
Фильтрация данных
Рассмотрим пример. Предположим, что у нас имеется список сотрудников компании и мы хотим отфильтровать только тех сотрудников, у которых фамилии начинаются на конкретную букву (к примеру, на букву «п»):
Для начала добавляем фильтр на таблицу (выбираем вкладку Главная -> Редактирование -> Сортировка и фильтр или нажимаем сочетание клавиш Ctrl + Shift + L).
Для фильтрации списка воспользуемся символом звездочки, а именно введем в поле для поиска «п*» (т.е. фамилия начинается на букву «п», после чего идет произвольный текст):
Фильтр определил 3 фамилии удовлетворяющих критерию (начинающиеся с буквы «п»), нажимаем ОК и получаем итоговый список из подходящих фамилий:
В общем случае при фильтрации данных мы можем использовать абсолютно любые критерии, никак не ограничивая себя в выборе маски поиска (произвольный текст, различные словоформы, числа и т.д.).
К примеру, чтобы показать все варианты фамилий, которые начинаются на букву «к» и содержат букву «в», то применим фильтр «к*в*» (т.е. фраза начинается на «к», затем идет произвольный текст, потом «в», а затем еще раз произвольный текст).
Или поиск по «п?т*» найдет фамилии с первой буквой «п» и третьей буквой «т» (т.е. фраза начинается на «п», затем идет один произвольный символ, затем «т», и в конце опять произвольный текст).
Применение в функциях
Как уже говорилось выше, подстановочные знаки в Excel могут использоваться в качестве критерия при сравнении текста в различных функциях Excel (например, СЧЁТЕСЛИ, СУММЕСЛИ, СУММЕСЛИМН, ГПР, ВПР и другие).
Повторим задачу из предыдущего примера и подсчитаем количество сотрудников компании, фамилии которых начинаются на букву «п».
Воспользуемся функцией СЧЁТЕСЛИ, которая позволяет посчитать количество ячеек соответствующих указанному критерию.
В качестве диапазона данных укажем диапазон с сотрудниками (A2:A20), а в качестве критерия укажем запись «п*» (т.е. любая фраза начинающаяся на букву «п»):
Как и в первом примере, в результате мы получили ровно 3 фамилии.
Однако не все функции поддерживают применение подстановочных знаков. Некоторые из них (к примеру, функция НАЙТИ) любой символ воспринимают как текст, даже несмотря на то, что он может быть служебным.
С помощью функции НАЙТИ найдем в тексте позицию вхождения вопросительного знака и звездочки:
Обратным примером служит аналогичная функция ПОИСК, в которой мы должно четко указать что ищем именно служебный символ:
Как видим результат у функций получился одинаковым, однако обращение к подстановочным знакам разное.
Инструмент «Найти и заменить»
Подстановочные знаки в Excel также можно использовать для поиска и замены текстовых значений в инструменте «Найти и заменить» (комбинация клавиш Ctrl + F для поиска и Ctrl + H для замены).
Рассмотрим пример. Имеется список продукции магазина, в котором нам нужно найти продукт «молоко».
Предположим, что при вводе данных сделали ошибки из-за чего в списке появились продукты «малоко».
Чтобы несколько раз не искать данные по словам «молоко» или «малоко», при поиске воспользуемся критерием «м?локо» (т.е. вторая буква — произвольная):
При этом не стоит забывать, что с помощью данного инструмента можно не только искать текст, но и заменять его (к примеру, заменить «м?локо» на «молоко»).
Практически наверняка каждый сталкивался со следующей ситуацией — в тексте присутствует символ звездочки, который необходимо удалить или заменить на какой-либо другой текст.
Однако при попытке заменить звездочку возникают трудности — при замене меняются абсолютно весь текст, что естественно и логично, так как Excel воспринимает символ «*» как любой произвольный текст.
Но мы теперь уже знаем как с этим бороться, поэтому в поле Найти указываем текст «~*» (явно показываем, что звездочка является специальным символом), а в поле Заменить на указываем на что заменяем звездочку, либо оставляем поле пустым, если хотим удалить звездочку:
Аналогичная ситуация и при замене или удалении вопросительного знака и тильды.
Производя замену «~?» (для тильды — «~~») мы также без проблем сможем заменить или удалить спецсимвол.
Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru
Поделиться с друзьями:
Поиск по сайту:
Работа со списками
Списком называют таблицу, строки которой содержат однородную информацию. Наиболее частые операции со списками —
сортировка и поиск информации.
Список характеризует не содержимое таблицы, а способ ее организации.
Только однородность информации в столбцах таблицы дает возможность дает
возможность применять сортировку или фильтры.
Excel автоматически определяет границы списка. Признаком конца
области при автоматическом определении служит первая пустая строка. Для
определения верхней границы списка сравнивается содержимое первой и
второй строк области списка. Если эти строки различаются по типу, то
первая строка рассматривается как заголовок. Она исключается из
обрабатываемой области.
Обычно при заполнении списков включается режим
автозаполнения, в котором при совпадении
первых символов вводимых в ячейку с символами в вышестоящих ячейках
текущего столбца ввод данных завершается автоматически.
Сортировка списков
Необходимость сортировки записей в списках возникает, обычно, для
последующего быстрого поиска информации в списке. Существуют два способа
сортировки: по возрастанию и по убыванию признака сортировки, которым
является один из столбцов списка. Для простой сортировки строк следует
активизировать любую ячейку внутри списка и щелкнуть по одному из
значков (по возрастанию или по убыванию) на панели инструментов. Excel
автоматически определяет границы списка и сортирует строки целиком. Если
пользователь сомневается в правильности определения границ списка, то
целесообразно выделить сортируемый диапазон и выполнить
Данные/Сортировка. В окне «Сортировка диапазона» следует задать
признак сортировки (заголовок столбца), а также как сортировать — по возрастанию или по убыванию.
Если в столбце, являющемся признаком сортировки, много повторяющейся
информации, то возможна дополнительная сортировка по вторичному
признаку. Максимальное количество признаков, по которым можно
сортировать таблицу — 3.
В качестве примера рассмотрим таблицу с итогами сессии.
Отсортируем таблицу по двум признакам: первичный – группа (по
возрастанию), вторичный – фамилия (по алфавиту). Для этого выделим
диапазон B2:E17 и выполним
Данные/Сортировка. Зададим настройки, как показано в окне
«Сортировка диапазона». В результате получим отсортированную таблицу.
Обратим внимание на следующие особенности сортировки:
- в выделенный диапазон не включен столбец А – порядковые номера не сортируются;
- сортировка по вторичному признаку (фамилии по возрастанию)
означает их расположение по алфавиту только в пределах одинаковых
значений первичного признака (номеров групп); - сортировка по двум признакам с выбором в качестве первичного
признака фамилий в данном случае не имеет смысла, поскольку среди
фамилий нет повторяющихся значений.
Гораздо реже, чем сортировка по строкам, применяется сортировка по
столбцам. Но она в Excel также возможна. В этом случае признаком
сортировки является одна из строк списка, например, заголовок, или
итоговая строка. Для выполнения сортировки необходимо в окне «Сортировка
диапазона» нажать кнопку «Параметры» и установить переключатель
«Сортировать столбцы диапазона».
Поиск записей
Для поиска записей следует обратиться к меню
Правка/Найти, в поле
«Что» диалогового окна
«Найти» ввести образец поиска, а в поле
«Область поиска» установить
«значения». После этого табличный курсор будет
установлен на искомую ячейку. Если ячеек с искомым признаком несколько,
то для продолжения нажать кнопку
«Найти далее». В начале поиска курсор должен быть установлен в начало списка. Допускается применение масок.
Маска – это текстовый шаблон, составленный из
обычных и специальных символов. В качестве специальных используются
символы ? и *. Первый означает любой символ; второй – любой текст.
Например, если для рассмотренного выше примера задать поиск информации
по маске ?е*, то в таблице будут найдены фамилии Непошеваленко И.,
Дедикова Т. и Немчинов А.
Применение фильтров
Фильтр — это средство для отбора записей в таблице по некоторому критерию. В Excel имеются два типа фильтров:
автофильтр и
расширенный фильтр.
Автофильтр показывает записи, совпадающие с критериями фильтрации, и скрывает не совпадающие.
Расширенный фильтр способен сформировать новую таблицу из отфильтрованных записей.
Автофильтр
Для применения
автофильтра необходимо выделить любую клетку внутри фильтруемой таблицы и обратиться к меню
Данные/Фильтр…/Автофильтр. После обращения в
заголовке таблицы должны появиться кнопки для раскрытия списков.
Нажатие любой кнопки приводит к раскрытию списка элементов
соответствующего столбца таблицы. Выбранный элемент является критерием
фильтрации. Строки таблицы, в которых элементы столбца не совпадают с
критерием будут скрыты, причем за совпавшими сохраняются их прежние
порядковые номера. Выбор второго критерия в другом списке приведет к
дополнительной фильтрации записей и т.д. В качестве примера рассмотрим
применение
автофильтра для таблицы с итогами сессии. На рисунке показаны результаты
фильтрации по условию «Оценка по информатике»=5.
Обратите внимание, что записи, не отвечающие условию фильтрации
скрыты. Поэтому нумерация строк идет не по порядку и выделена синим
цветом.
Для задания более сложного условия фильтрации необходимо в
соответствующем раскрывающемся списке выбрать «[Условие…]» и
сформулировать его в открывшемся окне «Пользовательский автофильтр».
Окно содержит поля для ввода знаков логических отношений и метки
логических операций И и ИЛИ. Например, для отбора записей,
соответствующих студентам, получившим по информатике 4 или 5, следует
выполнить настройки, как показано на рисунке.
Отменить результаты фильтрации можно через
Данные/Фильтр… и убрать флажок с меню
Автофильтр.
Достоинство
автофильтра в простоте его применения.
Недостаток: в отсутствии возможности формулировать сложные условия,
связывающие условия фильтрации в разных столбцах операцией ИЛИ.
Расширенный фильтр
Для применения расширенного фильтра требуется предварительная подготовка, состоящая из двух этапов:
- подготовки вспомогательной таблицы (диапазона) критериев;
- планирования места для размещения результатов фильтрации.
Таблица критериев состоит из строки заголовков и строк с критериями. В
смежных ячейках первой строки размещаются необходимые заголовки
критериев, совпадающие с заголовками основной таблицы. Лучше формировать
эти заголовки копированием из основной таблицы. Под заголовками
размещаются критерии, причем если несколько критериев расположены в
одной строке, они считаются связанными между собой логической операцией
И, если в разных — ИЛИ.
В качестве критериев можно использовать содержимое ячеек таблицы или логические выражения с использованием содержимого.
В качестве примера рассмотрим условие фильтрации («Группа»=154 И
«Оценка по информатике»>3) ИЛИ («Группа»=155 И «Оценка по
информатике»>3).
Исходная таблица, блок критериев и новая таблица с результатами фильтрации показаны на рисунке.
В рассмотренном примере блок критериев расположен в диапазоне G1:H3.
Запуск расширенного фильтра выполняется через меню
Данные/Фильтр… /Расширенный фильтр. В окне
«Расширенный фильтр» следует задать настройки, как показано на рисунке.
Обратите внимание, что место для размещения результата указано
диапазоном из одной строки. Excel автоматически увеличивает этот
диапазон, если число записей, удовлетворяющих условию больше заданного в
окне «Расширенный фильтр». Этот диапазон должен быть отделен от
диапазона критериев по крайней мере одной пустой строкой.
Контрольные вопросы
-
Что называется списком в табличном
процессоре Excel? -
Как Excel определяет границы списка?
-
Что такое режим автозаполнения ячеек?
-
Для чего применяется сортировка
списков? -
В каких ситуациях применяется
сортировка списков по нескольким
признакам? -
Список состоит из двух полей: фамилии
студента и оценке по информатике. Какие
из этих полей следует использовать как
первичный и вторичный признаки
сортировки? Обоснуйте ответ. -
Как сделать так, чтобы при сортировке
списка поле с порядковыми номерами
записей осталось неотсортированным? -
Что такое поиск информации в списке?
-
Что такое маска поиска? Как она
записывается? -
Что такое фильтр? Какие виды фильтров
имеются в Excel? -
Объясните принцип работы автофильтра.
-
Объясните принцип работы расширенного
фильтра. -
Чем расширенный фильтр отличается от
автофильтра? -
Каковы правила формирования блока
критериев в расширенном фильтре?
Проверка текста по маске
В языке Visual Basic существует один крайне полезный оператор, называемый Like. Он умеет проверять подобие (похожесть) двух текстовых строк. К сожалению, в стандартном наборе функций этот оператор не нашел своего места, но очень легко создать пользовательскую функцию, которая будет это делать.
Откройте редактор Visual Basic, нажав ALT+F11 или выбрав в меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor), вставьте новый модуль (меню Insert — Module) и скопируйте туда текст этой функции:
Function MaskCompare(txt As String, mask As String, CaseSensitive As Boolean) If Not CaseSensitive Then txt = UCase(txt) mask = UCase(mask) End If If txt Like mask Then MaskCompare = True Else MaskCompare = False End If End Function
Закройте редактор Visual Basic и вернитесь в Excel.
Теперь через Вставка — Функция (Insert — Function) в категории Определенные пользователем (User Defined) можно найти нашу функцию MaskCompare и воспользоваться ей. Синтаксис функции следующий:
=MaskCompare(txt; mask; CaseSensitive)
где
txt — любой текст или ячейка с текстом, которую мы проверяем на соответствие маске
mask — набор символов, которые ищутся в проверяемом тексте. Набор может содержать спецсимволы подстановки:
- * — любое количество любых символов
- ? — один любой символ
- # — любая цифра (0 — 9)
- [список_символов] — любой символ из списка
- [!список_символов] — все символы, кроме содержащихся в списке
Case_Sensitive — необходимо ли учитывать регистр при проверке:
- 1 — регистр символов учитывается
- 0 — регистр символов не учитывается
Примеры использования функции
Использование спецсимволов в маске открывает перед пользователем широчайшие возможности. Вот несколько примеров масок:
- ### — все числа от 0 до 999
- ????? — все слова из 5 букв
- м*н — все слова, начинающиеся на «м» и заканчивающиеся на «н»
- *[аостр]* — все слова, содержащие хотя бы одну из букв а,о,с,т,р
- *[!abcdefghijklmnopqrstuvwxyz]* — все слова НЕ содержащие английских букв
Ссылки по теме
- Поиск ближайшего похожего слова
- Что такое макросы, куда вставлять код макроса на VBA, как их использовать