Как в excel заменить одно значение на другое
Функции замены в Экселе: ПОДСТАВИТЬ, ЗАМЕНА
Замена части строки в – частая задача при обработке текстовых данных. Конечно, вы можете воспользоваться окном «Найти и заменить», но что если нужно сохранить исходный текст? В Excel есть две функции, позволяющие сделать замену, они достаточно гибкие и, в комбинации с другими текстовыми функциями, позволяют решить большинство задач:
- Функция ПОДСТАВИТЬ(Исходный текст; Что искать; На что заменить;[номер вхождения]).
Имеет 3 обязательных аргумента и один необязательный. Используйте функцию, когда не знаете точного расположения символов для замены.
Необязательный аргумент Номер вхождения указывает, какое по порядку найденное значение в исходном тексте заменить. Если это аргумент не указан, будут заменены все подходящие значения.
В примере (рис. ниже) в первом варианте расчета указан необязательный аргумент [номер вхождения], заменено только первое вхождение. Во втором варианте этот аргумент не указан, заменены все вхождения строки в исходный текст.
Примеры применения функции ПОДСТАВИТЬ
Эту функцию применяют, когда вы знаете какой текст нужно заменить, но не знаете, где он расположен.
- Функция ЗАМЕНИТЬ(Исходный текст; Начальная позиция; Количество знаков; Новый текст)
Эту функцию применяют, когда вы знаете место вставки. На мой взгляд, эта функция сложнее и менее практична, но применение ей существует. Она содержит четыре обязательных аргумента:
- Исходный текст – строка или ссылка, в которой нужно произвести замену
- Начальная позиция – порядковый номер первого символа для замены
- Количество знаков – количество символов, которые нужно заменить, начиная с начальной позиции
- Новый текст – строка, которую нужно вставить вместо исходной
Например, запишем формулу: =ЗАМЕНИТЬ(A1;79;4;«2016»)
Она заменит в тексте ячейки А1 символы №79-82 (4 шт) на строку «2016».
Функция ЗАМЕНИТЬ в Эксель
Комбинируйте функции замены с функциями ДЛСТР, ПОИСК, НАЙТИ и другими, чтобы добиться наилучших результатов. Изучите правила написания формул, использования функций, чтобы правильно применять описанные функции.
В следующем посте мы рассмотрим преобразование числа в текст и наоборот. А пока жду ваших вопросов и комментариев!
Источник: officelegko.com
Функция ЗАМЕНИТЬ() в EXCEL
Функция ЗАМЕНИТЬ( ) , английский вариант REPLACE(), замещает указанную часть знаков текстовой строки другой строкой текста. “Указанную часть знаков” означает, что нужно указать начальную позицию и длину заменяемой части строки. Функция используется редко, но имеет плюс: позволяет легко вставить в указанную позицию строки новый текст.
Синтаксис функции
ЗАМЕНИТЬ ( исходный_текст ; нач_поз ; число_знаков ; новый_текст )
Исходный_текст — текст, в котором требуется заменить некоторые знаки. Нач_поз — позиция знака в Исходном_тексте , начиная с которой знаки заменяются текстом новый_текст . Число_знаков — число знаков в Исходном_тексте , которые заменяются текстом новый_текст . Новый_текст — текст, который заменяет знаки в Исходном_тексте .
Функция ЗАМЕНИТЬ() vs ПОДСТАВИТЬ()
Функция ПОДСТАВИТЬ() используется, когда нужно заменить определенный текст в текстовой строке; функция ЗАМЕНИТЬ() используется, когда нужно заменить любой текст начиная с определенной позиции.
При замене определенного текста функцию ЗАМЕНИТЬ() использовать неудобно. Гораздо удобнее воспользоваться функцией ПОДСТАВИТЬ() .
Пусть в ячейке А2 введена строка Продажи (январь) . Чтобы заменить слово январь , на февраль , запишем формулы:
=ЗАМЕНИТЬ(A2;10;6;”февраль”) =ПОДСТАВИТЬ(A2; “январь”;”февраль”)
т.е. для функции ЗАМЕНИТЬ() потребовалось вычислить начальную позицию слова январь (10) и его длину (6). Это не удобно, функция ПОДСТАВИТЬ() справляется с задачей гораздо проще.
Кроме того, функция ЗАМЕНИТЬ() заменяет по понятным причинам только одно вхождение строки, функция ПОДСТАВИТЬ() может заменить все вхождения или только первое, только второе и т.д. Поясним на примере. Пусть в ячейке А2 введена строка Продажи (январь), прибыль (январь) . Запишем формулы: =ЗАМЕНИТЬ(A2;10;6;”февраль”) =ПОДСТАВИТЬ(A2; “январь”;”февраль”) получим в первом случае строку Продажи (февраль), прибыль (январь) , во втором – Продажи (февраль), прибыль (февраль) . Записав формулу =ПОДСТАВИТЬ(A2; “январь”;”февраль”;2) получим строку Продажи (январь), прибыль (февраль) .
Кроме того, функция ПОДСТАВИТЬ() чувствительна к РЕгиСТру. Записав =ПОДСТАВИТЬ(A2; “ЯНВАРЬ”;”февраль”) получим строку без изменений Продажи (январь), прибыль (январь) , т.к. для функции ПОДСТАВИТЬ() “ЯНВАРЬ” не тоже самое, что “январь”.
Использование функции для вставки нового текста в строку
Функцию ЗАМЕНИТЬ() удобно использовать для вставки в строку нового текста. Например, имеется перечень артикулов товаров вида ” ID-567(ASD) “, необходимо перед текстом ASD вставить новый текст Micro , чтобы получилось ” ID-567(MicroASD) “. Для этого напишем простую формулу: =ЗАМЕНИТЬ(A2;8;0;”Micro”).
Источник: excel2.ru
Замена текста функцией ПОДСТАВИТЬ (SUBSTITUTE)
Замена одного текста на другой внутри заданной текстовой строки – весьма частая ситуация при работе с данными в Excel. Реализовать подобное можно двумя функциями: ПОДСТАВИТЬ (SUBSTITUTE) и ЗАМЕНИТЬ (REPLACE) . Эти функции во многом похожи, но имеют и несколько принципиальных отличий и плюсов-минусов в разных ситуациях. Давайте подробно и на примерах разберем сначала первую из них.
Её синтаксис таков:
=ПОДСТАВИТЬ( Ячейка ; Старый_текст ; Новый_текст ; Номер_вхождения )
- Ячейка – ячейка с текстом, где производится замена
- Старый_текст – текст, который надо найти и заменить
- Новый_текст – текст, на который заменяем
- Номер_вхождения – необязательный аргумент, задающий номер вхождения старого текста на замену
Обратите внимание, что:
- Если не указывать последний аргумент Номер_вхождения, то будут заменены все вхождения старого текста (в ячейке С1 – обе “Маши” заменены на “Олю”).
- Если нужно заменить только определенное вхождение, то его номер задается в последнем аргументе (в ячейке С2 только вторая “Маша” заменена на “Олю”).
- Эта функция различает строчные и прописные буквы (в ячейке С3 замена не сработала, т.к. “маша” написана с маленькой буквы)
Давайте разберем пару примеров использования функции ПОДСТАВИТЬ для наглядности.
Замена или удаление неразрывных пробелов
При выгрузке данных из 1С, копировании информации с вебстраниц или из документов Word часто приходится иметь дело с неразрывным пробелом – спецсимволом, неотличимым от обычного пробела, но с другим внутренним кодом (160 вместо 32). Его не получается удалить стандартными средствами – заменой через диалоговое окно Ctrl + H или функцией удаления лишних пробелов СЖПРОБЕЛЫ (TRIM) . Поможет наша функция ПОДСТАВИТЬ, которой можно заменить неразрывный пробел на обычный или на пустую текстовую строку, т.е. удалить:
Подсчет количества слов в ячейке
Если нужно подсчитать количество слов в ячейке, то можно применить простую идею: слов на единицу больше, чем пробелов (при условии, что нет лишних пробелов). Соответственно, формула для расчета будет простой:
Если предполагается, что в ячейке могут находиться и лишние пробелы, то формула будет чуть посложнее, но идея – та же.
Извлечение первых двух слов
Если нужно вытащить из ячейки только первые два слова (например ФИ из ФИО), то можно применить формулу:
У нее простая логика:
- заменяем второй пробел на какой-нибудь необычный символ (например #) функцией ПОДСТАВИТЬ (SUBSTITUTE)
- ищем позицию символа # функцией НАЙТИ (FIND)
- вырезаем все символы от начала строки до позиции # функцией ЛЕВСИМВ (LEFT)
Источник: www.planetaexcel.ru
Поиск или замена текста и чисел на листе
В этом курсе:
Функции поиска и замены в Excel используются для поиска в книге необходимой информации, например определенного числа или текстовой строки. Вы можете найти элемент поиска для справки или заменить его другим. В условия поиска можно добавлять подстановочные знаки, например вопросительные знаки, тильды, звездочки и цифры. Искать можно по строкам и столбцам, в примечаниях или значениях, а также на листе или во всей книге.
Поиск
Чтобы найти какой-либо элемент, нажмите клавиши CTRL + Fили перейдите на вкладку главная > редактирование> найти & выберите > найти.
Примечание: В приведенном ниже примере мы настроили кнопку ” параметры >> ” для отображения всего диалогового окна “найти”. По умолчанию отображаются скрытые параметры.
В поле найти: введите текст или числа, которые вы хотите найти, или щелкните стрелку в поле найти: и выберите в списке последний элемент поиска.
Советы: Вы можете использовать подстановочные знаки — вопросительный знак ( ?), звездочку ( *), тильду (
) — в критериях поиска.
Используйте вопросительный знак (?), чтобы найти любой одиночный символ (например, “s”, “Кот” и “Set”.
Используйте звездочку (*), чтобы найти любое количество символов (например, s * d — “Sad” и “запущено”).
, чтобы найти вопросительные знаки, звездочки или другие знаки, например ан 91
? Поиск слова “Ан 91?”.
Чтобы выполнить поиск, нажмите кнопку найти все или Найти далее .
Совет: Когда вы нажимаете кнопку найти все, выводится каждое вхождение условия, которое вы ищете, и щелчок по определенному вхождению в списке выберет ячейку. Чтобы отсортировать результаты поиска ” найти все “, щелкните заголовок столбца.
Нажмите кнопку параметры>> , чтобы дополнительно задать условия поиска, если это необходимо.
Вне Для поиска данных на листе или во всей книге выберите лист или Книга.
См Вы можете выбрать вариант поиска по строкам (по умолчанию) или по столбцам.
Поиск: Чтобы найти данные с определенными подробностями, выберите в поле формулы, значения, заметкиили Примечания.
Примечание: Формулы, значения, заметки и Примечания доступны только на вкладке ” Поиск “. на вкладке заменить доступны только формулы .
С учетом регистра . Установите этот флажок, если вы хотите искать данные с учетом регистра.
Выделяет всю ячейку целиком — установите этот флажок, если вы хотите искать ячейки, содержащие только знаки, введенные в поле найти: .
Если вы хотите найти текст или числа с определенным форматированием, нажмите кнопку Формати выберите необходимые параметры в диалоговом окне Найти формат .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Заменить
Чтобы заменить текст или числа, нажмите клавиши CTRL + Hили перейдите на вкладку главная > редактирование> найти & выберите > заменить.
Примечание: В приведенном ниже примере мы настроили кнопку ” параметры >> ” для отображения всего диалогового окна “найти”. По умолчанию отображаются скрытые параметры.
В поле найти: введите текст или числа, которые вы хотите найти, или щелкните стрелку в поле найти: и выберите в списке последний элемент поиска.
Советы: Вы можете использовать подстановочные знаки — вопросительный знак ( ?), звездочку ( *), тильду (
) — в критериях поиска.
Используйте вопросительный знак (?), чтобы найти любой одиночный символ (например, “s”, “Кот” и “Set”.
Используйте звездочку (*), чтобы найти любое количество символов (например, s * d — “Sad” и “запущено”).
, чтобы найти вопросительные знаки, звездочки или другие знаки, например ан 91
? Поиск слова “Ан 91?”.
В поле заменить на: введите текст или числа, которые нужно использовать для замены искомого текста.
Нажмите Заменить все или Заменить.
Совет: При нажатии кнопки заменить всевсе вхождения искомого условия будут заменены, в то время как Замена будет обновляться по одному вхождению за раз.
Нажмите кнопку параметры>> , чтобы дополнительно задать условия поиска, если это необходимо.
Вне Для поиска данных на листе или во всей книге выберите лист или Книга.
См Вы можете выбрать вариант поиска по строкам (по умолчанию) или по столбцам.
Поиск: Чтобы найти данные с определенными подробностями, выберите в поле формулы, значения, заметкиили Примечания.
Примечание: Формулы, значения, заметки и Примечания доступны только на вкладке ” Поиск “. на вкладке заменить доступны только формулы .
С учетом регистра . Установите этот флажок, если вы хотите искать данные с учетом регистра.
Выделяет всю ячейку целиком — установите этот флажок, если вы хотите искать ячейки, содержащие только знаки, введенные в поле найти: .
Если вы хотите найти текст или числа с определенным форматированием, нажмите кнопку Формати выберите необходимые параметры в диалоговом окне Найти формат .
Совет: Чтобы найти ячейки, точно соответствующие определенному формату, можно удалить все условия в поле Найти, а затем выбрать ячейку с нужным форматированием в качестве примера. Щелкните стрелку рядом с кнопкой Формат, выберите пункт Выбрать формат из ячейки, а затем щелкните ячейку с форматированием, которое требуется найти.
Существует два различных способа поиска и замены текста или чисел на компьютере Mac. Первый — Использование диалогового окна найти & заменить . Вторая — использовать строку поиска на ленте.
Источник: support.office.com
Массовая замена слов
Предположим, что нам необходимо заменить все “ул.” на листе на “улица “. Или русское слово “дом” на английское “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, 6 693 скачиваний)
Примечание: Я сделал файл как переводчик. Т.е. в первом столбце русские слова, во втором английские. Но в столбцах может быть что угодно – хоть слова, хоть символы, хоть числа.
На лист “Соответствия” записываете в столбец А – что заменять, в столбец В – на что заменять. Переходите на лист книги, в котором необходимо произвести замену. Выделяете ячейки, значения в которых надо найти и заменить. После чего жмете Alt+F8 и выбираете макрос “Tips_Macro_ReplaceMASS.xls!Replace_Mass”(или просто “Replace_Mass”, если код в той же книге, что и ячейки для поиска и замены).
Первым появится окно с запросом направления перевода. По умолчанию 1(ru-en). Т.е. будет браться слово из столбца А и заменяться словом из столбца В. Но если указать 2 – то будет браться слово из столбца В и заменяться словом из столбца А. Т.е. аналог переводчика – с рус. на англ. и наоборот. Либо из А в В, либо из В в А.
Вторым появится запрос на метод просмотра данных:
- если указать “1 – по всему тексту” – данные из столбца А будут заменять только в том случае, если ячейка в выделенном для замены диапазоне полностью совпадает со значением из столбца А листа “Соответствия”. Например, в любой из выделенных ячеек записано “На столе книга”, а на листе “Соответствия” в столбце А есть только слово “книга”. Замена не будет произведена, т.к. необходимо, чтобы в столбце А было так же “На столе книга”.
- если указать “2 – по части ячейки” – данные из столбца А будут заменять в случае, если ячейка в выделенном для замены диапазоне содержит любое слово из столбца А листа “Соответствия”. На том же примере – “На столе книга”. Если выбрать 2, то в тексте “На столе книга” слово книга будет заменено на слово из столбца В – “book”.
И еще один практический пример чуть модифицированного кода. Предположим, имеется таблица выручки по реализации продукции:
Как видно, здесь присутствую только номера статей, но нет их расшифровки. Зато расшифровка есть в отдельном листе “Справочник”:
Как видно, в справочнике присутствуют нужные номера статей и можно было бы применить ту же ВПР(VLOOKUP) для замен. Если бы не одно но: в таблице по реализации помимо номеров статьей есть еще лишний текст “Статья затрат:”. Конечно, можно сначала заменить этот текст, потом в отдельном столбце применить ВПР, заменить формулу значениями и вернуть в исходный столбец. Если при этом надо еще оставить текст “Статья затрат:”, то надо будет сделать еще доп.манипуляции либо при составлении формулы, либо после. В любом случае – слишком много лишних телодвижений. А значит бОльшие времязатраты.
Приложенный ниже файл поможет сделать это в разы быстрее:
Скачать файл с примером и кодом:
Массовая замена слов – статьи.xls (91,5 KiB, 1 562 скачиваний)
и в итоге за пару секунд получим следующий результат:
Достаточно выделить столбец со статьями на листе с реализацией и запустить код(либо нажатием кнопки заменить значения, либо нажав Alt+F8 и выбрав из списка макросов макрос Replace_Mass ).
После нажатия на кнопку будут запрошены следующие параметры:
- указать номер столбца значений в листе “Справочник”, в котором искать соответствия номерам статей(в нашем случае это столбец 1(А))
- указать номер столбца, значениями которого заменять найденные в таблице реализации значения(это может быть один из трех столбцов справочника: Группа затрат, Статья затрат, Подстатьи затрат). Логичнее всего указать столбец 4, т.к. он наиболее детализирован и конкретнее указывает расшифровку статьи
- далее будет предложено указать точность поиска:
- если указать ” 1 – по всему тексту ” – данные будут заменены только в том случае, если значение ячейки в выделенном для замены диапазоне полностью совпадает со значением из столбца А листа “Справочник”. Т.е. если бы у нас в таблице реализации был бы записан только номер статьи(1.01), тогда можно было бы указать именно 1
- если указать ” 2 – по части ячейки ” – данные будут заменены только в том случае, если значение ячейки в выделенном для замены диапазоне содержит любое значение из столбца А листа “Справочник”. Это больше подходит к описанному случаю, т.к. нам необходимо заменить исключительно номер статьей на их расшифровку, оставив при этом текст “Статья затрат: “
Если все указано корректно, то на листе будут произведены все необходимые замены.
Возможные ошибки, которые предусмотрены кодом и о которых будет сообщено соответствующим сообщением(код прервется, замены не будут произведены):
- на листе Справочник нет значений
- в качестве столбца для поиска значений и для замены значений на листе Справочник указано одно и то же число
- в качестве столбца значений для замены указано число, превышающее общее количество столбцов на листе Справочник
Особое внимание хочу уделить случаю, когда выбирается замена по части ячейки. В этом случае лучше список на листе Справочник отсортировать по длине текста по тому столбцу, в котором будут значения для поиска. Зачем это надо: т.к. значение по части ячейки будет заменять не полное соответствие, то есть вероятность неверных замен. Например, есть текст “Статья затрат: 1.011” . В то же время на листе Справочник есть статьи “1.01” и “1.011” . Т.к. “1.01” идет раньше в большинстве случаев, то текст будет заменен некорректно: “Статья затрат: ТВ 1 ” .
Чтобы получить длину строки текста можно использовать функцию ДЛСТР(LEN):
=ДЛСТР( A2 )
=LEN(A2)
В отличие от кода, приведенного в начале статьи, код во втором файле позволяет производить замену не только на основании двух столбцов, но и ориентируясь на таблицу данных, как видно из реализации. Можно выбрать любой столбец Справочника для поиска значений и так же любой для замены, что предоставляет большую гибкость по замене значений.
Статья помогла? Поделись ссылкой с друзьями!
Источник: www.excel-vba.ru
Как в Excel массово найти и заменить несколько значений на другие
Массовая замена в Excel — довольно частая потребность. Очень часто нужно массово и при этом быстро заменить несколько символов, слов и т.д. на другие. При этом на текущий момент простого инструмента в стандартном функционале Excel нет.
Тем не менее, если очень нужно, любую задачу можно решить. В зависимости от того, на что вы хотите заменить, могут помочь комбинации функций, регулярные выражения, а в самых сложных случаях — надстройка !SEMTools.
Замена нескольких значений на несколько
Эта задача более сложная, чем замена на одно значение. Как ни странно, функция «ЗАМЕНИТЬ» здесь не подходит — она требует явного указания позиции заменяемого текста. Зато может помочь функция «ПОДСТАВИТЬ».
Массовая замена с помощью функции «ПОДСТАВИТЬ»
Используя несколько условий в сложной формуле, можно производить одновременную замену нескольких значений. Excel позволяет использовать до 64 уровней вложенности — свобода действий высока. Например, вот так можно перевести кириллицу в латиницу:
При этом, если использовать в качестве подставляемого фрагмента пустоту, можно использовать функцию для удаления нескольких символов — смотрите как удалить цифры из ячейки этим способом.
Но у решения есть и свои недостатки:
- Функция ПОДСТАВИТЬ регистрозависимая, что заставляет при замене одного символа использовать два его варианта — в верхнем и нижнем регистрах. Хотя, в некоторых случаях, как пример на картинке выше, это и преимущество.
- максимум 64 замены — хоть и много, но все же ограничение.
- формально процедура замены таким способом будет происходить массово и моментально, однако, длительность написания таких формул сводит на нет это преимущество. За исключением случаев, когда они будут использоваться многократно.
Файл-шаблон с формулой множественной замены
Вместо явного прописывания заменяемых паттернов в формуле, можно использовать внутри формулы ссылки на ячейки, значения в которых можно прописывать на свое усмотрение. Это сократит время, т.к. не требует редактирования сложной формулы.
Файл доступен по ссылке, но можно и не скачивать его, а просто скопировать текст формулы ниже и вставить ее в любую ячейку, кроме диапазона A1:B64. Формула заменяет в ячейке C1 значения в столбце A стоящими напротив в столбце B.
Формула в файле-шаблоне для множественной замены на примере транслитерации
А вот и она сама (тройной клик по любой части текста = выделить всю формулу). Обращается к ячейке D1, делая 64 замены по правилам, указанным в ячейках A1-B64. При этом в столбцах можно удалять значения — это не нарушит ее работу.
Заменить несколько значений на одно
С помощью функции «ПОДСТАВИТЬ»
При замене нескольких значений на одно и то же механика работы формул на основе нескольких уровней вложенности не будет отличаться от замены нескольких на несколько. Просто третий аргумент (на что заменить) на всех уровнях вложенности будет один и тот же. Кстати, если оставить его пустым (кавычки без символов между ними), то это позволит удалить определенные символы. Пример — удалить цифры из ячейки путем замены на пустоту:
С помощью регулярных выражений
Важно: регулярные выражения не поставляются в Excel «из коробки», но формулы ниже доступны бесплатно, если установить надстройку !SEMTools
Регулярные выражения (RegEx, регулярки) — наиболее удобное решение, когда нужно заменить несколько символов на один. Все эти несколько символов обычным способом безо всяких разделителей нужно перечислить внутри квадратных скобок. Примеры формул:
Первая заменяет на символ «#» все цифры, вторая — все английские буквы, а третья — все кириллические символы в верхнем и нижнем регистре. Четвертая заменяет любые пробелы, в т.ч. табуляцию и переносы строк, на нижнее подчеркивание.
Массовая замена символов регулярными выражениями при установленной надстройке !SEMTools
Если же нужно заменять не символы, а несколько значений, состоящих в свою очередь из нескольких букв, цифр или знаков — синтаксис предполагает уже использование круглых скобок и вертикальной черты «|» в качестве разделителя.
Массовая замена в !SEMTools
Надстройка для Excel !SEMTools позволяет в пару кликов производить замены на всех уровнях:
- символов и их сочетаний
- паттернов регулярных выражений
- слов!
- целых ячеек (В некоторой степени аналог ВПР)
Меню инструментов массовой замены в !SEMTools
При этом процедуры изменяют исходный диапазон, что экономит время. Все что нужно — предварительно выделить его, определиться с задачей, вызвать нужную процедуру и выделить 2 столбца сопоставления заменяемых и замещающих значений (предполагается, что если вы знаете, что на что менять, то и такие списки есть).
Замена списка слов на другой список в !SEMTools
На этом примере — замена списка слов на другой список, в данном случае на одно и то же слово. Здесь решается задача типизации разнородных фраз путем замены слов, содержащих латиницу и цифры, на одно слово. Далее после этой операции можно будет посчитать уникальные значения в столбце, чтобы выявить наиболее популярные сочетания.
Инструменты находятся в группе макросов «ИЗМЕНИТЬ» в отдельном меню и для удобства продублированы в меню «Изменить символы«, «Изменить слова» и «Изменить ячейки«.
Источник: semtools.guru