Возможно, вас интересует: функция ЗАМЕНИТЬ в Excel.
- «Найти и заменить» в Excel
- Горячие клавиши
- Процедура «Найти и заменить» не работает
- Подстановочные знаки, или как найти “звёздочку”
- Замена нескольких значений на несколько
- Массовая замена с помощью функции “ПОДСТАВИТЬ”
- Файл-шаблон с формулой множественной замены
- Заменить несколько значений на одно
- С помощью функции «ПОДСТАВИТЬ»
- С помощью регулярных выражений
- Массовая замена в !SEMTools
- Пример: замена символов по вхождению
- Пример: замена списка слов на другой список слов
Процедура поиска и замены данных — одна из самых востребованных в Excel. Базовая процедура позволяет заменить за один заход только одно значение, но зато множеством способов. Рассмотрим, как эффективно работать с ней.
Горячие клавиши
Сочетания клавиш ниже заметно ускорят работу с инструментом:
- Для запуска диалогового окна поиска — Ctrl + F.
- Для запуска окна поиска и замены — Ctrl + H.
- Для выделения всех найденных ячеек (после нажатия кнопки «найти всё») — Ctrl + A.
- Для очистки всех найденных ячеек — Ctrl + Delete.
- Для ввода одних и тех же данных во все найденные ячейки — Ввод текста, Ctrl + Enter.
Смотрите gif-пример: здесь я произвожу поиск ячеек с дальнейшим их редактированием. В отличие от замены, редактирование найденных ячеек позволяет быстро менять их содержимое целиком.
Процедура «Найти и заменить» не работает
Я сам когда-то неоднократно впадал в ступор в этой ситуации. Уверен и видишь своими глазами, что искомый паттерн в данных есть, но Excel при выполнении процедуры поиска сообщает:
или при замене:
Так вот, совет нажать кнопку “Параметры” в обоих этих сообщениях действительно полезен — там наверняка активен чекбокс “Учитывать регистр” или “Ячейка целиком”, которые мешают Excel найти искомое. Excel, в свою очередь, сохраняет конфигурацию последнего поиска.
Подстановочные знаки, или как найти “звёздочку”
Сухая официальная справка по Excel сообщает:
— что можно использовать подстановочные символы “*” и “?”;
— что “*” и “?” означают несколько символов, включая их отсутствие, и один любой символ;
— что их можно использовать для соответствующих процедур поиска.
Чего не говорит справка, так это того, что в комбинации с опцией “ячейка целиком” эти символы позволяют, не прибегая к помощи расширенного фильтра и процедуры поиска группы ячеек:
- находить ячейки, заканчивающиеся на определенный символ, слово или текст,
- находить ячейки, начинающиеся с определенного символа, слова или текста,
- находить непустые ячейки.
Если хотите поподробнее познакомиться с этими и другими специальными символами, читайте соответствующую статью.
В примере ниже мы находим все двузначные числа, затем числа, заканчивающиеся и начинающиеся на 7, и, наконец, все непустые ячейки. Напомню, выделить все результаты поиска помогает горячее сочетание клавиш Ctrl + A.
Так а как найти звёздочку?
Действительно, забыл. Чтобы найти «звёздочку», нужно в окошке поиска ставить перед ней знак ~ (тильда), он находится обычно под клавишей Esc. Это позволяет экранировать “звездочку”, как и вопросительный знак, и не воспринимать их как служебные символы.
Замена нескольких значений на несколько
Массовая замена в Excel — довольно частая потребность. Очень часто нужно массово и при этом быстро заменить несколько символов, слов и т.д. на другие. При этом на текущий момент простого инструмента в стандартном функционале Excel нет.
Тем не менее, если очень нужно, любую задачу можно решить. В зависимости от того, на что вы хотите заменить, могут помочь комбинации функций, регулярные выражения, а в самых сложных случаях — надстройка !SEMTools.
Эта задача более сложная, чем замена на одно значение. Как ни странно, функция «ЗАМЕНИТЬ» здесь не подходит — она требует явного указания позиции заменяемого текста. Зато может помочь функция «ПОДСТАВИТЬ».
Массовая замена с помощью функции “ПОДСТАВИТЬ”
Используя несколько условий в сложной формуле, можно производить одновременную замену нескольких значений. Excel позволяет использовать до 64 уровней вложенности — свобода действий высока. Например, вот так можно перевести кириллицу в латиницу:
При этом, если использовать в качестве подставляемого фрагмента пустоту, можно использовать функцию для удаления нескольких символов, — смотрите, как удалить цифры из ячейки этим способом.
Но у решения есть и свои недостатки:
- Функция ПОДСТАВИТЬ регистрозависимая, что заставляет при замене одного символа использовать два его варианта — в верхнем и нижнем регистрах. Хотя в некоторых случаях, как, например, на картинке выше, это и преимущество.
- Максимум 64 замены — хоть и много, но все же ограничение.
- Формально процедура замены таким способом будет происходить массово и моментально, однако длительность написания таких формул сводит на нет это преимущество. За исключением случаев, когда они будут использоваться многократно.
Файл-шаблон с формулой множественной замены
Вместо явного прописывания заменяемых паттернов в формуле существует вариант использовать внутри нее ссылки на ячейки, значения в которых можно прописывать на свое усмотрение. Это сократит время, так как не требует редактирования сложной формулы.
Файл доступен по ссылке, но можно и не скачивать его, а просто скопировать текст формулы ниже и вставить ее в любую ячейку, кроме диапазона A1:B64. Формула заменяет в ячейке C1 значения в столбце A стоящими напротив в столбце B.
А вот и она сама (тройной клик по любой части текста = выделить всю формулу): обращается к ячейке D1, делая 64 замены по правилам, указанным в ячейках A1-B64. При этом в столбцах можно удалять значения — это не нарушит её работу.
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(D1;$A$1;$B$1);$A$2;$B$2);$A$3;$B$3);$A$4;$B$4);$A$5;$B$5);$A$6;$B$6);$A$7;$B$7);$A$8;$B$8);$A$9;$B$9);$A$10;$B$10);$A$11;$B$11);$A$12;$B$12);$A$13;$B$13);$A$14;$B$14);$A$15;$B$15);$A$16;$B$16);$A$17;$B$17);$A$18;$B$18);$A$19;$B$19);$A$20;$B$20);$A$21;$B$21);$A$22;$B$22);$A$23;$B$23);$A$24;$B$24);$A$25;$B$25);$A$26;$B$26);$A$27;$B$27);$A$28;$B$28);$A$29;$B$29);$A$30;$B$30);$A$31;$B$31);$A$32;$B$32);$A$33;$B$33);$A$34;$B$34);$A$35;$B$35);$A$36;$B$36);$A$37;$B$37);$A$38;$B$38);$A$39;$B$39);$A$40;$B$40);$A$41;$B$41);$A$42;$B$42);$A$43;$B$43);$A$44;$B$44);$A$45;$B$45);$A$46;$B$46);$A$47;$B$47);$A$48;$B$48);$A$49;$B$49);$A$50;$B$50);$A$51;$B$51);$A$52;$B$52);$A$53;$B$53);$A$54;$B$54);$A$55;$B$55);$A$56;$B$56);$A$57;$B$57);$A$58;$B$58);$A$59;$B$59);$A$60;$B$60);$A$61;$B$61);$A$62;$B$62);$A$63;$B$63);$A$64;$B$64)
Заменить несколько значений на одно
С помощью функции «ПОДСТАВИТЬ»
При замене нескольких значений на одно и то же механика работы формул на основе нескольких уровней вложенности не будет отличаться от замены нескольких на несколько. Просто третий аргумент (на что заменить) на всех уровнях вложенности будет один и тот же. Кстати, если оставить его пустым (кавычки без символов между ними), то это позволит удалить определенные символы. Пример: удалить цифры из ячейки путем замены на пустоту:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"1";"");"2";"");"3";"");"4";"");"5";"");"6";"");"7";"");"8";"");"9";"");"0";"")
С помощью регулярных выражений
Важно: регулярные выражения не поставляются в Excel “из коробки”, но формулы ниже доступны бесплатно, если установить надстройку !SEMTools.
Регулярные выражения (RegEx, регулярки) — наиболее удобное решение, когда нужно заменить несколько символов на один. Все эти несколько символов обычным способом безо всяких разделителей нужно перечислить внутри квадратных скобок. Примеры формул:
=regexreplace(A1;"d";"#")
=regexreplace(A1;"w";"#")
=regexreplace(A1;"а-яА-Я";"#")
=regexreplace(A1;"s";"_")
Первая заменяет на символ “#” все цифры, вторая — все английские буквы, а третья — все кириллические символы в верхнем и нижнем регистре. Четвёртая заменяет любые пробелы, в том числе табуляцию и переносы строк, на нижнее подчеркивание.
Если же нужно заменять не символы, а несколько значений, состоящих в свою очередь из нескольких букв, цифр или знаков, синтаксис предполагает уже использование круглых скобок и вертикальной черты “|” в качестве разделителя.
Массовая замена в !SEMTools
Надстройка для Excel !SEMTools позволяет в пару кликов производить замены на всех уровнях:
- символов и их сочетаний,
- паттернов регулярных выражений,
- слов,
- целых ячеек (в некоторой степени аналог ВПР).
При этом процедуры изменяют исходный диапазон, что экономит время. Все что нужно —предварительно выделить его, определиться с задачей, вызвать нужную процедуру и выделить два столбца сопоставления заменяемых и замещающих значений (предполагается, что если вы знаете, что на что менять, то и такие списки есть).
Пример: замена символов по вхождению
Аналог обычной процедуры замены без учета регистра заменяемых символов, по вхождению. С одним отличием: здесь замена массовая и можно выбрать сколько угодно строк с парами «заменяемое-заменяющее» значение.
Ниже пример с единичными символами, но паттерны могут быть какими угодно в зависимости от вашей задачи.
Пример: замена списка слов на другой список слов
На этом примере — замена списка слов на другой список, в данном случае на одно и то же слово. Здесь решается задача типизации разнородных фраз путем замены слов, содержащих латиницу и цифры, на одно слово. Далее после этой операции можно будет посчитать уникальные значения в столбце, чтобы выявить наиболее популярные сочетания.
С версии !SEMTools 9.18.18 появилась опция: при замене списка слов не учитывать пунктуацию в исходных предложениях, а регистр слов теперь сохраняется.
Инструменты находятся в группе макросов «ИЗМЕНИТЬ» в отдельном меню и для удобства продублированы в меню «Изменить символы», «Изменить слова» и «Изменить ячейки».
Скачивайте надстройку !SEMTools и делайте массовую замену символов, слов или целых списков в Excel!
Смотрите также по теме поиска и замены данных в Excel:
- Найти заглавные/строчные буквы в ячейке;
- Найти латиницу или кириллицу в тексте;
- Найти числа в текстовых ячейках;
- Обнаружить текстовые символы;
- Функция НАЙТИ в Excel;
- Функция ПОИСК в Excel;
- Функция ЗАМЕНИТЬ в 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
всех версиях
Содержание
- Массовая замена текста формулами
- Случай 1. Массовая полная замена
- Случай 2. Массовая частичная замена
- Поиск или замена текста и чисел на листе
- Поиск
- Заменить
Массовая замена текста формулами
Предположим, что у вас имеется список, в котором с разной степенью «пряморукости» записаны исходные данные — например, адреса или названия компаний:
Хорошо видно, что один и тот же город или компания тут присутствуют в разношёрстных вариантах, что, очевидно, будет создавать массу проблем при работе с этими таблицами в будущем. И если чуть подумать, то можно найти массу примеров похожих задач из других областей.
А теперь представьте, что к вам такие кривые данные попадают регулярно, т.е. это не единичная история из серии «исправил вручную, забыл», а проблема на регулярной основе и в большом количестве ячеек.
Что же делать? Не заменять же вручную 100500 раз кривой текст на правильный через окошко «Найти и заменить» или нажимая Ctrl + H ?
Первое, что приходит в голову в подобной ситуации — произвести массовую замену по составленному заранее справочнику соответствия неправильных и правильных вариантов — вроде такого:
К сожалению, при очевидной распространенности подобной задачи, в Microsoft Excel не существует простых встроенных способов для её решения. Для начала, давайте разберёмся, как это делать формулами, без привлечения «тяжелой артиллерии» в виде макросов на VBA или Power Query.
Случай 1. Массовая полная замена
Начнём с относительно простого случая — ситуации, когда нужно заменить старый кривой текст на новый полностью.
Предположим, что у нас есть две таблицы:
В первой — исходные разномастные названия компаний. Во второй — справочник соответствия. Если находим в названии компании в первой таблице любое слово из столбца Найти, то нужно полностью заменить это кривое название на правильное — из столбца Заменить второй таблицы-справочника.
- Обе таблицы преобразованы в динамические («умные») с помощью сочетания клавиш Ctrl + T или командой Вставка — Таблица (Insert — Table) .
- На появившейся вкладке Конструктор (Design) первой таблице присвоено имя Данные , а второй таблице-справочнику — Замены .
Чтобы объяснить логику формулы зайдём чуть издалека.
Взяв в качестве примера первую компанию из ячейки A2 и забыв временно про остальные компании, попробуем определить какой именно вариант из столбца Найти там встречается. Для этого выделим любую пустую ячейку в свободной части листа и введём туда функцию НАЙТИ (FIND) :
Эта функция определяет входит ли заданная подстрока (первый аргумент — все значения из столбца Найти) в исходный текст (первая компания из таблицы данных) и должна вывести на выходе либо порядковый номер символа, начиная с которого текст был найден, либо ошибку если подстрока не обнаружена.
Хитрость тут в том, что поскольку первым аргументом мы указали не одно, а несколько значений — эта функция будет возвращать в качестве результата тоже не одно значение, а массив из 3 элементов. Если у вас не последняя версия Office 365 с поддержкой динамических массивов, то после ввода этой формулы и нажатия на Enter вы этот массив увидите прямо на листе:
Если же у вас предыдущие версии Excel, то после нажатия на Enter мы увидим только первое значение из массива результатов, т.е. ошибку #ЗНАЧ! (#VALUE!) .
Пугаться не стоит 🙂 На самом деле наша формула работает и увидеть весь массив результатов всё равно можно, если выделить введённую функцию в строке формул и нажать клавишу F9 (только не забудьте потом нажать Esc , чтобы вернуться обратно к формуле):
Полученный массив результатов означает, что в исходном кривом названии компании (ГК Морозко ОАО) из всех значений в столбце Найти нашлось только второе (Морозко) , причём начиная с 4-го по счёту символа.
Теперь добавим к нашей формуле функцию ПРОСМОТР (LOOKUP) :
У этой функции три аргумента:
- Искомое значение — можно использовать любое достаточно большое число (главное, чтобы оно превышало длину любого текста в исходных данных)
- Просматриваемый_вектор — тот диапазон или массив, где мы ищем искомое значение. Здесь это введённая ранее функция НАЙТИ, возвращающая массив <#ЗНАЧ!:4:#ЗНАЧ!>
- Вектор_результатов — диапазон, откуда мы хотим вернуть значение, если искомое значение найдено в соответствующей ячейке. Здесь это правильные названия из столбца Заменить нашей таблицы-справочника.
Главная и неочевидная фишка тут в том, что функция ПРОСМОТР при отсутствии точного совпадения всегда ищет ближайшее наименьшее (предыдущее) значение. Поэтому, указав в качестве искомого значения любое здоровенное число (например 9999), мы заставим ПРОСМОТР находить ячейку с ближайшим наименьшим числом (4) в массиве <#ЗНАЧ!:4:#ЗНАЧ!>и выдавать соответствующее ей значение из вектора результатов, т.е. правильное название компании из столбца Заменить.
Второй нюанс заключается в том, что, технически, наша формула является формулой массива, т.к. функция НАЙТИ возвращает в качестве результатов не одно, а массив из трёх значений. Но поскольку функция ПРОСМОТР поддерживает массивы «из коробки», то нам не придётся вводить эту формулу как классическую формулу массива — с помощью сочетания клавиш Ctrl + Shift + Enter . Достаточно будет простого Enter .
Вот и всё. Надеюсь вы ухватили логику.
Осталось перенести готовую формулу первую ячейку B2 столбца Исправлено — и наша задача решена!
Само-собой, с обычными (не умными) таблицами эта формула тоже замечательно работает (только не забудьте про клавишу F4 и закрепление соответствующих ссылок):
Случай 2. Массовая частичная замена
Этот случай чуть похитрее. Снова имеем две «умных» таблицы:
Первая таблица с криво записанными адресами, которые нужно исправить (я назвал её Данные2 ). Вторая таблица — справочник, по которому нужно произвести частичную замену подстроки внутри адреса (я назвал эту таблицу Замены2 ).
Принципиальное отличие тут в том, что нужно заменять только фрагмент исходных данных — например, в первом адресе неправильный «С-Петербург» на правильный «Санкт-Петербург» , оставив остальную часть адреса (индекс, улицу, дом) в исходном виде.
Готовая формула будет выглядеть так (для удобства восприятия я разделил её на насколько строк с помощью Alt + Enter ):
Основную работу здесь выполняет стандартная Excel’евская текстовая функция ПОДСТАВИТЬ (SUBSTITUTE) , у которой 3 аргумента:
- Исходный текст — первый кривой адрес из столбца Адрес
- Что ищем — тут мы используем трюк с функцией ПРОСМОТР(LOOKUP) из предыдущего способа, чтобы вытащить значение из столбца Найти, которое входит как фрагмент в кривой адрес.
- На что заменить — аналогичным образом находим соответствующее ему правильное значение из столбца Заменить.
Вводить эту формулу с Ctrl + Shift + Enter здесь тоже не нужно, хотя она и является, по-сути, формулой массива.
И хорошо видно (см. ошибки #Н/Д на предыдущей картинке), что такая формула, при всей её элегантности, обладает и парой недостатков:
- Функция ПОДСТАВИТЬ является регистрочувствительной, поэтому «Спб» в предпоследней строке так и не нашлось в таблице замен. Для решения этой проблемы можно либо использовать функцию ЗАМЕНИТЬ (REPLACE) , либо предварительно привести обе таблицы к одному регистру.
Если текст изначально правильный или в нём нет ни одного фрагмента на замену (последняя строка), то наша формула выдает ошибку. Этот момент можно нейтрализовать перехватом и заменой ошибок с помощью функции ЕСЛИОШИБКА (IFERROR) :
Если в исходном тексте встречается сразу несколько фрагментов из справочника, то наша формула заменяет только последний (в 8-й строке Лиговский » проспект » заменился на «пр-т» , а вот «С-Пб» на «Санкт-Петербург» уже нет, т.к. «С-Пб » стоит выше в справочнике). Эту проблему можно решить повторным прогоном нашей же формулой, но уже по столбцу Исправлено:
Не идеально и, местами, громоздко, но гораздо лучше, чем однообразная замена вручную, правда? 🙂
В следующей статье разберёмся, как реализовать подобную массовую подстановку с помощью макросов и Power Query.
Источник
Поиск или замена текста и чисел на листе
Функции поиска и замены в Excel используются для поиска в книге необходимой информации, например определенного числа или текстовой строки. Вы можете либо найти элемент поиска для справки, либо заменить его на что-то другое. В условия поиска можно включить подстановочные знаки, такие как вопросительные знаки, тильды и звездочки, а также цифры. Искать можно по строкам и столбцам, в примечаниях или значениях, а также на листе или во всей книге.
Совет: Для замены текста можно также использовать формулы. Дополнительные сведения см. в статье О функциях REPLACE или REPLACE, REPLACEB .
Поиск
Чтобы найти что-то, нажмите клавиши CTRL+F или перейдите в раздел Главная > Редактирование > найти & Выберите > Найти.
Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.
В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак ( ?), звездочку ( *), тильду (
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
), за которой следует знак ?, *или
, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91
Нажмите кнопку Найти все или Найти далее , чтобы выполнить поиск.
Совет: При нажатии кнопки Найти все будут перечислены все вхождения условий, которые вы ищете, а щелкнув определенное вхождение в списке, будет выбрана его ячейка. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок столбца.
Щелкните Параметры>> , чтобы при необходимости определить поиск:
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
Примечание: Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладке Заменить доступны только формулы.
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Заменить
Чтобы заменить текст или цифры, нажмите клавиши CTRL+H или перейдите в раздел Главная > Редактирование > Найти & Выберите > Заменить.
Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.
В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак ( ?), звездочку ( *), тильду (
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
), за которой следует знак ?, *или
, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91
В поле Заменить на введите текст или числа, которые нужно использовать для замены текста поиска.
Нажмите Заменить все или Заменить.
Совет: При нажатии кнопки Заменить все все вхождения условий, которые вы ищете, будут заменены, в то время как Replace будет обновлять одно вхождение за раз.
Щелкните Параметры>> , чтобы при необходимости определить поиск:
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
Примечание: Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладке Заменить доступны только формулы.
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Существует два разных метода поиска или замены текста или чисел на компьютере Mac. Во-первых, используется диалоговое окно «Найти & заменить «. Во-вторых, используется панель поиска на ленте.
Диалоговое окно «Поиск & замена «
Панель поиска и параметры
Нажмите клавиши CTRL+F или выберите Главная > Найти & Выберите > Найти.
В поле Найти: введите текст или цифры, которые нужно найти.
Нажмите кнопку Найти далее , чтобы выполнить поиск.
Вы можете дополнительно определить поиск:
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак ( ?), звездочку ( *), тильду (
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
), за которой следует знак ?, *или
, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91
Источник
Хитрости »
12 Август 2015 83648 просмотров
Массовая замена слов
Предположим, что нам необходимо заменить все «ул.» на листе на «улица «. Или русское слово «дом» на английское «house». Или еще интереснее: все английские буквы на русские. Например, английская «а» должна быть заменена на русскую «a», английская «c» на русскую «с», английская «H» на русскую «Н» и т.д. А такое тоже нередко бывает и доставляет проблемы. Ведь если в одной таблице будут русские буквы, а в другой английские — то применение большинства встроенных функций поиска(та же ВПР) просто не найдут соответствия.
Если подобную замену надо сделать для одного сочетания, то все просто: жмем Ctrl+H и указываем что заменить и на что. Но если таких замен надо сделать 20? Или 120? Это надо будет 120 раз нажать и ввести что заменять и на что. А если это надо сделать еще и не в одном документе — то…Думаю сами справитесь с умножением количества замен на количество файлов, в которых это надо сделать. И вроде бы простая операция превращается в ваш личный ад на работе.
Недавно на форуме участнику потребовалось автоматизировать именно такую штуку. Т.к. код несложный — решил написать и чуть дополнив выложить для всех кому код может потребоваться:
Option Explicit Sub Replace_Mass() Dim s As String Dim lCol As Long Dim avArr, lr As Long Dim lLastR As Long Dim lToFindCol As Long, lToReplaceCol As Long, lLookAt As Long 'запрашиваем направление перевода - с русского на англ. или наоборот lCol = Val(InputBox("Укажите направление перевода:" & vbNewLine & _ " 1 - ru-en" & vbNewLine & _ " 2 - en-ru", "Запрос", 1)) If lCol = 0 Then Exit Sub 'запрашиваем по части ячейки искать или по всему тексту 'по умолчанию - по части lLookAt = Val(InputBox("Искать соответствие по части ячейки или по всему тексту:" & vbNewLine & _ " 1 - по всему тексту" & vbNewLine & _ " 2 - по части ячейки", "Запрос", 2)) If lLookAt = 0 Then Exit Sub Select Case lCol Case 1 lToFindCol = 1 lToReplaceCol = 2 Case 2 lToFindCol = 2 lToReplaceCol = 1 End Select Application.ScreenUpdating = 0 'Получаем с листа Соответствия значения, которые надо заменить в выделенном диапазоне With ThisWorkbook.Sheets("Соответствия") lLastR = .Cells(.Rows.Count, 1).End(xlUp).Row avArr = .Cells(1, 1).Resize(lLastR, 2) End With 'заменяем For lr = 1 To UBound(avArr, 1) s = avArr(lr, lToFindCol) If Len(s) Then 'если значение для замены не пустое Selection.Replace s, avArr(lr, lToReplaceCol), lLookAt End If Next lr Application.ScreenUpdating = 1 End Sub
Как это работает. В книге есть специальный лист с именем «Соответствия». На нем в столбце А записаны слова, которые необходимо заменить, а в столбце В — на что эти слова заменить. Если в столбце А пусто — то замена не будет произведена. Если в столбце В пусто — то значение из столбца А будет просто удалено.
Замены производятся исключительно в выделенных на листе ячейках. Ячейки могут быть несмежными.
Итак, необходимо сделать много замен. Скачиваете файл:
Массовая замена слов (54,5 KiB, 9 782 скачиваний)
Примечание: Я сделал файл как переводчик. Т.е. в первом столбце русские слова, во втором английские. Но в столбцах может быть что угодно — хоть слова, хоть символы, хоть числа.
На лист «Соответствия» записываете в столбец А — что заменять, в столбец В — на что заменять. Переходите на лист книги, в котором необходимо произвести замену. Выделяете ячейки, значения в которых надо найти и заменить. После чего жмете Alt+F8 и выбираете макрос «Tips_Macro_ReplaceMASS.xls!Replace_Mass»(или просто «Replace_Mass», если код в той же книге, что и ячейки для поиска и замены).
Первым появится
окно с запросом направления перевода. По умолчанию 1(ru-en). Т.е. будет браться слово из столбца А и заменяться словом из столбца В. Но если указать 2 — то будет браться слово из столбца В и заменяться словом из столбца А. Т.е. аналог переводчика — с рус. на англ. и наоборот. Либо из А в В, либо из В в А.
Вторым появится
запрос на метод просмотра данных:
- если указать «1 — по всему тексту» — данные из столбца А будут заменять только в том случае, если ячейка в выделенном для замены диапазоне полностью совпадает со значением из столбца А листа «Соответствия». Например, в любой из выделенных ячеек записано «На столе книга», а на листе «Соответствия» в столбце А есть только слово «книга». Замена не будет произведена, т.к. необходимо, чтобы в столбце А было так же «На столе книга».
- если указать «2 — по части ячейки» — данные из столбца А будут заменять в случае, если ячейка в выделенном для замены диапазоне содержит любое слово из столбца А листа «Соответствия». На том же примере — «На столе книга». Если выбрать 2, то в тексте «На столе книга» слово книга будет заменено на слово из столбца В — «book».
И еще один практический пример чуть модифицированного кода. Предположим, имеется таблица выручки по реализации продукции:
Как видно, здесь присутствую только номера статей, но нет их расшифровки. Зато расшифровка есть в отдельном листе «Справочник»:
Как видно, в справочнике присутствуют нужные номера статей и можно было бы применить ту же ВПР(VLOOKUP) для замен. Если бы не одно но: в таблице по реализации помимо номеров статьей есть еще лишний текст «Статья затрат:». Конечно, можно сначала заменить этот текст, потом в отдельном столбце применить ВПР, заменить формулу значениями и вернуть в исходный столбец. Если при этом надо еще оставить текст «Статья затрат:», то надо будет сделать еще доп.манипуляции либо при составлении формулы, либо после. В любом случае — слишком много лишних телодвижений. А значит бОльшие времязатраты.
Приложенный ниже файл поможет сделать это в разы быстрее:
Скачать файл с примером и кодом:
Массовая замена слов — статьи.xls (91,5 KiB, 2 647 скачиваний)
и в итоге за пару секунд получим следующий результат:
Достаточно выделить столбец со статьями на листе с реализацией и запустить код(либо нажатием кнопки заменить значения, либо нажав Alt+F8 и выбрав из списка макросов макрос
Replace_Mass
).
После нажатия на кнопку будут запрошены следующие параметры:
- указать номер столбца значений в листе «Справочник», в котором искать соответствия номерам статей(в нашем случае это столбец 1(А))
- указать номер столбца, значениями которого заменять найденные в таблице реализации значения(это может быть один из трех столбцов справочника: Группа затрат, Статья затрат, Подстатьи затрат). Логичнее всего указать столбец 4, т.к. он наиболее детализирован и конкретнее указывает расшифровку статьи
- далее будет предложено указать точность поиска:
- если указать «1 — по всему тексту» — данные будут заменены только в том случае, если значение ячейки в выделенном для замены диапазоне полностью совпадает со значением из столбца А листа «Справочник». Т.е. если бы у нас в таблице реализации был бы записан только номер статьи(1.01), тогда можно было бы указать именно 1
- если указать «2 — по части ячейки» — данные будут заменены только в том случае, если значение ячейки в выделенном для замены диапазоне содержит любое значение из столбца А листа «Справочник». Это больше подходит к описанному случаю, т.к. нам необходимо заменить исключительно номер статьей на их расшифровку, оставив при этом текст «Статья затрат: «
Если все указано корректно, то на листе будут произведены все необходимые замены.
Возможные ошибки, которые предусмотрены кодом и о которых будет сообщено соответствующим сообщением(код прервется, замены не будут произведены):
- на листе Справочник нет значений
- в качестве столбца для поиска значений и для замены значений на листе Справочник указано одно и то же число
- в качестве столбца значений для замены указано число, превышающее общее количество столбцов на листе Справочник
Особое внимание хочу уделить случаю, когда выбирается замена по части ячейки. В этом случае лучше список на листе Справочник отсортировать по длине текста по тому столбцу, в котором будут значения для поиска. Зачем это надо: т.к. значение по части ячейки будет заменять не полное соответствие, то есть вероятность неверных замен. Например, есть текст «Статья затрат: 1.011». В то же время на листе Справочник есть статьи «1.01» и «1.011». Т.к. «1.01» идет раньше в большинстве случаев, то текст будет заменен некорректно: «Статья затрат: ТВ1«.
Чтобы получить длину строки текста можно использовать функцию ДЛСТР(LEN):
=ДЛСТР(A2)
=LEN(A2)
В отличие от кода, приведенного в начале статьи, код во втором файле позволяет производить замену не только на основании двух столбцов, но и ориентируясь на таблицу данных, как видно из реализации. Можно выбрать любой столбец Справочника для поиска значений и так же любой для замены, что предоставляет большую гибкость по замене значений.
Так же см.:
Замена значений по списку в PowerQuery
Найти в ячейке любое слово из списка
Замена ссылок в формулах на их значения
Как удалить строки по условию?
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Функции поиска и замены в Excel используются для поиска в книге необходимой информации, например определенного числа или текстовой строки. Вы можете либо найти элемент поиска для справки, либо заменить его на что-то другое. В условия поиска можно включить подстановочные знаки, такие как вопросительные знаки, тильды и звездочки, а также цифры. Искать можно по строкам и столбцам, в примечаниях или значениях, а также на листе или во всей книге.
Поиск
Чтобы найти что-то, нажмите клавиши CTRL+F или перейдите в раздел Главная > Редактирование > найти & Выберите > Найти.
Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.
-
В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».
-
-
Нажмите кнопку Найти все или Найти далее , чтобы выполнить поиск.
Совет: При нажатии кнопки Найти все будут перечислены все вхождения условий, которые вы ищете, а щелкнув определенное вхождение в списке, будет выбрана его ячейка. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок столбца.
-
Щелкните Параметры>> , чтобы при необходимости определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
Примечание: Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладкеЗаменить доступны только формулы.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
-
-
Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Заменить
Чтобы заменить текст или цифры, нажмите клавиши CTRL+H или перейдите в раздел Главная > Редактирование > Найти & Выберите > Заменить.
Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.
-
В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».
-
-
В поле Заменить на введите текст или числа, которые нужно использовать для замены текста поиска.
-
Нажмите Заменить все или Заменить.
Совет: При нажатии кнопки Заменить все все вхождения условий, которые вы ищете, будут заменены, в то время как Replace будет обновлять одно вхождение за раз.
-
Щелкните Параметры>> , чтобы при необходимости определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
Примечание: Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладкеЗаменить доступны только формулы.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
-
-
Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Существует два разных метода поиска или замены текста или чисел на компьютере Mac. Во-первых, используется диалоговое окно «Найти & заменить «. Во-вторых, используется панель поиска на ленте.
Диалоговое окно «Поиск & замена «
Панель поиска и параметры
-
Нажмите клавиши CTRL+F или выберите Главная > Найти & Выберите > Найти.
-
В поле Найти: введите текст или цифры, которые нужно найти.
-
Нажмите кнопку Найти далее , чтобы выполнить поиск.
-
Вы можете дополнительно определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
-
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».
-
Нажмите клавиши CTRL+F или выберите Главная > Найти & Выберите > Найти.
-
В поле Найти: введите текст или цифры, которые нужно найти.
-
Выберите Найти все , чтобы выполнить поиск всех вхождений.
Примечание: Диалоговое окно разворачивается, чтобы отобразить список всех ячеек, содержащих условие поиска, и общее количество ячеек, в которых оно отображается.
-
Выберите любой элемент в списке, чтобы выделить соответствующую ячейку на листе.
Примечание: Вы можете изменить содержимое выделенной ячейки.
-
Нажмите клавиши CTRL+H или перейдите на главную страницу > Найти & выберите > Заменить.
-
В поле Найти введите текст или цифры, которые требуется найти.
-
Вы можете дополнительно определить поиск:
-
В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».
-
-
-
В поле Заменить на введите текст или числа, которые вы хотите использовать для замены текста поиска.
-
Выберите Заменить или Заменить все.
Советы:
-
При нажатии кнопки Заменить все все вхождения ищемого условия будут заменены.
-
При нажатии кнопки Заменить можно заменить один экземпляр за раз, нажав кнопку Далее , чтобы выделить следующий экземпляр.
-
-
Выберите любую ячейку для поиска по всему листу или выберите определенный диапазон ячеек для поиска.
-
Нажмите клавиши COMMAND+F или выберите лупу, чтобы развернуть панель поиска и ввести текст или число, которые нужно найти в поле поиска.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».
-
-
Нажмите клавишу RETURN.
Примечания:
-
Чтобы найти следующий экземпляр элемента, который вы ищете, снова нажмите клавишу RETURN или в диалоговом окне Найти и выберите Найти далее.
-
Чтобы указать дополнительные параметры поиска, выберите увеличительное стекло и выберите Поиск на листе или Поиск в книге. Можно также выбрать параметр Дополнительно , который открывает диалоговое окно Поиск .
Совет: Вы можете отменить выполняемый поиск, нажав клавишу ESC.
-
Поиск
Чтобы найти что-то, нажмите клавиши CTRL+F или перейдите в раздел Главная > Редактирование > найти & Выберите > Найти.
Примечание: В следующем примере мы щелкнули > Параметры поиска , чтобы отобразить все диалоговое окно Поиск. По умолчанию отображается со скрытыми параметрами поиска.
-
В поле Найти что: введите текст или числа, которые нужно найти.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».
-
-
Нажмите кнопку Найти далее или Найти все , чтобы выполнить поиск.
Совет: При нажатии кнопки Найти все будут перечислены все вхождения условий, которые вы ищете, а щелкнув определенное вхождение в списке, будет выбрана его ячейка. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок столбца.
-
Щелкните > Параметры поиска , чтобы при необходимости дополнительно определить поиск:
-
В: Чтобы найти данные в пределах определенного выделенного фрагмента, нажмите кнопку Выбор. Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Направление: Вы можете выполнить поиск вниз (по умолчанию) или вверх.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти .
-
Заменить
Чтобы заменить текст или цифры, нажмите клавиши CTRL+H или перейдите в раздел Главная > Редактирование > Найти & Выберите > Заменить.
Примечание: В следующем примере мы щелкнули > Параметры поиска , чтобы отобразить все диалоговое окно Поиск. По умолчанию отображается со скрытыми параметрами поиска.
-
В поле Найти что: введите текст или числа, которые нужно найти.
Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).
-
Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».
-
Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».
-
Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».
-
-
В поле Заменить на введите текст или числа, которые нужно использовать для замены текста поиска.
-
Щелкните Заменить или Заменить все.
Совет: При нажатии кнопки Заменить все все вхождения условий, которые вы ищете, будут заменены, в то время как Replace будет обновлять одно вхождение за раз.
-
Щелкните > Параметры поиска , чтобы при необходимости дополнительно определить поиск:
-
В: Чтобы найти данные в пределах определенного выделенного фрагмента, нажмите кнопку Выбор. Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.
-
Направление: Вы можете выполнить поиск вниз (по умолчанию) или вверх.
-
Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.
-
Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти .
-
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Рекомендуемые статьи
Объединение и отмена объединения ячеек
ЗАМЕНИТЬ, ЗАМЕНИТЬБ
Применение проверки данных к ячейкам