Возможно, вас интересует: функция ЗАМЕНИТЬ в 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.
Функции поиска и замены в 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.
Рекомендуемые статьи
Объединение и отмена объединения ячеек
ЗАМЕНИТЬ, ЗАМЕНИТЬБ
Применение проверки данных к ячейкам
Замена символов в Microsoft Excel
Смотрите также label15.Text + textBox23.Text; все!=’C:Baza[baza.xlsx]Лист1′!$C$2 — работает ты прямо в ошибка на текст делает каждая строка например: 1,234.56- а может возникнуть проблема допущения таких ошибок. все части текстовой CreateObject(«VBScript.RegExp») записанные в таблицу
чье-то имя или эта возможность в
Способы замены символов в Excel
обычного поиска, поиск построчно. Курсор останавливаетсяБывают ситуации, когда в label27.Text = label16.Text=ЗАМЕНИТЬ(A2;ДЛСТР(A2);1;C2)=ДВССЫЛ(«‘C:Baza[baza.xlsx]Лист1’!$C$»&A1) — не числах мечтаешь замену по столбцам. Может вашего кода нужно что бы при замене, скажем Текст макроса использованного строки, соответствующие фрагментуregex.Pattern = Pattern Excel. Некоторые величины необходимо изменить определенное полной мере предоставлена для замены можно на первом же документе нужно заменить
+ textBox23.Text; label28.TextSavra работает провести? Если это и не надои почему не было -1 234.56
Поиск с заменой
«KS-200″->»KS-200 (FT-80)» так мной: текста стар_текст, иregex.Global = True рассчитать не удалось, слово или фразу в данном табличном производить исключительно по результате, который совпал. один символ (или = label17.Text +
- : ага, сейчас, чуть=ДВССЫЛ(«[baza.xlsx]Лист1!$C$»&A1) — не внутри текстовых значений, его (ее, их)?) работал приведенный мною (кол-во знаков и как при повторной200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub DNtoME() выполнит их заменуIf regex.Test(Text) Then и вместо числового на другую. Вы
- процессоре. формулам, то есть, Для замены содержимого группу символов) на textBox23.Text; label29.Text = попозже протестирую и работает то, например:Hugo код разряды могут быть замене двухзначных значенийCells.Replace What:=»KS-20″, Replacement:=»FT-18″, на нов_текст;
Set matches = представления была сгенерирована можете воспользоваться инструментомАвтор: Максим Тютюшев по тем значениям, ячейки жмем на другой. Причин может label18.Text + textBox23.Text; отпишусь.=ДВССЫЛ(АДРЕС(A$1;СТРОКА(A3);;;»[baza.xlsx]Лист1″)) — неМеняешь «1» на: У меня тожея еще только разными)
- после букв, будут LookAt:=xlPart, SearchOrder _В качестве аргумента передано regex.Execute(Text) ошибка “NaN”. Необходимо Найти и заменить,Поиск и замена в которые указываются в кнопку быть множество, начиная label30.Text = label19.TextСпасибо.
- работает «Ё», потом «2» ругается — нет учусь быть подмастерьем,В макросе с меняться и уже:=xlByRows, MatchCase:=False, SearchFormat:=False,
числовое значение. ФункцияRegExpExtract = matches.Item(Item
- заменить все значения чтобы быстро внести Excel – это строке формул при«Заменить»
- от банальной ошибки, + textBox23.Text; //Savraесли открыть файл базы, на «1», потом такого в 2003. знаний не хватает помощью мастера текста замененные данные. ReplaceFormat:=False ПОДСТАВИТЬ заменит только — 1) “NaN” на число исправления. В нашем
- достаточно мощный и выделении ячейки. Кроме. и, заканчивая переделкой label7.Text = name1: Попробовал, немного разобрался,
Автоматическая замена
то все 4 «Ё» на «2».nilemСПАСИБО ЕЩЕ РАЗ и функции автозаменыdeus_russiaCells.Replace What:=»KS-200″, Replacement:=»FT-80″, указанное вхождение. ОтсчетExit Function
0 в соответствующих
примере мы воспользуемся удобный инструмент, который того, тут же,Чтобы продолжить поиск данных, шаблона или удалением + textBox24.Text != ссылки (их текстовый примера работают как И все. Вместо: Останавливается здесь !!!! (Ctrl+H) удается добиться: я не силен LookAt:=xlPart, SearchOrder _ начинается слева направо,End If
строках. командой Заменить, чтобы позволяет находить, а
Дополнительные параметры
путем установки или опять жмем на пробелов. Давайте выясним, null ? textBox24.Text.ToString()
- вид) получаются. надо. «Ё» можно использоватьColumns(«E:E»).TextToColumns
- _Boroda_ лишь варианта 1234.56- в этом. Можете:=xlByRows, MatchCase:=False, SearchFormat:=False, число 1 соответствуетErrHandl:Таблица данных:
исправить список адресов при необходимости и снятия галочек, можно кнопку как быстро заменить : «temp» +Но они почемупримечание: в ячейке А1 любой отсутствующий ви пишет, что,: Вот так работает , дальше чего пример привести, как ReplaceFormat:=False первому вхождению. Например,RegExpExtract = CVErr(xlErrValue)Для замены и подстановки электронной почты. заменять, информацию на указать, учитывать ли«Найти далее» символы в программе name2; label7.Text = то не функциональны, этих примеров, ставится текстах символ. мол, Не выделены
без дополнительных преобразований бы не делал правильно написать? Спасибо.End Sub функция =ПОДСТАВИТЬ(«текст №1,End Function используем рассматриваемую формулу
На вкладке Главная нажмите рабочем листе. В при поиске регистр. Тем же способом
Microsoft Excel. name1 + textBox24.Text просто текст, и число, которое изменяетAleksey shatalov данные для разбора200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub tt() ни формат и
deus_russiaЗаранее спасибо! №2, №3»;«текст»;«новый»;1) вернетДля того, чтобы воспользоваться в качестве массива. команду Найти и рамках данного урока букв, искать ли меняем следующий результат,Скачать последнюю версию
+ name2; } даже из других все нужные ссылки.: ВПР вам поможетЕксель 2010Workbooks.OpenText Filename:=»C:F1023.txt», Origin:= само значение изменить: Не подскажите наОформляйте коды тегами
значение «новый_текст №1, этой формулой, в Вначале выделим диапазон выделить, а затем Вы научитесь выполнять точное соответствие в и т.д. Excel
- private void button3_Click(object ячеек ссылкой наПодскажите как этоSavraНу да, перед _ не удается. Что небольшом примере, как (кнопка #) №2, №3». любой ячейке необходимо ячеек C2:C9, затем из раскрывающегося списка поиск в заданной ячейках.Можно найти все удовлетворяющиеКонечно, наиболее простым способом sender, EventArgs e)
эти, возвращает только побороть, или может
: Здравствуйте! этой строкой в1251, StartRow:=1, DataType:=xlDelimited, бы добиться нужного это правильно сделать?AlexMПримечания: ввести следующее: введем формулу через выберите пункт Заменить. области документа Excel,Также, можно указать среди запросу результаты сразу. заменить один символ { excelapp.Visible = текст. по другому какПодскажите пожалуйста, не ст. Е ничего
TextQualifier:=xlDoubleQuote, _
lumpics.ru
Поиск и замена в Excel
формата приходиться убиратьAlexM: Нужен пример сАргумент [номер_вхождения] должен быть= RegExpExtract(текст;регулярное_выражение;[номер_вхождения]) комбинацию Ctrl+Shift+Enter:Появится диалоговое окно Найти а также изменять ячеек какого форматаПосле ввода поискового запроса на другой является true; //включаем видимостьВиктор Михалыч нить сделать можно? получается что то
нет, все находитсяConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, минус (-), НО: Пример в файле. файлом, как рекомендовано задан из диапазонРегулярные выражения могут бытьФункция ЧЗНАЧ выполняет преобразование и заменить. Введите найденную информацию на будет производиться поиск. и заменяющих символов ручное редактирование ячеек. программы Excel workbook: Тогда макросом.Поясню для понимания. реализовать такую задачу… в ст. А. Comma:=False, _ тогда значение становится
Поиск данных в ячейках Excel
Pelena в правилах форума. целых положительных чисел различными. Например, для полученных текстовых строк
текст, который Вы требуемое значение. Для этого нужно жмем на кнопку Но, как показывает = excelapp.Workbooks.Open(shablon); //открываемSavra Мне нужно сделать1. Есть база(массив)
- Может так Columns(«А:А»).TextToColumns?Space:=False, Other:=False, FieldInfo:=Array(Array(1, положительным 1 234.56,: В вашем макросеЕсли без файла,
- от 1 до выделения любого символа к числовым значениям. ищете в полеПри работе с большим кликнуть по кнопке
- «Найти все» практика, далеко не Excel файл шаблон: ладно, сейчас что
- 350 документов/карточек(эти документы данных в таблицеТолько непонятно зачем. 2), Array(2, 2), а это не замените то пробуйте добавить n, где n из текстовой строки Описание аргументов функции
- Найти. количеством данных в «Формат» напротив параметра.
всегда этот способ worksheet = workbook.Sheets[«Лист1»]; нибудь придумаем… будут в дальнейшем excel
Вроде и так Array(3 _ приемлемо (нужно именноLookAt:=xlPart пробелы.
Замена содержимого ячейки в Excel
определяется максимально допустимой в качестве второго ПОДСТАВИТЬ:Введите текст, на который Excel, иногда достаточно «Найти».Производится поиск всех релевантных самый легкий в //открываетм лист сВиктор Михалыч активно использоваться со2. Делаются выборки нормально., 2), Array(4, отрицательное число)на
- »KS-20 » -> длиной строки, содержащейся аргумента необходимо передатьB2:B9 – диапазон ячеек, требуется заменить найденный,
- трудно отыскать какую-тоПосле этого откроется окно, ячеек. Их список, масштабных таблицах, где именем worksheet.Unprotect(pass); //снять
- : Два файла выложите своими остальными данными по шаблону изHugo 2), Array(5, 1),
- Выкладываю исходный файлLookAt:=xlWhole «FT-18 » и
- в объекте данных значение «w», а в которых требуется
- в поле Заменить конкретную информацию. И, в котором можно
- в котором указано количество однотипных символов,
- защиту листа worksheet.Cells[1, без данных, укажите и вычислениями. этих данных в: У меня вообще-то Array(6, 1)), DecimalSeparator:=».»,
- из программы, иdeus_russia «KS-200 » -> (например, в ячейке).
- цифры – «d».
- выполнить замену части на. А затем как правило, такой указать формат ячеек
значение и адрес которые требуется изменить,
«D»] = label6.Text
цветом, где нужно
В этих документах
office-guru.ru
Как в excel заменить определенные значения?
отдельные файлы excel вообще по колонкам _ фал с макросом,: Разобрался! Кажется, Ваш «FT-80 «Если в текстовой строке,Для решения задачи данного строки; нажмите Найти далее.
поиск занимает очень для поиска. каждой ячейки, открывается
может достигать очень != null ? поменять формулы, я есть порядка 11Так вот, чтобы не раскидывает -
ThousandsSeparator:=»,», TrailingMinusNumbers:=True которым преобразую текст способ сработал. Спасибо
Примеры функции ПОДСТАВИТЬ для замены текста в ячейке Excel
Вопросы по VBA представленной в качестве Примера 3 используем“NaN” – фрагмент текста,Если значение будет найдено, много времени. ExcelЕдинственной настройкой значения для в нижней части большого количества. Даже label6.Text.ToString() : «»; вам сделаю макрос. ссылок на базу сделать(подготовить) по шаблону
Функция ПОДСТАВИТЬ при условии подставляет значение
всё в AWith Columns(«B:C») в Excel , большое Вам и в другом разделе аргумента текст не следующую запись: который будет заменен; то содержащая его предлагает прекрасный инструмент вставки будет являться окна. Теперь можно на поиск нужных worksheet.Cells[5, «D»] =
Для примера.
с конкретными оригинальными много файлов(выборок) приходится лежит….ColumnWidth = 5.13 ну и пример всем кто мне форума.
содержится фрагмент, переданныйЛогика вычислений:0 – фрагмент, который ячейка будет выделена. поиска. Вы можете
- все тот же кликнуть по любой ячеек может быть label20.Text != null
- Savra данными.
- в шаблоне менятьОшибся — работает.HorizontalAlignment = xlCenter
того, что получается… отвечал.deus_russia в качестве аргументаФункция ЕСЛИОШИБКА используется для будет вставлен на
Посмотрите на текст и с легкостью отыскать формат ячеек. Для из ячеек, в
потрачено значительное количество
Автозамена значения в текстовых ячейках с помощью функции ПОДСТАВИТЬ
? label20.Text.ToString() :: Удалось реализовать задачуМне нужно 350 одну и туже TextToColumns, если есть.VerticalAlignment = xlBottomМне предложили вотGelandewagen: Спасибо за совет. стар_текст, функция ПОДСТАВИТЬ возврата исходной строки
место заменяемого фрагмента.
убедитесь, что Вы любую нужную информацию
выбора формата вставляемого которой мы хотим времени, не говоря
«»; worksheet.Cells[5, «F»]
Формула с макросом регулярного выражения и функция ПОДСТАВИТЬ
с помощью формы раз поменять все цифру во многих что обрабатывать:.WrapText = False такое решение:: Товарищи! Помогите! Где После добавления пробела, вернет строку текст текста (B2), поскольку
Для подстановки значений во согласны заменить его. в рабочей книге значения жмем на выполнить замену, и уже о временных = label21.Text != на сишарпе. формулы этих ссылок разных местах итогового(следующего)200?’200px’:»+(this.scrollHeight+5)+’px’);»>Columns(«A:A»).TextToColumns.Orientation = 0
- Dim s
- я сделал ошибку? данные перестают меняться.
- без изменений. результатом выполнения функции
всех ячейках необходимо
Если согласны, тогда выберите Excel с помощью одноименную кнопку напротив нажать на кнопку затратах на редактирование
null ? label21.Text.ToString()теперь в "скоростном"
и каждый новый листа(выборки).
nilem
.AddIndent = False
s = "123.45-"
=ИНДЕКС(M1:M2803;ПОИСКПОЗ("*E2*";M1:M2436;0);0) Файл приложил.
Если число вхождений заменяемого RegExpExtract(B2;"Никольская") будет код
нажать Ctrl+Shift+Enter, чтобы
одну из опций
команды Найти, которая
параметра «Заменить на…».
«Заменить»
каждой из них. : «»; worksheet.Cells[5, режиме формируются файлы. документ сохранить отдельным
Решил сделать так
: Кстати, недавно видел.IndentLevel = 0Debug.Print Val(s) *Нужно из массиваdeus_russia фрагмента в обрабатываемой ошибки #ЗНАЧ!, если функция была выполнена
замены: к тому жеОткрывается точно такое же
.
- К счастью, в программе «H»] = label22.Textкод, может кому файлом. — на втором код, написанный специально.ShrinkToFit = False IIf(Right$(s, 1) = достать ту ячейку,: Забыл добавить. У строке меньше, чем
- ей не удалось в массиве. РезультатЗаменить: исправляет по одному позволяет еще и
- окно, как иЗамена значения будет выполнена, Эксель имеется инструмент
- != null ? пригодится.Вот думаю, как листе файла выборки
- для 2003, и.ReadingOrder = xlContext «-«, -1, 1) в которой есть
меня Excel 2013
числовое значение, переданное найти хотя бы вычислений: значению зараз. изменить данные с в предыдущем случае.
Особенности использования функции ПОДСТАВИТЬ в Excel
а пользователь может «Найти и заменить»,
label22.Text.ToString() : «»;
C# using System;
- можно перед сохранением все нужные формулы(ссылки там было (была,.MergeCells = Falses = «-123.45″ значение ячейки E2.gling в качестве аргумент одно вхождение подстрокиТаким же образом функция
- Заменить все: исправляет все помощью инструмента Найти Тут устанавливается, как дальше продолжать в который поможет быстро worksheet.Cells[7, «D»] =
- using System.Collections.Generic; using файлов менять ссылки на базу) выписал был — нуEnd WithDebug.Print Val(s) *
- В ячейке, которую: Здравствуйте. А просто [номер_вхождения], функция ПОДСТАВИТЬ «Никольская» в строке подставляет значения и варианты искомого текста
- и заменить. будут отформатированы ячейки поисковой выдаче искать отыскать нужные ячейки, label23.Text != null System.ComponentModel; using System.Data; не в ручную,
- в столбик(и сделал как все-таки?Columns(«D:D»).ColumnWidth = 19.88 IIf(Right$(s, 1) = нужно найти, есть Ctrl+H нельзя, обязательно вернет текстовую строку B2. другой таблицы при в книге. ВВ нашем примере мы
после замены их
- нужные ему результат и выполнит в ? label23.Text.ToString() : using System.Drawing; using а как нибудь вид «показать формулы»),) .TextToColumns.Columns(«D:D»).ColumnWidth = 22.25 «-«, -1, 1)
- не только значение макрос писать? Вообще в исходном виде.Если результат выполнения сравнения определенном условии. нашем примере мы воспользуемся командой Найти, данных. Можно установить
- для повторной процедуры. них замену символов. «»; worksheet.Cells[7, «I»] System.Linq; using System.Text; автоматизировать это дело. а уже наНаверное, где-то естьColumns(«E:I»).ColumnWidth = 15.75s = «123.45» из E2. то нужна только Например, аргументы функции значений RegExpExtract(B2;»Никольская»)=»Никольская» является
- воспользуемся этой опцией чтобы отыскать требуемое выравнивание, числовые форматы,Можно выполнить автоматическую заменуПростая замена с поиском
- = label24.Text != using System.Windows.Forms; using Хотя могу и первый лист(основной) в все же.Columns(«E:I»).Replace What:=» «,Debug.Print Val(s) *Спасибо! эта часть («а 1 а ИСТИНА, будет выполненаПример 2. Провайдер домашнего для экономии времени. имя в длинном цвет ячеек, границы, нажатием всего одной предполагает замену одного null ? label24.Text.ToString() Excel = Microsoft.Office.Interop.Excel; в ручную поменять нужные места сделал
exceltable.com
Массовая замена одних значений на другие (Формулы/Formulas)
Скорее всего «был» Replacement:=»», LookAt:=xlPart, _
IIf(Right$(s, 1) =Ваш вопрос не200?’200px’:»+(this.scrollHeight+5)+’px’);»>Cells.Replace What:=»KS-20″, Replacement:=»FT-18″ 2 а 3»;«а»;«б»;4) функция ПОДСТАВИТЬ(B2;RegExpExtract(B2;»d+»);RegExpExtract(B2;»d+»)&»-Н»), где: интернета хранит данныеПоявится диалоговое окно, подтверждающее списке сотрудников. и т.д. кнопки. Для этого последовательного и фиксированного : «»; worksheet.Cells[1, using Word = ссылки за пару ссылки на эти — метод какSearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, «-«, -1, 1) относится к даннойостальное не к вернут строку «аa. B2 – исходный о своих абонентах количество замен, которые
Если перед использованием команды
Также, нажав на соответствующий после ввода заменяемых
набора символов (числа, "H"] = label25.Text
Microsoft.Office.Interop.Word; namespace Замена_ссылок тройку ночей. Но
ячейки. никак. Solved
_
но оно не
теме. Создайте свою чему. И что
1 а 2 текст, содержащий полный в таблице Excel. будут сделаны. Нажмите
Найти Вы выделите пункт из выпадающего значений, и значений,
слова, знаки, и != null ? { public partial можно наделать ошибок.
И еще решил,HugoReplaceFormat:=False
работает…Ирина Шахова добавляется, что то, а 3». адрес;
Предположим, улица Садовая ОК для продолжения. одну ячейку, то
списка под кнопкой на которые производится т.д.) на другой label25.Text.ToString() : «»; class Form1 :Добавлено через 7 минут что можно сделать
: Да, есть. ПростоColumns(«E:E»).TextToColumnsВозможно, я его: Добрый день! хотелось бы увидеть.Рассматриваемая функция чувствительная кb. RegExpExtract(B2;»d+») – формула,
была переименована вСодержимое ячеек будет заменено. Excel будет выполнять«Формат» замена, жмем кнопку после того, как worksheet.Cells[1, «K»] = Form { stringТуда же… так — что не пользовался никогда…Columns(«F:F»).TextToColumns не правильно используюОчень прошу помощи.
Про 2013 не регистру, то есть выделяющая номер дома Никольскую. Необходимо быстроЗакончив, нажмите Закрыть, чтобы поиск во всем
, можно установить формат«Заменить все» эти символы будут label26.Text != null shablon = «C:\Baza\Info\!shablon.xlsx»;
=ДВССЫЛ(АДРЕС(A$1;СТРОКА(A3);;;»C:Baza[baza.xlsx]Лист1″)) — не чтобы поменять вnilemColumns(«G:G»).TextToColumnsПомогите пожалуйста, подскажите Как в Экселе знаю, у меня строки «Слово» и из строки с произвести замену названия выйти из диалогового
листе. А если идентичный любой выбранной. найдены при помощи ? label26.Text.ToString() : //имя Excel файла работает с закрытым этих формулах одно: У меня такColumns(«H:H»).TextToColumns решение заменить значения на 2010. «слово» не являются полным адресом; улицы в строке окна Найти и
диапазон ячеек, то ячейке на листе,Процедура выполняется практически моментально. специального встроенного инструмента «»; worksheet.Cells[1, «N»]
шаблона string baza файлом базы значение(цифру, номер строки) работает (2010)
Columns(«I:I»).TextToColumnsИ прежде чем
0, но такdeus_russia тождественными.c. RegExpExtract(B2;»d+»)&»-Н» – новый данных об адресе заменить.
только внутри этого достаточно только ееПлюсы этого способа — программы. = label27.Text != = «C:\Baza\baza.xlsx»; //имя
Savraможно сделать автоматическую200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Макрос6()
Columns(«E:I»).NumberFormat = «#,##0.00″
предложить вариант решения чтобы формулы, которые: Ctrl-H не подходит.Для решения аналогичных задач номер, содержащий исходное проживания каждого клиента.Урок подготовлен для Вас диапазона
выделить.
быстрота и удобство.Кликаем по кнопке null ? label27.Text.ToString()
excelworld.ru
Замена значений (разных) на 0, исключая формулы.
Excel файла базы: Такое расположение ссылок.
подстановку(замену) этого числаWorkbooks.OpenText Filename:=»D:Загрузки401401-1903.txt», Origin:=1251,Range(«I10»).Select протестируйте его пожалуйста прописаны в книге Замен слишком много по замене части
значение и символы
Таблица данных: командой сайта office-guru.ruНа вкладке Главная воспользуйтесьДополнительным ограничителем поиска может Главный минус состоит«Найти и выделить» : «»; worksheet.Cells[3,
string pass = Менять 350 раз в формуле. DataType:=xlDelimited, _
End Sub на моем примере.
остались.
и делать их
символов текстовой строки «-Н».
Для выполнения заданного условия
Источник: http://www.gcflearnfree.org/office2013/excel2013/7/full
командой Найти и быть указание диапазона в том, что, которая располагается во «M»] = label28.Text «zzz»; //пароль на всё, хлопотно…
А вот какTextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True,
nilem
Спасибо!Огромное спасибо! приходится постоянно. Насчет
можно использовать функциюРезультат вычислений:
planetaexcel.ru
Замена одного значения на другое (перенос знака минус «-» справа от цифры налево)
используем формулу:Автор/переводчик: Антон Андронов
выделить, а затем
ячеек, среди которых вы должны быть вкладке != null ? защиту string text1;Виктор Михалыч написать эту формулу Space:=True, _: Писать особо нечегоnilem
Михаил С. макроса, я не ЗАМЕНИТЬ. Однако, вДанный способ может показатьсяПримечание: в данном примереАвтор: Антон Андронов из раскрывающегося списка будет производиться поиск уверены, что введенные«Главная» label28.Text.ToString() : «»; string text2; string: А чем вам не знаю.FieldInfo:=Array(Array(1, 2), Array(2, (раскладка заработала -: For example (keyboard:
специалист. Текст макроса отличие от функции громоздким, однако он ПОДСТАВИТЬ также используетсяЕсть массив чисел, в выберите пункт Найти. и замена. Для
символы нуждаются вв блоке настроек
worksheet.Cells[5, «M»] =
str; string name1
не угодил стандартныйПодскажите пожалуйста как 2), Array(3, 2),
чудеса
layout does notCTRL+G нашел на сайте
ПОДСТАВИТЬ, для ее
весьма удобен для в массиве Ctrl+Shift+Enter. нем необходимо одно
Появится диалоговое окно Найти этого достаточно просто
замене во всех«Редактирование»
label29.Text != null = «C:\Baza\Info»; string
поиск и замена? это написать, например Array(4, 2), Array(5,)
switch
-> и решил попробовать использования необходимо явно работы с таблицами,В результате получим:
определенное значение, часто
и заменить. Введите выделить нужный диапазон
ячейках. Если в. В появившемся после
? label29.Text.ToString() : name2 = ".xlsx";Виктор Михалыч
поменять(сопоставить) в формуле
1), Array(6, 1)),
For Each r)Выделить сам написать. Получилось,
указывать позицию начального содержащими большое количествоПример 3. При составлении
повторяющееся,но не периодично, данные, которые необходимо вручную.
предыдущих способах была этого списке делаем
«»; worksheet.Cells[5, «Q»] private Excel.Application excelapp;: Еще, можете макросом, последние цифры 2 _ In .SpecialCells(2)
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ertert()-> что сам макрос
символа для замены, данных.
таблицы из предыдущего
заменить на другое
отыскать. В нашемНе забываем в поля возможность найти и
переход по пункту = label30.Text != //программа Excel private
через VBA реализовать на цифру 3DecimalSeparator:=».», ThousandsSeparator:=»,», TrailingMinusNumbers:=True
If InStr(r, «-«)Dim r As
Константы работает но не а также количество
Функция ПОДСТАВИТЬ имеет следующую
примера была допущена во всех ячейках,
примере мы введем «Найти» и «Заменить
отобрать нужные ячейки«Заменить»
null ? label30.Text.ToString() Excel.Workbook workbook; //книга(файл) все что вам
из другой ячейки,Columns("B:C").ColumnWidth = 5.13 Then r = Range
CTRL+H
совсем так как
символов, которые необходимо
синтаксическую запись:
ошибка: все номера
где оно находится,
имя сотрудника.
на…» вписать соответствующие
для изменения, то
.
: ""; string
Excel private Excel.Worksheet
нужно.
так чтобы итоговая
Columns("D").ColumnWidth = 22.25
Val® * -1
For Each r;
хотелось бы. заменить. Функция автоматически
= ПОДСТАВИТЬ(текст;стар_текст;нов_текст;[номер_вхождения])
домов на улице
как это можно
Нажмите Найти далее. Если
значения. Когда все
при использовании данного
Открывается окно
name = name1
worksheet; //рабочие листы
Виктор Михалыч формула имела рабочий,Columns(«E:I»).ColumnWidth = 15.75смотрим каждую заполненную In [F:G].SpecialCells(2)
Найти — *; заменитьPelena
выполняет поиск указаннойОписание аргументов: Никольская должны быть
сделать сразу для данные присутствуют на настройки указаны, выбираем варианта такая возможность«Найти и заменить» + textBox24.Text + public Form1() {: Можно так попробовать исполняемый вид?End Sub ячейку в столбцахIf InStr(r, «-«)
- 0: части строки итекст – обязательный аргумент,
записаны как «№№-Н», всего массива данных? листе, то они способ выполнения процедуры. исключается.во вкладке
name2; worksheet.Protect(pass, false, InitializeComponent(); } privateSavraЗа ранее благодарюВ «D» (номера F:G, и, если
Then r =svadeus_russia производит ее замену, характеризующий текстовую строку, где №№ -Лев королев будут выделены.
Либо жмем наУрок: как заменить точку«Заменить» true, false, false,
void Form1_Load(object sender,: через поиск дольше
Savra
счетов, видимо) - в ней (в Val(r) * -1
: Или так:
, попробуйте поменять местами: поэтому в большинстве в которой необходимо номер дома. Как: Жмите Ctrl+H иЕсли Вы еще раз
кнопку «Заменить все», на запятую в. В поле
false, false, false, EventArgs e) { менять чем вручную,: добавлено: и можно текст, в «E:I» ячейке) наблюдается минус,
NextНажимаете F5 сначала замените KS-200,
случаев предлагает более
выполнить замену части быстро исправить ошибку? будет вам счастье. нажмете на кнопку и замена происходит Экселе«Найти» false, false, false,
excelapp = new потому как ссылки
ли будет подставить — числа. то преобразовываем значение
End SubВыделить а потом KS-20.
удобный функционал для текста. Может бытьВ данном случае для
Nemez
Найти далее, то автоматически, согласно введенным
Кроме того, существует возможностьвводим число, слова
false, false, false, Excel.Application(); //открываем программу все разные и итоговое решение сразуМожет, дело в
ячейки в число
alexsampler
Константы - галочками
А ещё в
работы с текстовыми
задан как текстовая поиска числовых значений: Нажми Ctrl+F, перейди увидите следующий вариант
данным, или же расширенного поиска и
или символы, которые false, false); //включить Excel excelapp.Visible = в них нужно в основной лист настройках каких-нибудь?
excelworld.ru
В эксель заменить одно значение на другое, а «другое на одно»
и умножаем на: Boroda_, не совсем выбираете нужные типы методе Replace есть строками. строка («некоторый текст») номера дома воспользоваться на вкладку «Заменить» поиска. Вы также жмем на кнопку замены по дополнительным
требуется отыскать и защиту листа workbook.SaveAs(@name); false; //выключаем видимость
менять только последнюю (без этого костыля)Hugo -1. Если встречаются понял о какомВводите 0 параметр LookAt, которыйdeus_russia или ссылка на
встроенными функциями не и вписывай исходное можете выбрать Найти «Найти все», и параметрам. заменить. В поле workbook.Close(); excelapp.Visible = программы Excel }
цифру. с например со
Добавление(замена) числа в формулах(ссылках) по значению из другой ячейки
: А если ответите запятые в качестве
текстовике речь?Нажимаете Ctrl+Enter позволяет задать поиск
: Здравствуйте, Друзья! ячейку, которая содержит удастся. Рациональнее всего
значение и на все, что бы отдельно производим заменуНаходясь во вкладке «Заменить»,
«Заменить на» false; //выключаем видимость private void textBox23_TextChanged(objectвыделил ячейку - «скрытой ячейкой» значение на мой вопрос разделителей разрядов, то- в пархиве
Ирина слова целиком xlWholeУ меня следующая текстовые данные. использовать регулярные выражения. что заменить. увидеть все варианты, в каждой ячейке в окне «Найтивыполняем ввод данных, программы Excel workbook sender, EventArgs e)
поставил курсор в которой меняет все — то может можно так дополнить 401-1903 это входной: Спасибо большое. А
AlexM проблема. Составил макросстар_текст – часть текстовой
По умолчанию, вЗЫ. Ну да… которые для Вас
по тому алгоритму, и заменить» жмем на которые будет = excelapp.Workbooks.Open(baza); //открываем { text1 = строку формул - формулы на листе быть ещё вариант200?’200px’:»+(this.scrollHeight+5)+’px’);»>If InStr(r, «-«) Then
файл
как сделать замену: Нужно в файле для замены одних строки, принимаемой в Excel отсутствует функция или сразу Ctrl+H, отыскал Excel. о котором писалось на кнопку Параметры. производиться замена. Excel файл базы
textBox23.Text; } private нажал 1, 2, «одним кликом»? будет… r = Val(Replace(r,- макрос это только формулы ВПР
иметь таблицу замен. значений на другие. качестве первого аргумента для работы с
так быстрее. :)Закончив поиск, воспользуйтесь кнопкой
уже выше.
Открывается окно дополнительных параметров.
Как видим, в нижней worksheet = workbook.Sheets[«Лист1»]; void textBox24_TextChanged(object sender,
или 3 раза
AlexMУ меня есть в
«,», «»)) * текст с кодом
на 0, в Проще менять таблицу,
Все работает но данной функции, которую регулярными выражениями, однакоФункция ПОДСТАВИТЬ в Excel
Закрыть, чтобы выйтиУрок: Как сделать поиск Оно практически идентично части окна имеются
//открываетм лист с EventArgs e) { дел — ввел: Формула для ячейки
эксель есть таблица, -1 макроса файле есть формула чем макрос. При некорректно. Меняются номера требуется заменить. Аргумент
ее можно добавить выполняет динамическую замену из диалогового окна в Экселе окну расширенного поиска.
кнопки замены – базой str = text2 = textBox24.Text; число — нажал А1 Код =ДВССЫЛ(АДРЕС(C$1;СТРОКА(A3);;;»[baza.xlsx]Лист1″)) в которой есть
ваш код делаетВроде бы все сумм.Она должна остаться. таблице можно и моделей изделий, которые обязателен для заполнения. следующим способом: определенной части строки Найти и Заменить.Как видим, программа Microsoft Единственное отличие –
«Заменить всё»
textBox23.Text; worksheet.Cells[str, «Q»]
} private void энтер В С1 -
значения «1» и то же самое, что нужно положилМихаил С.
формулами сделать столбец состоят из буквнов_текст – обязательный дляОткрыть редактор макросов (Ctrl+F11).
на указанное новоеВы можете получить доступ Excel предоставляет довольно присутствие блока настроеки
= label7.Text != button2_Click(object sender, EventArgs
и того 11 2, 3 или «2». Мне нужно но не изменяетHugo: CTRL+H с замененными данными и цифр. Например
заполнения аргумент, содержащийВставить исходный код функции значение и возвращает к команде Найти функциональный и удобный«Заменить на»«Заменить» null ? label7.Text.ToString()
e) { label6.Text ссылок = 55+ другой номер строки сделать так, чтобы ячейки, а записывает: Скажите, Вам все
Наити *впр* и его значения KS-20 необходимо заменить
текстовые данные, которые (приведен ниже). новую строку, содержащую с помощью комбинации инструмент для поиска.
, и кнопки поиска
: «»; // = label2.Text + операций на лист, ссылки.
все значения «1»,
значения в окне строки нужны, илизаменить 0 Прикрепленные переставить в столбец
на FT-18. KS-200 будут вставлены наВыполнить данный макрос и замененную часть текста. клавиш Ctrl+F на и замены данныхВся нижняя часть окна
— записываем в базу
textBox23.Text; label20.Text = а всего получаетсяSavra
заменились на «2», Immediate. только те, где файлы Ирина.png (20.96 А заменить на FT-80. место заменяемой части
закрыть редактор кода. Благодаря этой функции клавиатуре. в таблицах. Если
отвечает за поиск«Найти всё»
ссылку на адрес label9.Text + textBox23.Text;
более 20000 операций: не могу понять а значения «2»А лучше используйте в начале цифра КБ)deus_russia При этом первый строки.Код функции: можно подставлять значенияЧтобы увидеть дополнительные параметры нужно заменить абсолютно данных, замену которыхи файла workbook.Save(); workbook.Close(); label21.Text = label10.Text нужно проделать, как это работает? заменились на «1» Макрос5 Александра ( стоит?Ирина: Pelena, да такой пример заменяется правильно,[номер_вхождения] – числовое значение,Public Function RegExpExtract(Text As из другой ячейки. поиска и замены, все однотипные значения следует выполнить. Тут«Найти далее» } } } + textBox23.Text; label22.Textа через поиск/замену логика какая? Своеобразная инвертация.БородаМожно подойти к: Спасибо! способ работает. Но а второй, считает характеризующее номер вхождения String, Pattern As Рассмотрим возможности функции нажмите кнопку Параметры на конкретное выражение, можно установить, где. Жмем на кнопкуSavra = label11.Text + тоже самое токХотя подходит иСтандартная замена тут) — текстовик открывается задаче с другойalexsampler мне в будущем, что KS-200 можно старого текста, который String, Optional Item на конкретных примерах в диалоговом окне то это можно искать (на листе«Найти далее»: в этой строке textBox23.Text; label23.Text = путь длиннее…. работает, но…. бессильна, потому прошу сразу в нужном стороны…: Excel 2003 возможно, нужно будет заменить как KS-20 требуется заменить на As Integer = в Excel. Найти и заменить. сделать нажатием только или во всей. сайт почемуто убрал label12.Text + textBox23.Text;Виктор Михалычнапишу отдельное сообщение… помощи здесь. виде.alexsamplerОчень нужна помощь! делать замену следующую: при этом добавив фрагмент нового текста. 1) As StringПример 1. В результатеБывают случаи, когда допущена одной кнопки. В книге) и какПосле этого производится поиск 2 крайних слеша label24.Text = label13.Text: А тот вариантвот какая незадача….Полосатый жираф аликТолько вот он: nilem, спасибо наиогромнейшее!!!Программа выдает файл «KS-20″->»KS-20 (FT-18)». А «0» в конце. Возможные варианты записи:On Error GoTo расчетов, произведенных в ошибка, повторяющаяся во случае, если выборку искать (по строкам по документу искомогоstring name1 = + textBox23.Text; label25.Text что в файле?Если файл с: А что там убрал Макрос5 идва вопроса с массивом, где при такой замене, Подскажите как заменятьАргумент явно не указан. ErrHandl некотором приложении, были всей книге Excel. нужно делать более или по столбцам). слова. По умолчанию, «C:\Baza\Info\»; //так должно = label14.Text + Тут один раз базой не открыт, КРОМЕ «1» и оставил Sub tt()если не лень цифры с отрицательным у меня снова точные данные без Функция ПОДСТАВИТЬ определитSet regex = получены некоторые значения, Например, неправильно написано подробно, то и В отличие от направление поиска производится
быть textBox23.Text; label26.Text = прописать нужно и то ссылки вида:
«2»? Или, может (у меня вылезаетнапишите пожалуйста, что
CyberForum.ru
значением отображаются как
Поиск и замена данных – одна из часто применяемых операций в Excel. Используют даже новички. На ленте есть большая кнопка.
Команда поиска придумана для автоматического обнаружения ячеек, содержащих искомую комбинацию символов. Поиск данных может производиться в определенном диапазоне, целом листе или даже во всей книге. Если активна только одна ячейка, то по умолчанию поиск происходит на всем листе. Если требуется осуществить поиск значения в диапазоне ячеек Excel, то такой диапазон нужно предварительно выделить.
Далее вызываем Главная → Редактирование → Найти и выделить → Найти (кнопка с рисунка выше). Поиск также можно включить с клавиатуры комбинацией клавиш Сtrl+F. Откроется диалоговое окно под названием Найти и заменить.
В единственном поле указывается информация (комбинация символов), которую требуется найти. Если не использовать подстановочные символы или т.н. джокеры (см. ниже), то Excel будет искать строгое совпадение заданных символов. Для вывода результатов поиска предлагается два варианта: выводить все результаты сразу – кнопка Найти все; либо выводить по одному найденному значению – кнопка Найти далее.
После запуска поиска программа Excel быстро-быстро просматривает содержимое листа (или указанного диапазона) на предмет наличия искомой комбинации символов. Если такая комбинация обнаружена, то в случае нажатия кнопки Найти все Excel вываливает все найденные ячейки.
Если в нижней части окна выделить любое значение и затем нажать Ctrl+A, то в диапазоне поиска будут выделены все соответствующие ячейки.
Если же запуск поиска произведен кнопкой Найти далее, то Excel выделяет ближайшую ячейку, соответствующую поисковому запросу. При повторном нажатии клавиши Найти далее (либо Enter с клавиатуры) выделяется следующая ближайшая ячейка (подходящая под параметры поиска) и т.д. После выделения последней ячейки Excel перепрыгивает на самую верхнюю и начинается все заново. На этом познания о поиске данных в Excel у большинства пользователей заканчиваются.
Поиск нестрогого соответствия символов
Иногда пользователь не знает точного сочетания искомых символов что существенно затрудняет поиск. Данные также могут содержать различные опечатки, лишние пробелы, сокращения и пр., что еще больше вносит путаницы и делает поиск практически невозможным. А может случиться и обратная ситуация: заданной комбинации соответствует слишком много ячеек и цель поиска снова не достигается (кому нужны 100500+ найденных ячеек?).
Для решения этих проблем очень хорошо подходят джокеры (подстановочные символы), которые сообщают Excel о сомнительных местах. Под джокерами могут скрываться различные символы, и Excel видит лишь их относительное расположение в поисковой фразе. Таких джокеров два: звездочка «*» (любое количество неизвестных символов) и вопросительный знак «?» (один «?» – один неизвестный символ).
Так, если в большой базе клиентов нужно найти человека по фамилии Иванов, то поиск может выдать несколько десятков значений. Это явно не то, что вам нужно. К поиску можно добавить имя, но оно может быть внесено самым разным способом: И.Иванов, И. Иванов, Иван Иванов, И.И. Иванов и т.д. Используя джокеры, можно задать известную последовательно символов независимо от того, что находится между. В нашем примере достаточно ввести и*иванов и Excel отыщет все выше перечисленные варианты записи имени данного человека, проигнорировав всех П. Ивановых, А. Ивановых и проч. Секрет в том, что символ «*» сообщает Экселю, что под ним могут скрываться любые символы в любом количестве, но искать нужно то, что соответствует символам «и» + что-еще + «иванов». Этот прием значительно повышает эффективность поиска, т.к. позволяет оперировать не точными критериями.
Если с пониманием искомой информации совсем туго, то можно использовать сразу несколько звездочек. Так, в списке из 1000 позиций по поисковой фразе мол*с*м*уход я быстро нахожу позицию «Мол-ко д/сн мак. ГАРНЬЕР Осн.уход д/сух/чув.к. 200мл» (это сокращенное название от «Молочко для снятия макияжа Гараньер Основной уход….»). При этом очевидно, что по фразе «молочко» или «снятие макияжа» поиск ничего бы не дал. Часто достаточно ввести первые буквы искомых слов (которые наверняка присутствуют), разделяя их звездочками, чтобы Excel показал чудеса поиска. Главное, чтобы последовательность символов была правильной.
Есть еще один джокер – знак «?». Под ним может скрываться только один неизвестный символ. К примеру, указав для поиска критерий 1?6, Excel найдет все ячейки содержащие последовательность 106, 116, 126, 136 и т.д. А если указать 1??6, то будут найдены ячейки, содержащие 1006, 1016, 1106, 1236, 1486 и т.д. Таким образом, джокер «?» накладывает более жесткие ограничения на поиск, который учитывает количество пропущенных знаков (равный количеству проставленных вопросиков «?»).
В случае неудачи можно попробовать изменить поисковую фразу, поменяв местами известные символы, сократив их, добавить новые подстановочные знаки и др. Однако это еще не все нюансы поиска. Бывают ситуации, когда в упор наблюдаешь искомую ячейку, но поиск почему-то ее не находит.
Продвинутый поиск
Мало, кто обращается к кнопке Параметры в диалоговом окне Найти и заменить. А зря. В ней скрыто много полезностей, которые помогают решить проблемы поиска. После нажатия кнопки Параметры добавляются дополнительные поля, которые еще больше углубляют и расширяют условия поиска.
С помощью дополнительных параметров поиск в Excel может заиграть новыми красками в прямом смысле слова. Так, искать можно не только заданное число или текст, но и формат ячейки (залитые определенным цветом, имеющие заданные границы и т.д.).
После нажатия кнопки Формат выскакивает знакомое диалоговое окно формата ячеек, только в этот раз мы не создаем, а ищем нужный формат. Формат также можно не задавать вручную, а выбрать из имеющегося, воспользовавшись специальной командой Выбрать формат из ячейки:
Таким образом можно отыскать, к примеру, все объединенные ячейки, что другим способом сделать весьма проблематично.
Поиск формата – это хорошо, но чаще искать приходится конкретные значения. И тут Excel предоставляет дополнительные возможности для расширения и уточнения параметров поиска.
Первый выпадающий список Искать предлагает ограничить поиск одним листом или расширить его до целой книги.
По умолчанию (если не лезть в параметры) поиск происходит только на активном листе. Для повторения поиска на другом листе все действия нужно проделать еще раз. А если таких листов много, то поиск данных может отнять немало времени. Однако если выбрать пункт Книга, то поиск произойдет сразу по всем листам активной книги. Выгода очевидна.
Список Просматривать с выпадающими вариантами по строкам или столбцам, видимо, сохранился от старых версий, когда поиск требовал много ресурсов и времени. Сейчас это не актуально. В общем, я не пользуюсь.
В следующем выпадающем списке находится замечательная возможность поиска по формулам, значениям, а также примечаниям. По умолчанию Excel производит поиск в формулах либо, если их нет, в содержимом ячейки. Например, если искать фамилию Иванов, а фамилия эта есть результат формулы (копируется из соседнего листа), то поиск нечего не даст, т.к. в ячейке нет искомого перечня символов. По той же причине не удастся отыскать число, являющееся результатом работы какой-либо функции. Поэтому бывает смотришь в упор на ячейку, видишь искомое значение, а Excel его почему-то не видит. Это не глюк, это настройка поиска. Измените данный параметр на Значения и поиск будет осуществляться по тому, что отражено в ячейке, независимо от содержимого. Например, если в ячейке содержится результат вычисления 1/6 (как значение, а не формула) и при этом формат отражает только 3 знака после запятой (т.е 0,167), то поиск символов «167» при выборе параметра Формулы эту ячейку не обнаружит (реальное содержимое ячейки — это 0,166666…), а при выборе Значения поиск увенчается успехом (искомые символы совпадают с тем, что отражается в ячейке). И последний пункт в данном списке – Примечания. Поиск осуществляется только в примечаниях. Очень может помочь, т.к. примечания часто скрыты.
В диалоговом окне поиска есть еще две галочки Учитывать регистр и Ячейка целиком. По умолчанию Excel игнорирует регистр, но можно сделать так, чтобы «иванов» и «Иванов» отличались. Галочка Ячейка целиком также может оказаться весьма полезной, если ищется ячейка не с указанным фрагментом, а полностью состоящая из искомых символов. К примеру, как найти ячейки, содержащие только 0? Обычный поиск не подойдет, т.к. будут выдаваться и 10, и 100. Зато, если установить галочку Ячейка целиком, то все пойдет, как по маслу.
Поиск и замена данных
Данные обычно ищутся не просто так, а для каких-то целей. Такой целью часто является замена искомой комбинации (или формата) на другую. Чтобы найти и заменить в выделенном диапазоне Excel одни значения на другие, в окне Найти и заменить необходимо выбрать вкладку Замена. Либо сразу выбрать на ленте команду Главная → Редактирование → Найти и выделить → Заменить.
Еще удобнее применить сочетание горячих клавиш найти и заменить в Excel – Ctrl+H.
Диалоговое окно увеличится на одно поле, в котором указываются новые символы, которые будут вставлены вместо найденных.
По аналогии с простым поиском, менять можно и формат.
Кнопка Заменить все позволяет одним махом заменить одни символы на другие. После замены Excel показывается информационное окно с количеством произведенных замен. Кнопка Заменить позволяет производить замену по одной ячейке после каждого нажатия. Если найти и заменить в Excel не работает, попробуйте изменить параметры поиска.
Напоследок рассмотрим один классный трюк с поиском и заменой. Многие знают, что в ячейку можно вставить разрыв строк с помощью комбинации Alt+Enter.
А как быстро удалить все разрывы строк? Обычно это делают вручную. Однако ловкое использование поиска и замены сэкономит много времени. Вызываем команду поиска и замены с помощью комбинации Ctrl+H. Теперь в строке поиска нажимаем Ctrl+J — это символ разрыва строки — на экране появится точка. В строке замены указываем, например, пробел.
Жмем Ok. Все переносы строк заменились пробелами.
Функция поиска и замены при правильном использовании заменяет часы работы неопытного пользователя. Настоятельно рекомендую использовать все вышеизложенное. Если что-то не ищется в ваших данных или наоборот, выдает слишком много лишних ячеек, то попробуйте уточнить поиск с помощью подстановочных символов «*» и «?» или настраиваемых параметров поиска. Важно понимать, что если вы ничего не нашли, это еще не значит, что там этого нет.
Теперь вы знаете, как в эксель сделать поиск по столбцу, строке, любому диапазону, листу или даже книге.
Поделиться в социальных сетях:
Skip to content
В статье объясняется на примерах как работают функции Excel ЗАМЕНИТЬ (REPLACE в английской версии) и ПОДСТАВИТЬ (SUBSTITUTE по-английски). Мы покажем, как использовать функцию ЗАМЕНИТЬ с текстом, числами и датами, а также как вложить несколько функций ЗАМЕНИТЬ или ПОДСТАВИТЬ в одну формулу.
Функции Excel ЗАМЕНИТЬ и ПОДСТАВИТЬ используются для замены одной буквы или части текста в ячейке. Но делают они это немного по-разному. Об этом и поговорим далее.
Как работает функция ЗАМЕНИТЬ
Функция ЗАМЕНИТЬ позволяет заместить слово, один или несколько символов в текстовой строке другим словом или символом.
ЗАМЕНИТЬ(старый_текст; начальная_позиция; число_знаков, новый_текст)
Как видите, функция ЗАМЕНИТЬ имеет 4 аргумента, и все они обязательны для заполнения.
- Старый_текст — исходный текст (или ссылка на ячейку с исходным текстом), в котором вы хотите поменять некоторые символы.
- Начальная_позиция — позиция первого символа в старый_текст, начиная с которого вы хотите сделать замену.
- Число_знаков — количество символов, которые вы хотите заместить новыми.
- Новый_текст – текст замены.
Например, чтобы исправить слово «кит» на «кот», следует поменять вторую букву в слове. Вы можете использовать следующую формулу:
=ЗАМЕНИТЬ(«кит»;2;1;»о»)
И если вы поместите исходное слово в какую-нибудь ячейку, скажем, A2, вы можете указать соответствующую ссылку на ячейку в аргументе старый_текст:
=ЗАМЕНИТЬ(А2;2;1;»о»)
Примечание. Если аргументы начальная_позиция или число_знаков отрицательные или не являются числом, формула замены возвращает ошибку #ЗНАЧ!.
Использование функции ЗАМЕНИТЬ с числами
Функция ЗАМЕНИТЬ предназначена для работы с текстом. Но безусловно, вы можете использовать ее для замены не только букв, но и цифр, являющихся частью текстовой строки, например:
=ЗАМЕНИТЬ(A1; 9; 4; «2023»)
Обратите внимание, что мы заключаем «2023» в двойные кавычки, как вы обычно делаете с текстовыми значениями.
Аналогичным образом вы можете заменить одну или несколько цифр в числе. Например формула:
=ЗАМЕНИТЬ(A1;3;2;»23″)
И снова вы должны заключить значение замены в двойные кавычки («23»).
Примечание. Формула ЗАМЕНИТЬ всегда возвращает текстовую строку, а не число. На скриншоте выше обратите внимание на выравнивание по левому краю возвращаемого текстового значения в ячейке B1 и сравните его с исходным числом, выровненным по правому краю в A1. А поскольку это текст, вы не сможете использовать его в других вычислениях, пока не преобразуете его обратно в число, например, умножив на 1 или используя любой другой метод, описанный в статье Как преобразовать текст в число.
Как заменить часть даты
Как вы только что видели, функция ЗАМЕНИТЬ отлично работает с числами, за исключением того, что она возвращает текстовую строку Помните, что во внутренней системе Excel даты хранятся в виде чисел. Поэтому нельзя пытаться заменить часть даты, работая с ней как с текстом.
Например, у вас есть дата в A3, скажем, 15 июля 1992г., и вы хотите изменить «июль» на «май». Итак, вы пишете формулу ЗАМЕНИТЬ(A3; 4; 3; «Май»), которая предписывает Excel поменять 3 символа в ячейке A3, начиная с четвертого. Мы получили следующий результат:
Почему так? Потому что «15-июл-92» — это только визуальное представление базового серийного номера (33800), представляющего дату. Итак, наша формула замены заменяет цифры начиная с четвертой (а это два нуля) в указанном выше числе на текст «Май» и возвращает в результате текстовую строку «338Май».
Чтобы заставить функцию ЗАМЕНИТЬ правильно работать с датами, вы должны сначала преобразовать даты в текстовые строки, используя функцию ТЕКСТ. Кроме того, вы можете встроить функцию ТЕКСТ непосредственно в аргумент старый_текст функции ЗАМЕНИТЬ:
=ЗАМЕНИТЬ(ТЕКСТ(A3; «дд-ммм-гг»); 4; 3; «Май»)
Помните, что результатом приведенной выше формулы является текстовая строка, и поэтому это решение работает только в том случае, если вы не планируете использовать измененные даты в своих дальнейших расчетах. Если вам нужны даты, а не текстовые строки, используйте функцию ДАТАЗНАЧ , чтобы преобразовать значения, возвращаемые функцией Excel ЗАМЕНИТЬ, обратно в даты:
=ДАТАЗНАЧ(ЗАМЕНИТЬ(ТЕКСТ(A3; «дд-ммм-гг»); 4; 3; «Май»))
Как заменить сразу несколько букв или слов
Довольно часто может потребоваться выполнить более одной замены в одной и той же ячейке Excel. Конечно, можно было сделать одну замену, вывести промежуточный результат в дополнительный столбец, а затем снова использовать функцию ЗАМЕНИТЬ. Однако лучший и более профессиональный способ — использовать вложенные функции ЗАМЕНИТЬ, которые позволяют выполнить сразу несколько замен с помощью одной формулы. В этом смысле «вложение» означает размещение одной функции внутри другой.
Рассмотрим следующий пример. Предположим, у вас есть список телефонных номеров в столбце A, отформатированный как «123456789», и вы хотите сделать их более похожими на привычные нам телефонные номера, добавив дефисы. Другими словами, ваша цель — превратить «123456789» в «123-456-789».
Вставить первый дефис легко. Вы пишете обычную формулу замены Excel, которая заменяет ноль символов дефисом, т.е. просто добавляет дефис на четвёртой позиции в ячейке:
=ЗАМЕНИТЬ(A3;4;0;»-«)
Результат приведенной выше формулы замены выглядит следующим образом:
А теперь нам нужно вставить еще один дефис в восьмую позицию. Для этого вы помещаете приведенную выше формулу в еще одну функцию Excel ЗАМЕНИТЬ. Точнее, вы встраиваете её в аргумент старый_текст другой функции, чтобы вторая функция ЗАМЕНИТЬ обрабатывала значение, возвращаемое первой формулой, а не первоначальное значение из ячейки А3:
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;4;0;»-«);8;0;»-«)
В результате вы получаете номера телефонов в нужном формате:
Аналогичным образом вы можете использовать вложенные функции ЗАМЕНИТЬ, чтобы текстовые строки выглядели как даты, добавляя косую черту (/) там, где это необходимо:
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;3;0;»/»);6;0;»/»)
Кроме того, вы можете преобразовать текстовые строки в реальные даты, обернув приведенную выше формулу ЗАМЕНИТЬ функцией ДАТАЗНАЧ:
=ДАТАЗНАЧ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;3;0;»/»);6;0;»/»))
И, естественно, вы не ограничены в количестве функций, которые вы можете последовательно, как матрёшки, вложить друг в друга в одной формуле (современные версии Excel позволяют использовать до 8192 символов и до 64 вложенных функций в одной формуле).
Например, вы можете попробовать 3 вложенные функции ЗАМЕНИТЬ, чтобы число отображалось как дата и время:
=ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A3;3;0;»/»);6;0;»/»);9;0;» «);12;0;»:»)
Как заменить текст в разных местах
До сих пор во всех примерах мы имели дело с простыми задачами и производили замены в одной и той же позиции в каждой ячейке. Но реальные задачи часто бывают сложнее. В ваших рабочих листах заменяемые символы могут не обязательно появляться в одном и том же месте в каждой ячейке, и поэтому вам придется найти позицию первого символа, начиная с которого нужно заменить часть текста. Следующий пример продемонстрирует то, о чем я говорю.
Предположим, у вас есть список адресов электронной почты в столбце A. И название одной компании изменилось с «ABC» на, скажем, «BCA». Изменилось и название их почтового домена. Таким образом, вы должны соответствующим образом обновить адреса электронной почты всех клиентов и заменить три буквы в адресах электронной почты, где это необходимо.
Но проблема в том, что имена почтовых ящиков имеют разную длину, и поэтому нельзя указать, с какой именно позиции начинается название домена. Другими словами, вы не знаете, какое значение указать в аргументе начальная_позиция функции Excel ЗАМЕНИТЬ. Чтобы узнать это, используйте функцию Excel НАЙТИ, чтобы определить позицию, с которой начинается доменное имя в адресе электронной почты:
=НАЙТИ(«@abc»; A3)
Затем вставьте указанную выше функцию НАЙТИ в аргумент начальная_позиция формулы ЗАМЕНИТЬ:
=ЗАМЕНИТЬ(A3; НАЙТИ(«@abc»;A3); 4; «@bca»)
Примечание. Мы включаем символ «@» в нашу формулу поиска и замены Excel, чтобы избежать случайных ошибочных замен в именах почтовых ящиков электронной почты. Конечно, вероятность того, что такие совпадения произойдут, очень мала, и все же вы можете перестраховаться.
Как вы видите на скриншоте ниже, у формулы нет проблем, чтобы поменять символы в разных позициях. Однако если заменяемая текстовая строка не найдена и менять в ней ничего не нужно, формула возвращает ошибку #ЗНАЧ!:
И мы хотим, чтобы формула вместо ошибки возвращала исходный адрес электронной почты без изменения. Для этого заключим нашу формулу НАЙТИ И ЗАМЕНИТЬ в функцию ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ЗАМЕНИТЬ(A3; НАЙТИ(«@abc»;A3); 4; «@bca»);A3)
И эта доработанная формула прекрасно работает, не так ли?
Заменить заглавные буквы на строчные и наоборот
Еще один полезный пример – заменить первую строчную букву в ячейке на прописную (заглавную). Всякий раз, когда вы имеете дело со списком имен, товаров и т.п., вы можете использовать приведенную ниже формулу, чтобы изменить первую букву на ЗАГЛАВНУЮ. Ведь названия товаров могут быть записаны по-разному, а в списках важно единообразие.
Таким образом, нам нужно заменить первый символ в тексте на заглавную букву. Используем формулу
=ЗАМЕНИТЬ(СТРОЧН(A3);1;1;ПРОПИСН(ЛЕВСИМВ(A3;1)))
Как видите, эта формула сначала заменяет все буквы в тексте на строчные при помощи функции СТРОЧН, а затем первую строчную букву меняет на заглавную (прописную).
Быть может, это будет полезно.
Описание функции ПОДСТАВИТЬ
Функция ПОДСТАВИТЬ в Excel заменяет один или несколько экземпляров заданного символа или текстовой строки указанными символами.
Синтаксис формулы ПОДСТАВИТЬ в Excel следующий:
ПОДСТАВИТЬ(текст, старый_текст, новый_текст, [номер_вхождения])
Первые три аргумента являются обязательными, а последний – нет.
- Текст – исходный текст, в котором вы хотите заменить слова либо отдельные символы. Может быть тестовой строой, ссылкой на ячейку или же результатом вычисления другой формулы.
- Старый_текст – что именно вы хотите заменить.
- Новый_текст – новый символ или слово для замены старого_текста.
- Номер_вхождения — какой по счёту экземпляр старый_текст вы хотите заменить. Если этот параметр опущен, все вхождения старого текста будут заменены новым текстом.
Например, все приведенные ниже формулы подставляют вместо «1» – цифру «2» в ячейке A2, но возвращают разные результаты в зависимости от того, какое число указано в последнем аргументе:
=ПОДСТАВИТЬ(A3;»1″;»2″;1) — Заменяет первое вхождение «1» на «2».
=ПОДСТАВИТЬ(A3;»1″;»2″;2) — Заменяет второе вхождение «1» на «2».
=ПОДСТАВИТЬ(A3;»1″;»2″) — Заменяет все вхождения «1» на «2».
На практике формула ПОДСТАВИТЬ также используется для удаления ненужных символов из текста. Вы просто меняете их на пустую строку “”.
Например, чтобы удалить пробелы из текста, замените их на пустоту.
=ПОДСТАВИТЬ(A3;» «;»»)
Примечание. Функция ПОДСТАВИТЬ в Excel чувствительна к регистру . Например, следующая формула меняет все вхождения буквы «X» в верхнем регистре на «Y» в ячейке A2, но не заменяет ни одной буквы «x» в нижнем регистре.
=ПОДСТАВИТЬ(A3;»Х»;»Y»)
Замена нескольких значений одной формулой
Как и в случае с функцией ЗАМЕНИТЬ, вы можете вложить несколько функций ПОДСТАВИТЬ в одну формулу, чтобы сделать несколько подстановок одновременно, т.е. заменить несколько символов или подстрок при помощи одной формулы.
Предположим, у вас есть текстовая строка типа « пр1, эт1, з1 » в ячейке A3, где «пр» означает «Проект», «эт» означает «этап», а «з» означает «задача». Вы хотите заместить три этих кода их полными эквивалентами. Для этого вы можете написать 3 разные формулы подстановки:
=ПОДСТАВИТЬ(A3;»пр»;»Проект «)
=ПОДСТАВИТЬ(A3;»эт»;»Этап «)
=ПОДСТАВИТЬ(A3;»з»;»Задача «)
А затем вложить их друг в друга:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;»пр»;»Проект «); «эт»;»Этап «);»з»;»Задача «)
Обратите внимание, что мы добавили пробел в конце каждого аргумента новый_текст для лучшей читабельности.
Другие полезные применения функции ПОДСТАВИТЬ:
- Замена неразрывных пробелов в ячейке Excel обычными
- Убрать пробелы в числах
- Удалить перенос строки в ячейке
- Подсчитать определенные символы в ячейке
Что лучше использовать – ЗАМЕНИТЬ или ПОДСТАВИТЬ?
Функции Excel ЗАМЕНИТЬ и ПОДСТАВИТЬ очень похожи друг на друга в том смысле, что обе они предназначены для подмены отдельных символов или текстовых строк. Различия между двумя функциями заключаются в следующем:
- ПОДСТАВИТЬ замещает один или несколько экземпляров данного символа или текстовой строки. Итак, если вы знаете тот текст, который нужно поменять, используйте функцию Excel ПОДСТАВИТЬ.
- ЗАМЕНИТЬ замещает символы в указанной позиции текстовой строки. Итак, если вы знаете положение заменяемых символов, используйте функцию Excel ЗАМЕНИТЬ.
- Функция ПОДСТАВИТЬ в Excel позволяет добавить необязательный параметр (номер_вхождения), указывающий, какой по счету экземпляр старого_текста следует заместить на новый_текст.
Вот как вы можете заменить текст в ячейке и использовать функции ПОДСТАВИТЬ и ЗАМЕНИТЬ в Excel. Надеюсь, эти примеры окажутся полезными при решении ваших задач.