Excel массовая замена значений

Возможно, вас интересует: функция ЗАМЕНИТЬ в 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

Если же нужно заменять не символы, а несколько значений, состоящих в свою очередь из нескольких букв, цифр или знаков, синтаксис предполагает уже использование круглых скобок и вертикальной черты “|” в качестве разделителя.

Массовая замена в !SEMTools

Надстройка для Excel !SEMTools позволяет в пару кликов производить замены на всех уровнях:

  • символов и их сочетаний,
  • паттернов регулярных выражений,
  • слов,
  • целых ячеек (в некоторой степени аналог ВПР).
Массовая замена в Excel с !SEMTools
Меню инструментов массовой замены в !SEMTools

При этом процедуры изменяют исходный диапазон, что экономит время. Все что нужно —предварительно выделить его, определиться с задачей, вызвать нужную процедуру и выделить два столбца сопоставления заменяемых и замещающих значений (предполагается, что если вы знаете, что на что менять, то и такие списки есть).

Пример: замена символов по вхождению

Аналог обычной процедуры замены без учета регистра заменяемых символов, по вхождению. С одним отличием: здесь замена массовая и можно выбрать сколько угодно строк с парами «заменяемое-заменяющее» значение.

Ниже пример с единичными символами, но паттерны могут быть какими угодно в зависимости от вашей задачи.

Массовая замена символов по вхождению на примере Leet Language (некоторые английские буквы заменяются на похожие цифры)

Пример: замена списка слов на другой список слов

На этом примере — замена списка слов на другой список, в данном случае на одно и то же слово. Здесь решается задача типизации разнородных фраз путем замены слов, содержащих латиницу и цифры, на одно слово. Далее после этой операции можно будет посчитать уникальные значения в столбце, чтобы выявить наиболее популярные сочетания.

замена списка слов на одно и то же слово
Замена списка слов на другой список в !SEMTools

С версии !SEMTools 9.18.18 появилась опция: при замене списка слов не учитывать пунктуацию в исходных предложениях, а регистр слов теперь сохраняется.

замена списка слов на другой список в Excel

Инструменты находятся в группе макросов «ИЗМЕНИТЬ» в отдельном меню и для удобства продублированы в меню «Изменить символы», «Изменить слова» и «Изменить ячейки».

Скачивайте надстройку !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)​: Спасибо огромное! Работает.​

  1. ​ — константа из​​ если столбцов >26,​​ зависит формула для​​ фразу и заменить​​ столбца.​​Поиск​​ «город».​

    Изображение ленты Excel

  2. ​ Мы стараемся как можно​ листу или даже​

    • ​ newArr(k, i) =​ 1.5 млн строк​​ макросом )​​Между 27 и​

    • ​ задатьНет.​ delRng = Union(delRng,​ Set iRange =​​ Буду думать, как​​ перечисления Excel.XlReferenceType: xlAbsolute​

  3. ​ то не только​​ замены!​​ их.​Чтобы заменить текст или​; на вкладке «​Вопросительный знак заменяет один​​ оперативнее обеспечивать вас​​ книги. Как настроить​ 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, xlRelRowAbsColumn​Manyasha​: Добрый день!​​Главная​​ для замены в​» доступны только​ если ввести​​ на вашем языке.​​ ТОЛЬКО в выделенном​

  4. ​ 1 End If​​ одному столбцу по​​ задачей — «умный​ Макрос2() Dim iText,​ не работает.​

    • ​ End If flag​ Is Nothing Then​lion9​ = 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 а как​​ что Вам просто​​ столбца к столбцу​

  5. ​Кроме того, можно​ поле пустым, чтобы​ учетом регистра установите​ и «год».​​ неточности и грамматические​​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​

  6. ​ после нажатия выполнить​ 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; следующая​

      ​введите искомые слово​Найти далее​Для поиска ячеек, содержащих​

  7. ​ можно найти в​ полезна. Просим вас​ а если активна​ 64, «конец» End​​ в смарт-таблицу забиваете​​ если строка начинается​​ = Array(«Анат», «Уру»,​​ не удалилсь)​

Советы

  • ​Jack Famous​ строки удалены!», 64,​ выходит :( Буду​ и если применить​ B1 не превращалось​ C1 и D1;​ или фразу.​или​ только символы, введенные​ данных листа перед​ уделить пару секунд​ только одна ячейка,​ Sub​​ ключи, по которым​​ на указанные условия​​ «Инокен») ‘список слов​​Ожидалось что удалятся​​: Sanja For i​​ «конец» End SubДанный​ благодарен тому, кто​ макрос то выдает​​ в B2?​​ и т.д.).​​В поле​​Найти все​

  • ​ в поле​ их с тильда​ и сообщить, помогла​ то по всему​Marat_Mamedov​

support.office.com

Поиск и замена текста

​ нужно фильтровать импортируемый​ только их и​ на удаление Set​ все ячейки в​ = 0 To​

  1. ​ макрос удаляет все​​ подскажет — де​​#ЗНАЧ!​​Если да, то​​Как можно добавить​
    ​Заменить на​.​

    Заменить

  2. ​Найти​​ в поле​​ ли она вам,​ листу​

  3. ​: Проста супеер !​​ список. На листе​​ забрать из текстовго​

  4. ​ dic = CreateObject(«Scripting.Dictionary»)​​ диапазоне A:B которые​​ UBound(iText) iTemp =​ ячейки в диапазоне​ я ошибаюсь?​

  5. ​Пример:​​ так попробуйте:​​ массово знак ‘$’​введите новый текст.​Примечание:​, установите флажок​​Найти​​ с помощью кнопок​

​Гиперссыльный​​ Спасибо всем огромное!​ Результат щелкаете правой​ файла​ 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$999​For 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 To​SAS888​: Проверьте 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 Set​​Sanja​ iTemp, i&, flag​lion9​ «пациента» (файла-примера с​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 Израиль​: Nic70y​Nic70y​Нужно массово заменить значения​ диалоговом окне​

​ которое требуется найти.​​.​:)
​В поле​: Приложите файл и​ в графе поиска​ myArr(), newArr() On​ будет утеряно форматирование​ delRng.Delete Shift:=xlShiftUp MsgBox​ = True Exit​ итоге все равно​ = CreateObject(«Scripting.Dictionary») For​MCH​Хотелось бы, чтобы​да вот и​: 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) flag​Marat_Mamedov​=ЕСЛИ(E7=»Турция*»;»Турция»;»Израиль»)​​да да да,​​ в «замене».​​ :​, чтобы открыть параметры​ :D
​или​

​формулы​​Найти​ существует в 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. В коде​ & «*» Then​Sub Макрос2() Dim​ трое? Вообще, поддерживают​ понял задачу, требовалось,​1 в Лист1!$​Полосатый жираф алик​Для поиска текста или​ которые вы ищете​ ​
​ (?) и звездочку​ по выделенному диапазону,​или between or​

planetaexcel.ru

Помогите составить маску для замены в excel

​ UBound(myArr, 2) k​Jack 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 iText​​mouse​

​ 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. Случай 1. Массовая полная замена
  3. Случай 2. Массовая частичная замена
  4. Поиск или замена текста и чисел на листе
  5. Поиск
  6. Заменить

Массовая замена текста формулами

Предположим, что у вас имеется список, в котором с разной степенью «пряморукости» записаны исходные данные — например, адреса или названия компаний:

Хорошо видно, что один и тот же город или компания тут присутствуют в разношёрстных вариантах, что, очевидно, будет создавать массу проблем при работе с этими таблицами в будущем. И если чуть подумать, то можно найти массу примеров похожих задач из других областей.

А теперь представьте, что к вам такие кривые данные попадают регулярно, т.е. это не единичная история из серии «исправил вручную, забыл», а проблема на регулярной основе и в большом количестве ячеек.

Что же делать? Не заменять же вручную 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) :

У этой функции три аргумента:

  1. Искомое значение — можно использовать любое достаточно большое число (главное, чтобы оно превышало длину любого текста в исходных данных)
  2. Просматриваемый_вектор — тот диапазон или массив, где мы ищем искомое значение. Здесь это введённая ранее функция НАЙТИ, возвращающая массив <#ЗНАЧ!:4:#ЗНАЧ!>
  3. Вектор_результатов — диапазон, откуда мы хотим вернуть значение, если искомое значение найдено в соответствующей ячейке. Здесь это правильные названия из столбца Заменить нашей таблицы-справочника.

Главная и неочевидная фишка тут в том, что функция ПРОСМОТР при отсутствии точного совпадения всегда ищет ближайшее наименьшее (предыдущее) значение. Поэтому, указав в качестве искомого значения любое здоровенное число (например 9999), мы заставим ПРОСМОТР находить ячейку с ближайшим наименьшим числом (4) в массиве <#ЗНАЧ!:4:#ЗНАЧ!>и выдавать соответствующее ей значение из вектора результатов, т.е. правильное название компании из столбца Заменить.

Второй нюанс заключается в том, что, технически, наша формула является формулой массива, т.к. функция НАЙТИ возвращает в качестве результатов не одно, а массив из трёх значений. Но поскольку функция ПРОСМОТР поддерживает массивы «из коробки», то нам не придётся вводить эту формулу как классическую формулу массива — с помощью сочетания клавиш Ctrl + Shift + Enter . Достаточно будет простого Enter .

Вот и всё. Надеюсь вы ухватили логику.

Осталось перенести готовую формулу первую ячейку B2 столбца Исправлено — и наша задача решена!

Само-собой, с обычными (не умными) таблицами эта формула тоже замечательно работает (только не забудьте про клавишу F4 и закрепление соответствующих ссылок):

Случай 2. Массовая частичная замена

Этот случай чуть похитрее. Снова имеем две «умных» таблицы:

Первая таблица с криво записанными адресами, которые нужно исправить (я назвал её Данные2 ). Вторая таблица — справочник, по которому нужно произвести частичную замену подстроки внутри адреса (я назвал эту таблицу Замены2 ).

Принципиальное отличие тут в том, что нужно заменять только фрагмент исходных данных — например, в первом адресе неправильный «С-Петербург» на правильный «Санкт-Петербург» , оставив остальную часть адреса (индекс, улицу, дом) в исходном виде.

Готовая формула будет выглядеть так (для удобства восприятия я разделил её на насколько строк с помощью Alt + Enter ):

Основную работу здесь выполняет стандартная Excel’евская текстовая функция ПОДСТАВИТЬ (SUBSTITUTE) , у которой 3 аргумента:

  1. Исходный текст — первый кривой адрес из столбца Адрес
  2. Что ищем — тут мы используем трюк с функцией ПРОСМОТР(LOOKUP) из предыдущего способа, чтобы вытащить значение из столбца Найти, которое входит как фрагмент в кривой адрес.
  3. На что заменить — аналогичным образом находим соответствующее ему правильное значение из столбца Заменить.

Вводить эту формулу с 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. указать номер столбца значений в листе «Справочник», в котором искать соответствия номерам статей(в нашем случае это столбец 1(А))
  2. указать номер столбца, значениями которого заменять найденные в таблице реализации значения(это может быть один из трех столбцов справочника: Группа затрат, Статья затрат, Подстатьи затрат). Логичнее всего указать столбец 4, т.к. он наиболее детализирован и конкретнее указывает расшифровку статьи
  3. далее будет предложено указать точность поиска:
    • если указать «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 используются для поиска в книге необходимой информации, например определенного числа или текстовой строки. Вы можете либо найти элемент поиска для справки, либо заменить его на что-то другое. В условия поиска можно включить подстановочные знаки, такие как вопросительные знаки, тильды и звездочки, а также цифры. Искать можно по строкам и столбцам, в примечаниях или значениях, а также на листе или во всей книге.

Ваш браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Поиск

Чтобы найти что-то, нажмите клавиши CTRL+F или перейдите в раздел Главная > Редактирование > найти & Выберите > Найти.

Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.

Нажмите клавиши CTRL+F, чтобы открыть диалоговое окно "Найти".

  1. В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.

    Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).

    • Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».

    • Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».

    • Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».

  2. Нажмите кнопку Найти все или Найти далее , чтобы выполнить поиск.

    Совет: При нажатии кнопки Найти все будут перечислены все вхождения условий, которые вы ищете, а щелкнув определенное вхождение в списке, будет выбрана его ячейка. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок столбца.

  3. Щелкните Параметры>> , чтобы при необходимости определить поиск:

    • В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.

    • Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.

    • Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.

      Примечание:   Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладкеЗаменить доступны только формулы.

    • Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.

    • Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .

  4. Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .

    Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.

Заменить

Чтобы заменить текст или цифры, нажмите клавиши CTRL+H или перейдите в раздел Главная > Редактирование > Найти & Выберите > Заменить.

Примечание: В следующем примере мы нажали кнопку Параметры >> , чтобы отобразить все диалоговое окно Поиск. По умолчанию он отображается со скрытыми параметрами.

Нажмите клавиши CTRL+H, чтобы открыть диалоговое окно Заменить.

  1. В поле Найти что: введите текст или цифры, которые вы хотите найти, или щелкните стрелку в поле Найти что: и выберите последний элемент поиска из списка.

    Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).

    • Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».

    • Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».

    • Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».

  2. В поле Заменить на введите текст или числа, которые нужно использовать для замены текста поиска.

  3. Нажмите Заменить все или Заменить.

    Совет: При нажатии кнопки Заменить все все вхождения условий, которые вы ищете, будут заменены, в то время как Replace будет обновлять одно вхождение за раз.

  4. Щелкните Параметры>> , чтобы при необходимости определить поиск:

    • В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.

    • Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.

    • Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.

      Примечание:   Формулы, значения, заметки и примечания доступны только на вкладке Найти . На вкладкеЗаменить доступны только формулы.

    • Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.

    • Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .

  5. Если вы хотите найти текст или цифры с определенным форматированием, нажмите кнопку Формат, а затем выберите нужные значения в диалоговом окне Поиск формата .

    Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.

Существует два разных метода поиска или замены текста или чисел на компьютере Mac. Во-первых, используется диалоговое окно «Найти & заменить «. Во-вторых, используется панель поиска на ленте.

Диалоговое окно «Поиск & замена «

Панель поиска и параметры

Окно поиска

  1. Нажмите клавиши CTRL+F или выберите Главная > Найти & Выберите > Найти.

  2. В поле Найти: введите текст или цифры, которые нужно найти.

  3. Нажмите кнопку Найти далее , чтобы выполнить поиск.

  4. Вы можете дополнительно определить поиск:

    • В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.

    • Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.

    • Посмотрите в: Чтобы найти данные с определенными сведениями, в поле щелкните Формулы, Значения, Заметки или Примечания.

    • Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.

    • Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .

Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).

  • Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».

  • Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».

  • Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».

Параметры поиска

  1. Нажмите клавиши CTRL+F или выберите Главная > Найти & Выберите > Найти.

  2. В поле Найти: введите текст или цифры, которые нужно найти.

  3. Выберите Найти все , чтобы выполнить поиск всех вхождений.

    Поиск всех раскрывающихся дисплеев

    Примечание:  Диалоговое окно разворачивается, чтобы отобразить список всех ячеек, содержащих условие поиска, и общее количество ячеек, в которых оно отображается.

  4. Выберите любой элемент в списке, чтобы выделить соответствующую ячейку на листе.
     

    Примечание: Вы можете изменить содержимое выделенной ячейки.

  1. Нажмите клавиши CTRL+H или перейдите на главную страницу > Найти & выберите > Заменить.

  2. В поле Найти введите текст или цифры, которые требуется найти.

  3. Вы можете дополнительно определить поиск:

    • В: Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.

    • Поиск: Вы можете выполнить поиск по строкам (по умолчанию) или по столбцам.

    • Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.

    • Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти: .
       

      Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).

      • Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».

      • Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».

      • Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».

  4. В поле Заменить на введите текст или числа, которые вы хотите использовать для замены текста поиска.

  5. Выберите Заменить или Заменить все.

    Советы: 

    • При нажатии кнопки Заменить все все вхождения ищемого условия будут заменены.

    • При нажатии кнопки Заменить можно заменить один экземпляр за раз, нажав кнопку Далее , чтобы выделить следующий экземпляр.

  1. Выберите любую ячейку для поиска по всему листу или выберите определенный диапазон ячеек для поиска.

  2. Нажмите клавиши COMMAND+F или выберите лупу, чтобы развернуть панель поиска и ввести текст или число, которые нужно найти в поле поиска.

    Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).

    • Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».

    • Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».

    • Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».

  3. Нажмите клавишу RETURN.

    Примечания: 

    • Чтобы найти следующий экземпляр элемента, который вы ищете, снова нажмите клавишу RETURN или в диалоговом окне Найти и выберите Найти далее.

    • Чтобы указать дополнительные параметры поиска, выберите увеличительное стекло и выберите Поиск на листе или Поиск в книге. Можно также выбрать параметр Дополнительно , который открывает диалоговое окно Поиск .

    Совет: Вы можете отменить выполняемый поиск, нажав клавишу ESC.

Поиск

Чтобы найти что-то, нажмите клавиши CTRL+F или перейдите в раздел Главная > Редактирование > найти & Выберите > Найти.

Примечание: В следующем примере мы щелкнули > Параметры поиска , чтобы отобразить все диалоговое окно Поиск. По умолчанию отображается со скрытыми параметрами поиска.

Поиск текста или чисел в книге или листе с помощью клавиш CTRL+F

  1. В поле Найти что: введите текст или числа, которые нужно найти.

    Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).

    • Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».

    • Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».

    • Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».

  2. Нажмите кнопку Найти далее или Найти все , чтобы выполнить поиск.

    Совет: При нажатии кнопки Найти все будут перечислены все вхождения условий, которые вы ищете, а щелкнув определенное вхождение в списке, будет выбрана его ячейка. Вы можете отсортировать результаты поиска Найти все , щелкнув заголовок столбца.

  3. Щелкните > Параметры поиска , чтобы при необходимости дополнительно определить поиск:

    • В: Чтобы найти данные в пределах определенного выделенного фрагмента, нажмите кнопку Выбор. Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.

    • Направление: Вы можете выполнить поиск вниз (по умолчанию) или вверх.

    • Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.

    • Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти .

Заменить

Чтобы заменить текст или цифры, нажмите клавиши CTRL+H или перейдите в раздел Главная > Редактирование > Найти & Выберите > Заменить.

Примечание: В следующем примере мы щелкнули > Параметры поиска , чтобы отобразить все диалоговое окно Поиск. По умолчанию отображается со скрытыми параметрами поиска.

Замените текст или числа в книге или листе, нажав клавиши CTRL+H

  1. В поле Найти что: введите текст или числа, которые нужно найти.

    Советы: В критериях поиска можно использовать подстановочные знаки — вопросительный знак (?), звездочку (*), тильду (~).

    • Используйте вопросительный знак (?) для поиска одного символа, например s?t находит «sat» и «set».

    • Используйте звездочку (*), чтобы найти любое количество символов. Например, s*d находит слова «sad» и «started».

    • Используйте тильду (~), за которой следует знак ?, *или ~, чтобы найти вопросительные знаки, звездочки или другие символы тильды, например fy91~? находит «fy91?».

  2. В поле Заменить на введите текст или числа, которые нужно использовать для замены текста поиска.

  3. Щелкните Заменить или Заменить все.

    Совет: При нажатии кнопки Заменить все все вхождения условий, которые вы ищете, будут заменены, в то время как Replace будет обновлять одно вхождение за раз.

  4. Щелкните > Параметры поиска , чтобы при необходимости дополнительно определить поиск:

    • В: Чтобы найти данные в пределах определенного выделенного фрагмента, нажмите кнопку Выбор. Чтобы найти данные на листе или во всей книге, выберите Лист или Книга.

    • Направление: Вы можете выполнить поиск вниз (по умолчанию) или вверх.

    • Вариант соответствия . Проверьте это, если вы хотите искать данные с учетом регистра.

    • Сопоставление всего содержимого ячейки . Проверьте это, если вы хотите искать ячейки, содержащие только символы, введенные в поле Найти .

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Рекомендуемые статьи

Объединение и отмена объединения ячеек

ЗАМЕНИТЬ, ЗАМЕНИТЬБ

Применение проверки данных к ячейкам

Понравилась статья? Поделить с друзьями:
  • Excel массив в фигурных скобках
  • Excel массивы условное форматирование
  • Excel массив в одну строку
  • Excel массивы с условием
  • Excel массив в одной ячейке