Excel удалить значения в скобках

Как удалить текст в скобках / скобках в Excel?

Если у вас есть несколько данных, и некоторые из них заключены в квадратные или круглые скобки, теперь вы хотите удалить текст в скобках, как показано на скриншотах ниже, как вы можете быстро решить эту проблему?

документ удалить в скобке 1

Удалите текст в круглых скобках с помощью функции поиска и замены

Удалить текст в скобках на нескольких листах с помощью Kutools for Excelхорошая идея3

Удалите скобки с помощью Kutools for Excelхорошая идея3


Чтобы удалить текст, заключенный в скобки, вы можете найти их, а затем заменить их пустыми.

1. Нажмите Ctrl + H ключи для включения Найти и заменить диалог, в Найти то, что текстовое поле, тип (*) в него и перейдите к Заменить текстовое поле, тип () внутрь. Смотрите скриншот:

документ удалить в скобке 2

2. Затем нажмите Заменить все. Затем появляется диалоговое окно с напоминанием о количестве замен. Нажмите OK закрыть его.

документ удалить в скобке 3


Если вы открыли несколько книг и вам нужно удалить весь текст в скобках в открытых книгах, вы можете использовать Kutools for Excelпродвинутый Найти и заменить для поиска и замены текста в книгах.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Нажмите Кутулс > Навигация включить Навигация панель, затем щелкните Найти и заменить значок для перехода Найти и заменить раздел. Смотрите скриншоты:

документ удалить в скобке 4

3. Затем выберите Замените и в Найти то, что текстовое поле, тип (*) в него и перейдите к Заменить текстовое поле, тип () в него и выберите Все книги под В раскрывающийся список, см. снимок экрана:

Наконечник: Если вы хотите заменить на определенных листах, вы можете проверить имена листов в Книги .

документ удалить в скобке 5

4. Нажмите Заменить все. Затем все тексты в скобках заменяются пустыми.

Работы С Нами Навигация панели, вы можете перечислить все имена открытых листов, имена диапазонов и добавить автоматический текст по своему усмотрению. Щелкните здесь, чтобы узнать больше о навигации.


Если вы хотите удалить скобки или скобки, вы можете использовать Kutools for ExcelАвтора Удалить символы.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите диапазон данных, для которого нужно удалить скобки, и нажмите Кутулс > Текст > Удалить символы. Смотрите скриншот:

документ удалить в тормозной системе 9

2. в Удалить символы диалог, только проверка На заказ вариант, а затем введите () в текстовое поле, вы можете просмотреть результат в предварительный просмотр панель. Смотрите скриншот:

документ удалить в скобке 7

3. Нажмите Ok or Применить. Теперь все скобки выделения сняты.

документ удалить в скобке 8

Щелкните здесь, чтобы узнать больше об удалении символов.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

На чтение 3 мин. Просмотров 753 Опубликовано 21.05.2021

Если у вас есть список текстовых строк, часть данных которых заключена в скобки, и теперь вам нужно удалить все данные в скобках, чтобы получить результат, как показано на следующем снимке экрана. Как быстро справиться с этой задачей в Excel?

Удалите что-либо в скобках с помощью функции поиска и замены

Удалите все, что в скобках, с помощью Kutools for Excel


Удалите все, что указано в скобках, с помощью функции «Найти и заменить»

Обычно в Excel функция Найти и заменить может помочь вам удалить все данные в скобках, пожалуйста, сделайте следующее:

1 . В скобках выберите диапазон данных, из которого вы хотите удалить все данные.

2. Затем нажмите Home > Найти и выбрать > Заменить (или вы также можете нажать Ctrl + H , чтобы открыть Найти и заменить ) см. снимок экрана:

3. В диалоговом окне Найти и заменить на вкладке Заменить введите (*) в текстовое поле Найти что и оставьте поле Заменить на пустым, см. снимок экрана:

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

. Затем нажмите OK и закройте диалоговое окно Найти и заменить .

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


Удалите что-либо в скобках с помощью Kutools for Excel

Утилита Найти и заменить в Kutools for Excel может помочь вам легко и удобно искать на нескольких листах и ​​книгах.

Примечание. Чтобы применить этот Найти и заменить , сначала вы должны загрузить Kutools for Excel , а затем применить быстро и легко.

После установки Kutools for Excel сделайте следующее:

1 . Нажмите Kutools > Навигация , см. Снимок экрана:

2 . Затем щелкните , чтобы развернуть панель” Найти и заменить “, на панели” Найти и заменить “выполните следующие операции:

  • (1.) Щелкните значок Вкладка “Заменить “;
  • (2.) В текстовом поле Найти введите (*) и оставьте текстовое поле Заменить на пустым;
  • (3.) Укажите область, которую вы хотите найти и заменить, в Внутри section;
  • (4.) Если вы выбрали «Выделение», вам нужно будет нажать кнопку для выбора диапазона данных;
  • (5.) Затем нажмите кнопку Заменить все .

3 . После нажатия Заменить все , все данные в скобках удаляются сразу.

Примечание : эта функция не поддерживает Отменить , вы ‘ Перед применением этой функции лучше сделайте резервную копию книги.

Бесплатно Dow Загрузите Kutools для Excel прямо сейчас!


 

eskimo87

Пользователь

Сообщений: 82
Регистрация: 01.01.1970

Здравствуйте!Помогите создать макрос для удаления всех значений с листа,находящихся в скобках,можно удалять вместе со скобками.

 

Юрий М

Модератор

Сообщений: 60570
Регистрация: 14.09.2012

Контакты см. в профиле

Очищать ячейку целиком или только то, что в скобках (вместо со скобками)?

 

eskimo87

Пользователь

Сообщений: 82
Регистрация: 01.01.1970

только то что в скобках вместе со скобками,остальные значения в ячейке должны остаться.

 

suripopik

Пользователь

Сообщений: 62
Регистрация: 27.12.2012

А не проще будет Заменить: (*) на пусто?

 

eskimo87

Пользователь

Сообщений: 82
Регистрация: 01.01.1970

#5

20.09.2012 12:43:26

нифига себе!такое простое действие,а я не знал.спасибо suripopik!

Если у вас есть список текстовых строк, часть данных которых заключена в скобки, и теперь вам нужно удалить все данные в скобках, чтобы получить результат, как показано на следующем снимке экрана. Как быстро справиться с этой задачей в Excel?

Удалите что-либо в скобках с помощью функции поиска и замены

Удалите все, что в скобках, с помощью Kutools for Excel

Удалите все, что указано в скобках, с помощью функции «Найти и заменить»

Обычно в Excel функция Найти и заменить может помочь вам удалить все данные в скобках, пожалуйста, сделайте следующее:

1 . В скобках выберите диапазон данных, из которого вы хотите удалить все данные.

2. Затем нажмите Home > Найти и выбрать > Заменить (или вы также можете нажать Ctrl + H , чтобы открыть Найти и заменить ) см. снимок экрана:

3. В диалоговом окне Найти и заменить на вкладке Заменить введите (*) в текстовое поле Найти что и оставьте поле Заменить на пустым, см. снимок экрана:

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

. Затем нажмите OK и закройте диалоговое окно Найти и заменить .

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

Удалите что-либо в скобках с помощью Kutools for Excel

Утилита Найти и заменить в Kutools for Excel может помочь вам легко и удобно искать на нескольких листах и ​​книгах.

Примечание. Чтобы применить этот Найти и заменить , сначала вы должны загрузить Kutools for Excel , а затем применить быстро и легко.

После установки Kutools for Excel сделайте следующее:

1 . Нажмите Kutools > Навигация , см. Снимок экрана:

2 . Затем щелкните , чтобы развернуть панель» Найти и заменить «, на панели» Найти и заменить «выполните следующие операции:

  • (1.) Щелкните значок Вкладка «Заменить «;
  • (2.) В текстовом поле Найти введите (*) и оставьте текстовое поле Заменить на пустым;
  • (3.) Укажите область, которую вы хотите найти и заменить, в Внутри section;
  • (4.) Если вы выбрали «Выделение», вам нужно будет нажать кнопку для выбора диапазона данных;
  • (5.) Затем нажмите кнопку Заменить все .

3 . После нажатия Заменить все , все данные в скобках удаляются сразу.

Примечание : эта функция не поддерживает Отменить , вы ‘ Перед применением этой функции лучше сделайте резервную копию книги.

Бесплатно Dow Загрузите Kutools для Excel прямо сейчас!

Удаление символов или текста при помощи регулярных выражений

Вы когда-нибудь задумывались, насколько мощным был бы Excel, если бы кто-нибудь мог обогатить его набор инструментов регулярными выражениями? Мы не только подумали, но и поработали над этим 🙂 А теперь вы можете добавить эту замечательную функцию RegEx в свои собственные книги и использовать регулярные выражения, чтобы удалить часть текста, соответствующего шаблону!

Ранее мы рассмотрели, как использовать регулярные выражения для замены текста в Excel. Для этого мы создали специальную функцию Regex Replace. Как оказалось, функция выходит за рамки своего основного предназначения и может не только заменять строки, но и удалять их. Как такое могло быть? С точки зрения Excel, удаление значения – это не что иное, как замена его пустой строкой, в чем функция Regex очень хороша!

Функция VBA RegExp для удаления символов и текста в Excel

Как мы все знаем, регулярные выражения не поддерживаются в Excel по умолчанию. Чтобы включить их, вам необходимо создать свою собственную пользовательскую функцию. Хорошая новость в том, что такая функция уже написана, протестирована и готова к использованию. Все, что вам нужно сделать, это скопировать этот код , вставить код в редактор VBA, а затем сохранить файл как книгу с поддержкой макросов (.xlsm).

Функция имеет следующий синтаксис:

RegExpReplace (текст; шаблон; замена; [instance_num]; [match_case])

Первые три аргумента являются обязательными, два последних — необязательными.

  • Текст – текстовая строка для поиска.
  • Шаблон – регулярное выражение для поиска.
  • Замена – текст, на который нужно заменить. Чтобы удалить подстроки, соответствующие шаблону, используйте для замены пустую строку («»).
  • Instance_num (необязательно) – экземпляр, который нужно заменить. Если не указан, заменяются все найденные совпадения (по умолчанию).
  • Match_case (необязательно) – логическое значение, указывающее, следует ли учитывать регистр текста или игнорировать его. Для сопоставления с учетом регистра используйте ИСТИНА (по умолчанию); для нечувствительности к регистру – ЛОЖЬ.

Для получения дополнительной информации см. Функцию RegExpReplace .

Как упоминалось выше, чтобы удалить части текста, соответствующие шаблону, вы должны заменить их пустой строкой. Итак, общая формула принимает такую ​​форму для удаления текста:

RegExpReplace(текст, шаблон; «»; [instance_num]; [match_case])

В приведенных ниже примерах показаны различные способы применения этой базовой концепции.

Удалить все совпадения или конкретное совпадение

Функция RegExpReplace предназначена для поиска всех подстрок, соответствующих заданному регулярному выражению. То, какие вхождения следует удалять, определяется четвертым необязательным аргументом с именем instance_num.

По умолчанию это «все совпадения». Если аргумент instance_num опущен, все найденные совпадения удаляются. Чтобы удалить конкретное, укажите его порядковый номер.

Предположим, вы хотите удалить нумерацию в приведенных ниже строках. Все такие числа начинаются со знака решетки (#) и содержат ровно 5 цифр. Итак, мы можем идентифицировать их с помощью этого регулярного выражения:

Граница слова b указывает, что соответствующая подстрока не может быть частью более длинной строки, например #10000001.

Чтобы удалить все совпадения, аргумент instance_num не определен:

Чтобы исключить только первое вхождение, мы устанавливаем аргумент instance_num равным 1:

Обе эти формулы вы видите на скриншоте выше.

Регулярное выражение для удаления определенных символов

Чтобы удалить определенные символы из строки, просто запишите все эти ненужные символы и разделите их вертикальной чертой | . Она действует в регулярных выражениях как оператор ИЛИ.

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

Формула будет для нашего примера такая:

Результатом этой операции является 10-значное число, например «1234567890».

Для удобства вы можете ввести регулярное выражение в отдельную ячейку и ссылаться на неё, используя абсолютную ссылку, например $A$2:

А затем вы можете стандартизировать отображение телефонного номера по своему усмотрению, используя оператор конкатенации (&) и текстовые функции, такие как ПРАВСИМВ, ЛЕВСИМВ и ПСТР.

Например, чтобы записать все номера телефонов в формате (123) 456-7890, формула примет следующий вид:

Где B5 – ячейка, в которой записана предыдущая формула RegExpReplace.
Пример вы видите на скриншоте выше.

Удаляем группы символов с помощью регулярного выражения

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

Шаблон основан на инвертированных символьных классах – перед списком символов помещается этот значок ^ , чтобы искать любой одиночный символ НЕ в скобках. Квантификатор + заставляет рассматривать последовательные символы как одно совпадение, так что замена выполняется для соответствующей подстроки, а не для каждого отдельного символа.

В зависимости от ваших потребностей выберите одно из следующих регулярных выражений.

Чтобы удалить не буквенно-цифровые символы, то есть все символы, кроме букв и цифр:

Чтобы удалить все символы, кроме букв, цифр и пробелов:

Чтобы удалить все символы, кроме букв, цифр и подчеркивания, вы можете использовать W, обозначающий любой символ, НЕ являющийся буквенно-цифровым символом или подчеркиванием:

Если вы хотите сохранить некоторые другие символы, например знаки препинания, поместите их в квадратные скобки.

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

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

Чтобы исправить это, вы можете вложить указанную выше функцию в СЖПРОБЕЛЫ, которая заменяет несколько пробелов одним.

Результат вы видите на скриншоте ниже.

Регулярное выражение для удаления нечисловых символов

Чтобы удалить все нечисловые символы из строки, вы можете использовать либо эту длинную формулу, либо одно из очень простых регулярных выражений, перечисленных ниже.

Соответствует любому символу, который НЕ является цифрой:

А вот так можно найти все нечисловые символы с помощью отрицательных классов:

[^d]+
В результате удалены все символы, кроме цифр:

Совет. Если ваша цель – удалить текст и разнести оставшиеся числа в отдельные ячейки или поместить их всех в одну ячейку, разделенную каким-то разделителем, используйте функцию RegExpExtract, как описано в статье «Как извлекать числа из строки с помощью регулярных выражений».

Регулярное выражение для удаления всего после пробела

Чтобы стереть все, что находится после пробела, используйте символ пробела – обычный или такой s , чтобы найти первый пробел. А затем примените .* , чтобы найти любые символы после него.

Если у вас есть однострочные строки, которые содержат только нормальные пробелы (значение 32 в 7-битной системе ASCII), на самом деле не имеет значения, какое из следующих регулярных выражений вы используете. Если же в ячейке текст записан с переносами строки, то это имеет значение.

Чтобы удалить все после символа пробела, используйте это регулярное выражение:

Эта формула удалит все, что находится после первого пробела в каждой строке. Чтобы результаты отображались правильно, обязательно включите в формате ячейки перенос текста.

Чтобы удалить все, что находится после пробела (включая другие пробелы, табуляцию, возврат каретки и перенос строки), используйте такое регулярное выражение:

Поскольку s соответствует нескольким различным типам пробелов, включая новую строку (n), эта формула удаляет все, что находится после первого пробела в ячейке, независимо от того, сколько в ней строк.

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

Удаление текста после определенного символа

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

Чтобы обрабатывать каждую строку текста отдельно:

В однострочных строках это удалит все, что находится после символ . В многострочных строках каждая строка будет обрабатываться отдельно, потому что в версии VBA Regex точка . соответствует любому символу, кроме новой строки.

Чтобы обработать все строки текста как одну строку:

Чтобы удалить что-либо после символа, включая новые строки, к регулярному выражению добавляется n .

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

На скриншоте ниже вы можете увидеть, чем отличаются результаты.

Удалены все символы либо до конца каждой строки, либо до конца всего текста в ячейке.

Регулярное выражение для удаления всего до пробела

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

Удалите все до последнего пробела

Как и в предыдущем примере, регулярное выражение зависит от вашего понимания термина «пробел».

Это регулярное выражение будет соответствовать чему-либо до последнего пробела в строке (добавляются кавычки, чтобы сделать пробел после звездочки заметным).

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

Особенно заметна разница на многострочных значениях.

Удалить все перед первым пробелом

Чтобы сопоставить что-либо до первого пробела в строке, вы можете использовать это регулярное выражение:

С начала строки ^ мы сопоставляем ноль или несколько непробельных символов [^ ]* , за которыми сразу же следует один или несколько пробелов + . Последняя часть добавлена ​​для предотвращения потенциальных пробелов в результатах.

Чтобы удалить текст перед первым пробелом в каждой строке, формула записывается в режиме «все совпадения» по умолчанию (аргумент instance_num опущен):

Чтобы удалить текст перед первым пробелом в первой строке и оставить все остальные строки нетронутыми, аргумент instance_num устанавливается в 1:

Можно пометить шаблон в отдельную ячейку и зафиксировать ее абсолютной ссылкой, как это сделано на скриншоте ниже.

Регулярное выражение для удаления всего перед символом

Самый простой способ удалить весь текст перед определенным символом – использовать такое регулярное выражение:

В переводе на человеческий язык это означает: «от начала текста, выбрать 0 или более символов, кроме указанного символа, до первого вхождения этого символа».

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

Чтобы избежать пробелов в начале результатов, добавьте в конец пробел s* . Это удалит все до первого двоеточия и обрежет все пробелы сразу после него:

Регулярное выражение для удаления всего, кроме

Чтобы удалить все символы из строки, кроме тех, которые вы хотите сохранить, используйте классы символов с отрицанием.

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

Фактически, здесь можно было бы обойтись без квантификатора + , поскольку наша функция заменяет все найденные совпадения. Квантификатор просто делает это немного быстрее – вместо обработки каждого отдельного символа вы заменяете подстроку.

Regex для удаления HTML-тегов в Excel

Прежде всего, следует отметить, что HTML не является обычным языком, поэтому его синтаксический анализ с использованием регулярных выражений – не самый лучший способ. Тем не менее, регулярные выражения определенно могут помочь удалить теги из ваших ячеек, чтобы сделать ваш набор данных более чистым.

Учитывая, что теги html всегда помещаются в угловые скобки <>, вы можете найти их, используя одно из следующих регулярных выражений.

Здесь мы сопоставляем открывающую угловую скобку, за которой следует ноль или более вхождений любого символа, кроме закрывающей угловой скобки [^>]* , до ближайшей закрывающей угловой скобки.

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

Какой бы вариант вы бы ни выбрали, результат будет абсолютно одинаковым.

Например, чтобы удалить все теги html из строки в A5 и оставить текст, формула будет следующей:

Это решение идеально подходит для однострочного текста (строки 5–9). Для нескольких строк (строки 10–12) результаты сомнительны — тексты из разных тегов сливаются в один. Это правильно или нет? Боюсь, это нелегко решить — все зависит от вашего понимания желаемого результата. Например, в B11 ожидается результат «A1»; в то время как в B10 вы можете захотеть, чтобы «значение1» и «значение2» ​​были разделены пробелом.

Чтобы удалить теги html и разделить оставшийся текст пробелами, вы можете поступить следующим образом:

  1. Заменить теги пробелами » «, а не пустыми строками:
  1. Сократить несколько пробелов до одного символа пробела:
  1. Обрезать начальные и конечные пробелы:

Результат будет примерно таким:

В результате импортированный текст стал совершенно читаемым.

Инструмент удаления символов и текста Ablebits Regex

Если у вас была возможность использовать Ultimate Suite for Excel , вы, вероятно, уже обнаружили новые инструменты Regex, представленные в недавнем выпуске. Прелесть этих функций Regex на основе .NET заключается в том, что они, во-первых, поддерживают полнофункциональный синтаксис регулярных выражений, свободный от ограничений VBA RegExp, и, во-вторых, не требуют вставки какого-либо кода VBA в ваши книги, поскольку вся интеграция кода выполняется автоматически.

Ваша часть работы — создать регулярное выражение и передать его функции 🙂 Позвольте мне показать вам, как это сделать, на практическом примере.

Как удалить текст в скобках с помощью регулярного выражения

В длинных текстовых строках менее важная информация часто заключена в [скобки] и (круглые скобки). Как удалить эти ненужные подробности, сохранив при этом все остальные данные?

Фактически, мы уже создали подобное регулярное выражение для удаления тегов html , то есть текста в угловых скобках. Очевидно, что те же методы будут работать и для квадратных и круглых скобок.

Хитрость заключается в использовании ленивого квантификатора (*?) для поиска кратчайшей возможной подстроки. Первая группа ((.*?)) соответствует содержимому от открывающей круглой скобки до первой закрывающей скобки. Вторая группа ([.*?]) соответствует находящемуся от открывающей квадратной скобки до первой закрывающей скобки. Знак | действует как оператор ИЛИ.

Определив шаблон, давайте «скормим» его нашей функции Regex Remove. Вот каким образом:

  1. На вкладке «AblebitsData» в группе «Text» щелкните «Regex Tools» .
  2. В появившейся слева панели выберите исходные ячейки с текстом, введите регулярное выражение, выберите параметр «Remove (Удалить и нажмите кнопку «Remove».

Чтобы получить результаты в виде формул, а не значений, установите флажок Insert as a formula (Вставить как формулу).

Чтобы удалить текст в скобках из строк в A2: A5, мы настраиваем следующие параметры, как на скриншоте ниже:

В результате функция AblebitsRegexRemove вставляется в новый столбец рядом с вашими исходными данными.

Функцию также можно ввести непосредственно в ячейку через стандартное диалоговое окно «Вставить функцию», где она отнесена к категории AblebitsUDFs .

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

Например, чтобы обрезать лишние пробелы в результирующих строках, вы можете использовать функцию СЖПРОБЕЛЫ :

Вот как удалить текст в Excel с помощью регулярных выражений. Почти так же просто, как купить подписчиков в инстаграм. 🙂 Благодарю вас за чтение!

Сумма по цвету и подсчёт по цвету в Excel — В этой статье вы узнаете, как посчитать ячейки по цвету и получить сумму по цвету ячеек в Excel. Эти решения работают как для окрашенных вручную, так и с условным форматированием. Если…
Проверка данных с помощью регулярных выражений — В этом руководстве показано, как выполнять проверку данных в Excel с помощью регулярных выражений и пользовательской функции RegexMatch. Когда дело доходит до ограничения пользовательского ввода на листах Excel, проверка данных очень полезна. Хотите…
Как удалить пробелы и пустые строки в Excel с помощью Regex — Хотите обрабатывать пробелы наиболее эффективным образом? Используйте регулярные выражения, чтобы удалить все пробелы в ячейке, заменить несколько пробелов одним символом, обрезать пробелы только между числами и т. д. Какие бы исходные…
RegEx в Excel: шпаргалка по синтаксису регулярных выражений — На первый взгляд, в Excel есть все, что вам может понадобиться для работы с текстовыми строками. Но очень часто случается, что мы не можем указать точно, что мы ищем. Мы знаем…
Поиск и замена в Excel с помощью регулярных выражений — В этом руководстве показано, как быстро добавить пользовательскую функцию в свои рабочие книги, чтобы вы могли использовать регулярные выражения для замены текстовых строк в Excel. Когда дело доходит до замены…
Как извлечь строку из текста при помощи регулярных выражений — В этом руководстве вы узнаете, как использовать регулярные выражения в Excel для поиска и извлечения части текста, соответствующего заданному шаблону. Microsoft Excel предоставляет ряд функций для извлечения текста из ячеек. Эти функции…
Как правильно сохранить и применять пользовательскую функцию Excel — Сегодня мы продолжим изучение пользовательских функций Excel. Поскольку вы уже знаете, как их создавать (и, я надеюсь, вы также пробовали применять их), давайте копнем немного глубже и узнаем, как использовать…
4 способа отладки пользовательской функции — Как правильно создавать пользовательские функции и где нужно размещать их код, мы подробно рассмотрели ранее в этой статье. Чтобы решить проблемы при создании пользовательской функции, вам скорее всего придется выполнить…
Пользовательская функция и макрос VBA: преимущества и недостатки — Мы продолжаем серию статей о работе с пользовательскими функциями. В наших предыдущих статьях мы познакомились с пользовательскими функциями и узнали, как их создавать и использовать. У пользовательских функций есть много…
Почему пользовательская функция не работает: проблемы и решения — Если существующих функций недостаточно, Excel позволяет добавить новые собственные функции. Мы ранее рассказали, как их создать и как использовать, чтобы ваша работа стала проще. В этой статье мы рассмотрим проблемы,…

Как в Excel удалить текст до определенного символа

Довольно часто в Excel нужно убрать из строки символы до определенного знака. Это может быть как один символ (пробел, точка, запятая, двоеточие и т.д.), так и символ из определенного множества (цифра, английская буква).

В зависимости от этих условий, решение может быть простым, а может потребовать использование довольно сложных формул и процедур.

В этой статье я подробно опишу известные мне варианты. Поехали!

Удалить текст до последнего символа

Наиболее просто удалить текст в диапазоне ячеек до последнего вхождения заданного символа или текста. Можно воспользоваться процедурой «Найти и заменить»:

  • Выделить диапазон
  • Вызвать процедуру поиска и замены со вкладки «Главная» или сочетанием клавиш Ctrl+H
  • использовать подстановочный символ * (звездочку) прямо перед искомым в строке поиска
  • оставить пустым второе поле и нажать ОК

Процедура заменит все символы до знака на пустоту, иначе говоря, удалит их. Звездочка как раз и обозначает «все символы».

Удалить текст до первого пробела — формула

Данная формула универсальна и позволит удалить не только текст до первого пробела, но и до любого другого первого вхождения символа в строке.

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

Удалить текст до первого пробела - формула

Результат применения формулы

Формулы для других символов аналогичны:

Убрать текст в ячейке до первой запятой:

А чтобы удалить текст до вхождения последовательности символов, например, слова, нужно использовать в формуле длину этой последовательности, сократив ее на 1:

Здесь из адресов удаляется текст до номера дома. Длина текста в кавычках — 3 символа (д, точка и пробел):

Удалить текст в ячейке до определенного слова

Удалить текст до первой цифры

Пожалуй, вы уже догадались, но я все же объясню, как работают формулы выше:

    ищет позицию первого вхождения текстового паттерна (он всегда в кавычках). Соответствующий фрагмент выделен красным. принимает эту позицию как аргумент;

  1. она же заменяет фрагмент от первого символа до этой позиции на пустоту (две кавычки подряд), таким образом, удаляя его.

Следовательно, чтобы удалить текст до первой цифры, нужно вычислить позицию первой цифры в строке. Поскольку цифр не одна, а 10, простая формула уже не подойдет. Но можно сделать это вот такой формулой массива:

А подставив это выражение в исходную формулу, мы сможем решить исходную задачу — получить текст после первой цифры включительно, удалив текст до нее.

Что за числа 48 и 57, можно прочитать подробнее тут:

Обратите внимание на фигурные скобки! Их не нужно вводить, они появятся сами при вводе формулы сочетанием клавиш Ctrl+Shift+Enter.

Формула выдаст ошибку, если цифр в строке нет.

Результат применения формулы для удаления текста до первой цифры

Убираем текст до первой цифры в ячейках формулами массива

Удаление текста в 1-2 клика с !SEMTools

Каждый из перечисленных способов хорош по-своему, но всем им недостает одного важного фактора — скорости исполнения.

В каждом из случаев нужно вводить много символов и производить много действий.

Для экономии времени я включил быстрые процедуры в меню своей надстройки для Excel — !SEMTools.

Теперь удалить текст до первого или последнего вхождения конкретного символа или подстроки, включая и не включая сам текст, можно в считанные мгновения!

При этом можно как менять данные на месте, так и автоматически выводить в соседний столбец — за это отвечает глобальный чекбокс.

Хотите так же быстро обращаться с текстовыми данными в Excel и испытать на практике еще более 500 похожих процедур?

Жмите на кнопку ниже, чтобы бесплатно скачать и подключить пробную версию надстройки !SEMTools. Процедура займет пару минут.

Отсечение лишнего текста из ячейки

Shtein

Дата: Четверг, 13.10.2016, 11:10 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 103


Репутация:

0

±

Замечаний:
0% ±


Excel 2021

Всем привет.
Прошу помочь в таком вроде простом вопросе, но я не могу пока сообразить.
Нужно из ячеек столбца А сделать, как в столбце С — то есть удалить из ячеек информацию в скобках, включая сами скобки. Я думал формулой ПРАВСИМВ и потом удалять как-то извлеченное из исходной ячейки. Но проблема в том, что наименований товара могут быть тысячи, и в скобках разное количество цифр, то есть этой формулой трудно определить, какое количество символов извлекать.
Может что-то посоветуете.


«В мире давным давно все известно, главное знать у кого спросить»
Рэй Бредбери.

 

Ответить

Pelena

Дата: Четверг, 13.10.2016, 11:12 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Здравствуйте.
Если скобки всегда в конце текста, то можно так

Код

=ЛЕВСИМВ(A2;ПОИСК(«(«;A2)-2)

если скобок может не быть, то

Код

=ЛЕВСИМВ(A2;ПОИСК(«(«;A2&» («)-2)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Shtein

Дата: Четверг, 13.10.2016, 11:23 |
Сообщение № 3

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 103


Репутация:

0

±

Замечаний:
0% ±


Excel 2021

Ух ты, так просто, с функцией ПОИСК я не знаком, буду осваивать. Век живи- век учись. Спасибо victory


«В мире давным давно все известно, главное знать у кого спросить»
Рэй Бредбери.

 

Ответить

_Boroda_

Дата: Четверг, 13.10.2016, 11:30 |
Сообщение № 4

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

А если нужно в том же месте, то можно нажать Контрл h, в Найти написать » (*)» (без кавычек) и нажать «заменить все»


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Shtein

Дата: Четверг, 13.10.2016, 12:00 |
Сообщение № 5

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 103


Репутация:

0

±

Замечаний:
0% ±


Excel 2021

_Boroda_, это удаление по маске же? Подойдет, если будет Товар в одно слово, а вот если «Сладкий перец» или что-то вроде того, удалит же сразу после 1-го пробела остальное.


«В мире давным давно все известно, главное знать у кого спросить»
Рэй Бредбери.

Сообщение отредактировал ShteinЧетверг, 13.10.2016, 12:00

 

Ответить

_Boroda_

Дата: Четверг, 13.10.2016, 12:25 |
Сообщение № 6

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

если «Сладкий перец» или что-то вроде того, удалит же сразу после 1-го пробела остальное

Да ну? А попробовать не пробовали?


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Shtein

Дата: Четверг, 13.10.2016, 12:36 |
Сообщение № 7

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 103


Репутация:

0

±

Замечаний:
0% ±


Excel 2021

_Boroda_, ооо, я был невнимателен)) я пользовался всегда таким способом » *», и удаляло все после пробела, потому подумал, что Вы предложили такой же способ, на скобки не обратил внимание.

Pelena, скажите, а можно ли модернизировать формулу, чтобы еще в отдельный столбец извлечь, то, что в скобках, столбец D.
Тут я предполагаю, надо как-то прикрутить формулу ПРАВСИМВ, сделал так

Код

=ПРАВСИМВ(Z9;ПОИСК(» «;Z9))

но у меня почему-то часть цифр извлекает.


«В мире давным давно все известно, главное знать у кого спросить»
Рэй Бредбери.

 

Ответить

_Boroda_

Дата: Четверг, 13.10.2016, 12:42 |
Сообщение № 8

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

ПОИСК считает кол-во символов слева, а Вы его справа считать пытаетесь.
Попробуйте так

Код

=ПОДСТАВИТЬ(A2;C2&» «;)

или так

Код

=ПСТР(A2;ПОИСК(«(«;A2);99)


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Shtein

Дата: Четверг, 13.10.2016, 12:52 |
Сообщение № 9

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 103


Репутация:

0

±

Замечаний:
0% ±


Excel 2021

Спасибо огромное, записал в свои шпаргалки на память.


«В мире давным давно все известно, главное знать у кого спросить»
Рэй Бредбери.

 

Ответить

sv2014

Дата: Четверг, 13.10.2016, 21:24 |
Сообщение № 10

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 226


Репутация:

61

±

Замечаний:
0% ±


Excel 2013

Shtein, добрый вечер,вариант функций yyy и zzz в столбцах C и D соответственно или функция www

[vba]

Код

Function www$(t$)
With CreateObject(«VBScript.RegExp»): .Pattern = «(.+)»
    www = .Replace(t, «»)
End With
End Function

[/vba]

[vba]

Код

Function yyy$(t$)
  yyy = Split(t, «(«)(0)
End Function

[/vba]

[vba]

Код

Function zzz&(t$)
  zzz = Split(Split(t, «(«)(1), «)»)(0)
End Function

[/vba]

Сообщение отредактировал sv2014Четверг, 13.10.2016, 21:36

 

Ответить

pashatank

Дата: Четверг, 11.06.2020, 07:32 |
Сообщение № 11

Группа: Пользователи

Ранг: Участник

Сообщений: 58


Репутация:

0

±

Замечаний:
40% ±


Excel 2010

Здравствуйте.
Если скобки всегда в конце текста, то можно так

Pelena, здравствуйте! А если не везде в столбце артикулы есть в конце в скобках, в этом случае формула не пропускает, а ставит ЗНАЧ, можно как-то указать, что удалять нужно только артикулы на конце в скобках?

К сообщению приложен файл:

555.xlsx
(11.2 Kb)

 

Ответить

Pelena

Дата: Четверг, 11.06.2020, 08:40 |
Сообщение № 12

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

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

Код

=ЛЕВСИМВ(A2;ПОИСК(«(????)»;A2&»(????)»)-2)

или более универсальная формула

Код

=ЕСЛИ(ПРАВСИМВ(A2)=»)»;ПОДСТАВИТЬ(A2;СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;50));50)););A2)

К сообщению приложен файл:

1363922.xlsx
(12.7 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

pashatank

Дата: Четверг, 11.06.2020, 09:10 |
Сообщение № 13

Группа: Пользователи

Ранг: Участник

Сообщений: 58


Репутация:

0

±

Замечаний:
40% ±


Excel 2010

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

Приогромнейше благодарю! Именно то, что нужно!

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Excel удалить если цвет
  • Excel удалить если встречается
  • Excel удаление внешних связей
  • Excel удалить дублирующиеся ячейки в excel
  • Excel угол наклона линии тренда