KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Excel: Удалить определенные символы, слова, числа из текстовых строк

АвторСяоянДата изменения

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

Содержание:

1. Удалите нежелательные символы слева, справа или из середины текстовых строк

2. Удаление нежелательных и специальных символов из текстовой строки

3. Удалить определённые символы или текст до/после указанного символа

4. Удаление слов из текстовых строк


Удалить определенные символы слева, справа или из середины текстовых строк

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

1,1 Удаление первых N символов из текстовых строк

Если вам нужно удалить первые N символов из списка текстовых строк, следующие методы придадут процессу простоту и эффективность.

С помощью формул

Обычно для удаления символов с начала текстовых строк можно использовать либо функцию ЗАМЕНИТЬ, либо комбинацию функций ПРАВСИМВ и ДЛСТР.

Функция ЗАМЕНИТЬ для удаления первых N символов:

=REPLACE(string, 1, num_chars, "")
  • «string»: текстовая строка, из которой Вы хотите Удалить определенные символы;
  • «num_chars»: количество символов, которые вы хотите удалить.

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

=REPLACE(A4, 1, 2, "")

Функции ПРАВСИМВ и ДЛСТР для удаления первых N символов:

=RIGHT(string, LEN(string) - num_chars)
  • «string»: текстовая строка, из которой Вы хотите Удалить определенные символы;
  • «num_chars»: количество символов, которые вы хотите удалить.

Чтобы удалить первые 2 символа из ячеек, примените следующую формулу:

=RIGHT(A4,LEN(A4)-2)


С помощью пользовательской функции

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

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Нажмите «Вставка» > «Модуль» и вставьте приведённый ниже код в окно модуля.

Код VBA: Удаление первых N символов из текстовых строк

Function removeFirstx(rng As String, cnt As Long)
'Updateby Extendoffice
removeFirstx = Right(rng, Len(rng) - cnt)
End Function

3. Затем вернитесь на лист, введите формулу «=removefirstx(A4,2)» в пустую ячейку и перетащите маркер заполнения вниз, чтобы получить нужные результаты. См. снимок экрана:

Примечание. В этой формуле: «A4» — ячейка, из которой вы хотите удалить определённые символы; число «2» указывает, сколько символов следует удалить с начала текстовой строки.

Снимок экрана, показывающий результат использования пользовательской функции VBA для удаления символов из текста в Excel


1,2 Удаление последних N символов из текстовых строк

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

С использованием формулы

Чтобы удалить последние N символов из текстовых строк, воспользуйтесь формулой на основе функций ЛЕВСИМВ и ДЛСТР.

Функции ЛЕВСИМВ и ДЛСТР для удаления последних N символов:

=LEFT(string, LEN(string) - num_chars)
  • «string»: текстовая строка, из которой Вы хотите Удалить определенные символы;
  • «num_chars»: количество символов, которые вы хотите удалить.

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

=LEFT(A4, LEN(A4) - 3)


С помощью пользовательской функции

Пользовательская функция также поможет вам удалить последние N символов из списка ячеек. Выполните следующие действия:

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: Удаление последних N символов из текстовых строк

Function removeLastx(rng As String, cnt As Long)
'Updateby Extendoffice
removeLastx = Left(rng, Len(rng) - cnt)
End Function

3. Затем вернитесь на лист, введите формулу «=removelastx(A4,3)» в пустую ячейку и перетащите маркер заполнения вниз, чтобы получить нужные результаты. См. снимок экрана:

Примечание. В этой формуле: «A4» — ячейка, из которой вы хотите удалить определённые символы; число «3» указывает, сколько символов следует удалить с конца текстовой строки.

Снимок экрана, показывающий результат использования пользовательской функции VBA для удаления символов с конца текста в Excel


1,3 Удаление первых, последних N символов или символов с определенной позиции с помощью мощной функции

Вам может быть сложно запомнить множество различных формул для удаления символов Удалить определенные символы слева, справа или с определенной позиции текстовых строк. Функция «Kutools для Excel» поддерживает мощную возможность — «Удалить символы в определенной позиции». С помощью этого инструмента вы можете решать такие задачи всего несколькими щелчками мыши, не запоминая никаких формул.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите ячейки, из которых нужно удалить определённые символы, и выберите «Kutools» > «Текст» > «Удалить символы в определённой позиции». См. снимок экрана:

2. В диалоговом окне «Удалить символы в определённой позиции» выполните следующие действия:

2,1 Удаление первых N символов из ячеек:

  • В поле «Число» укажите количество символов, которые нужно удалить из строк. В этом примере я удалю первые 2 символа.
  • Выберите опцию «Слева» в разделе «Положение».
  • Затем нажмите кнопку «ОК» или «Применить», чтобы получить результат, как показано на скриншоте ниже.

2,2 Удаление последних N символов из ячеек:

  • В поле «Число» укажите количество символов, которые нужно удалить из строк. В этом примере я удалю последние 3 символа.
  • Выберите опцию «Справа» в разделе «Положение».
  • Затем нажмите кнопку «ОК» или «Применить», чтобы получить результат, как показано на скриншоте ниже.

2,3 Удаление N символов с определенной позиции ячеек:

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

  • В поле «Число» укажите количество символов, которые нужно удалить из строк. В данном примере я удалю 3 символа, начиная с заданной позиции.
  • Выберите параметр «Указать» и введите в поле ввода раздела «Позиция» номер символа, с которого нужно начать удаление. В данном случае я буду удалять символы, начиная с третьего.
  • Затем нажмите кнопку «ОК» или «Применить», чтобы получить результат, как показано на снимке экрана ниже.

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


1,4 Удаление первых n и последних n символов из текстовых строк с помощью формулы

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

=MID(string, left_chars + 1, LEN(string) - (left_chars + right_chars)
  • «string»: текстовая строка, из которой вы хотите Удалить определенные символы;
  • «left_chars»: количество символов, которые нужно удалить слева;
  • «right_chars»: количество символов, подлежащих удалению справа.

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

=MID(A4, 7+1, LEN(A4) - (7+5))

Примечание: в этой формуле «A4» — ячейка, из которой вы хотите удалить определённые символы; число «7» указывает, сколько символов удалить с левой стороны, а число «5» — сколько символов удалить с правой стороны.

Затем перетащите маркер заполнения вниз до тех ячеек, к которым вы хотите применить эту формулу, и вы получите результат, как показано на приведённом ниже снимке экрана:


Удаление нежелательных / специальных символов из текстовых строк

При импорте данных из внешних источников в Excel на ваш рабочий лист могут попасть различные специальные или нежелательные символы. В этом разделе представлены полезные методы для удаления таких символов, как #@$%^&, пробелы, цифры, нечисловые знаки, разрывы строк и другие.

2,1 Удаление некоторых специальных символов из текстовых строк

Если в текстовых строках содержатся специальные символы, такие как %^&*(), и вы хотите их удалить, воспользуйтесь одним из трёх способов, приведённых ниже.

Удаление нескольких специальных символов из текстовых строк с помощью функции ПОДСТАВИТЬ

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

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(string_cell, char1, ""), char2, ""), char3, "")
  • «string_cell»: ячейка, содержащая текстовую строку, из которой вы хотите удалить специальные символы;
  • «char1, char2, char3» — нежелательные символы, которые вы хотите удалить.

Теперь скопируйте или введите приведённую ниже формулу в пустую ячейку:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, "#", ""), "&", ""), "*", ""), "%", "")

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

Совет: если нужно удалить ещё больше символов, просто добавьте в формулу дополнительные вложенные функции SUBSTITUTE.


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

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

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Нажмите «Вставить» > «Модуль» и вставьте приведённый ниже код в окно модуля.

Код VBA: удаление нескольких специальных символов из текстовых строк

Function RemoveUnwantedChars(Str As String, xchars As String)
'Updateby Extendoffice
    For Index = 1 To Len(xchars)
        Str = Replace(Str, Mid(xchars, Index, 1), "")
    Next
    RemoveUnwantedChars = Str
End Function

3. Закройте окно кода и вернитесь на рабочий лист. Введите формулу «=RemoveUnwantedChars(A2, $D$2)» в пустую ячейку, чтобы получить результат, и протяните маркер заполнения вниз для применения ко всем нужным строкам. См. снимок экрана:

Примечание: в приведённой выше формуле «A2» — это ячейка, из которой вы хотите удалить определённые символы; «$D$2» содержит специальные символы, подлежащие удалению (вы можете указать любые другие необходимые специальные символы).

Снимок экрана, показывающий результат использования пользовательской функции VBA для удаления нескольких специальных символов из текста в Excel


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

Если у вас установлен «Kutools для Excel», воспользуйтесь функцией «Удалить определённые символы», чтобы легко избавляться от любых типов символов — будь то цифры, буквы или непечатаемые знаки — из выбранных вами ячеек.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите диапазон ячеек, из которых требуется удалить специальные символы, и нажмите «Kutools» > «Текст» > «Удалить определенные символы». См. снимок экрана:

2. В диалоговом окне «Удалить определённые символы»:

  • Установите флажок «Пользовательский» в разделе «Удалить определённые символы».
  • Затем введите в поле ввода специальные символы, которые нужно удалить.
  • Затем нажмите кнопку «ОК» или «Применить», чтобы немедленно удалить указанные вами символы. См. снимок экрана:

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


2,2 Удаление всех цифр из текстовых строк

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

Удаление цифр из текстовых строк с помощью функции ПОДСТАВИТЬ

В Excel вложенная функция SUBSTITUTE поможет заменить все цифры на пустую строку. Воспользуйтесь приведённой ниже формулой, чтобы удалить все цифры из ячеек:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),0,"")

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


Удаление цифр из текстовых строк с помощью функции ОБЪЕДИНИТЬ в Excel

Если у вас установлен Excel 2019, 2021 или Microsoft 365, функция TEXTJOIN («Новый текст») также поможет удалить цифры из текстовых строк.

Скопируйте следующую формулу в пустую ячейку и нажмите клавиши Ctrl + Shift + Enter одновременно, чтобы получить первый результат:

=TEXTJOIN("", TRUE, IF(ISERR(MID(A2, ROW(INDIRECT( "1:"&,LEN(A2) )), 1) *1), MID(A2, ROW(INDIRECT("1:"&,LEN(A2))), 1), ""))

Затем скопируйте формулу в остальные ячейки ниже, к которым вы хотите её применить. См. снимок экрана:

Примечание: функция TEXTJOIN доступна только в Excel 2019, Excel 2021 и Office 365.


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

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

1. Удерживая клавиши Alt + F11, откройте окно Microsoft Visual Basic for Applications.

2. Нажмите «Вставить» > «Модуль» и вставьте приведённый ниже код в окно модуля.

Код VBA: удаление цифр из текстовых строк

Function RemoveNumbers(Txt As String) As String
'Updateby Extendoffice
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "[0-9]"
RemoveNumbers = .Replace(Txt, "")
End With
End Function

3. Затем закройте окно кода и вернитесь на рабочий лист. Введите формулу =RemoveNumbers(A2) в пустую ячейку, а затем перетащите маркер заполнения вниз до тех ячеек, к которым нужно применить эту формулу. См. снимок экрана:

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


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

Если вы устали от сложных формул, позвольте представить вам простой инструмент — функцию «Kutools для Excel» под названием «Удалить определенные символы». С помощью этой удобной функции вы сможете выполнить задачу всего за несколько кликов.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите диапазон ячеек, из которых требуется удалить цифры, и нажмите «Kutools» > «Текст» > «Удалить определенные символы».

2. В диалоговом окне «Удалить определенные символы» выполните следующие действия:

  • Установите флажок «Цифровые» в разделе «Удалить определённые символы».
  • Затем нажмите кнопку «ОК» или «Применить», чтобы сразу удалить цифры. См. снимок экрана:

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


2,3 Удаление нечисловых символов из текстовых строк

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

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

Если вы работаете в Excel 2016 или более ранней версии, для выполнения этой задачи вам понадобится сложная формула. Скопируйте или введите приведённую ниже формулу в пустую ячейку:

=SUMPRODUCT(MID(0&,A2, LARGE(INDEX(ISNUMBER(--MID(A2, ROW(INDIRECT("1:"&,LEN(A2))), 1)) * ROW(INDIRECT("1:"&,LEN(A2))), 0), ROW(INDIRECT("1:"&,LEN(A2))))+1, 1) * 10^ROW(INDIRECT("1:"&,LEN(A2)))/10)

Затем скопируйте формулу в остальные ячейки ниже, к которым вы хотите её применить. См. снимок экрана:

Примечание: если число в текстовой строке начинается с 0, этот ноль будет утерян.


Удаление нечисловых символов из текстовых строк с помощью функции TEXTJOIN в Excel 2019, 2021, 365

Приведённая выше формула может оказаться слишком сложной для большинства пользователей. Если у вас установлен Excel 2019, 2021 или Microsoft 365, воспользуйтесь более простой альтернативой!

Скопируйте или введите следующую формулу в пустую ячейку и нажмите клавиши «Ctrl + Shift + Enter» одновременно, чтобы получить первый корректный результат:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

Затем перетащите маркер заполнения вниз до ячеек, к которым вы хотите применить эту формулу, и вы получите результат, как показано на приведённом ниже снимке экрана:

Примечание: благодаря этой формуле ведущие нули сохраняются, так как цифры возвращаются в текстовом формате.


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

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

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: удаление нечисловых символов из текстовых строк

Function Removenonnumeric(str As String) As String
'Updateby Extendoffice
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "[^0-9]"
        Removenonnumeric = .Replace(str, "")
    End With
End Function

3. Затем закройте окно кода и вернитесь на рабочий лист. Введите формулу =Removenonnumeric(A2) в пустую ячейку, а затем перетащите маркер заполнения вниз до тех ячеек, к которым нужно применить эту формулу. В результате останутся только цифры, как показано на снимке экрана ниже:

Снимок экрана, показывающий результат использования пользовательской функции VBA для извлечения только цифр из текстовых строк в Excel


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

Чтобы мгновенно удалить все нечисловые символы из диапазона ячеек, воспользуйтесь функцией «Удалить определённые символы» из набора инструментов Kutools для Excel — всего пара кликов, и задача решена!

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите диапазон ячеек, из которых требуется удалить нечисловые символы, и нажмите «Kutools» > «Текст» > «Удалить определенные символы».

2. В диалоговом окне «Удалить определённые символы» задайте следующие параметры:

  • Установите флажок «Нецифровые» в разделе «Удалить определённые символы».
  • Затем нажмите кнопку «ОК» или «Применить», чтобы сразу удалить все нецифровые символы. См. снимок экрана:

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


2,4 Разделение Разделить по тексту и числу из одной ячейки на два столбца

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

Разделение Разделить по тексту и числу из одной ячейки на два столбца с помощью пользовательской функции

С помощью приведённой ниже пользовательской функции вы можете одновременно извлечь текст и число. Выполните следующие шаги:

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Нажмите «Вставить» > «Модуль» и вставьте приведённый ниже код в окно модуля.

Код VBA: разделение Разделить по тексту и числу из текстовых строк на два столбца

Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby Extendoffice
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
    xStr = VBA.Mid(pWorkRng.Value, i, 1)
    If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
        SplitText = SplitText + xStr
    End If
Next
End Function

3. Затем закройте окно кода и вернитесь на лист. Введите формулу =SplitText(A2,FALSE) в пустую ячейку, а затем протяните маркер заполнения вниз до тех ячеек, куда нужно скопировать формулу, чтобы получить весь текст. См. снимок экрана:

Снимок экрана, показывающий результат использования пользовательской функции для разделения текста и цифр в Excel

4. Затем введите формулу =SplitText(A2,ИСТИНА) в другую ячейку и протяните маркер заполнения вниз до нужных ячеек, чтобы получить числа. См. снимок экрана:

Снимок экрана, показывающий результат использования пользовательской функции для извлечения цифр из текстовой строки в Excel


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

Если у вас установлен «Kutools для Excel», его функция «Разделить ячейки» позволит легко разбить содержимое ячеек на несколько столбцов или строк — по любым разделителям, заданной ширине, а также по тексту и числам.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите диапазон ячеек, которые нужно разделить, и нажмите «Kutools» > «Merge & Split» > «Разделить ячейки». См. снимок экрана:

2. В диалоговом окне «Разделить ячейки» выберите опцию «Разделить на столбцы» в разделе «Тип», затем установите флажок «Разделить по тексту и числу» в разделе «Разделить по». См. снимок экрана:

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

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


2,5 Удаление символов разрыва строки из текстовых строк

Перевод строки — это элемент, который позволяет размещать несколько строк текста в одной ячейке Excel. Иногда при копировании данных с веб-сайта или при ручном разделении содержимого ячейки с помощью комбинации клавиш «Alt + Enter» вы получаете символы перевода строки или возврата каретки. В некоторых случаях может понадобиться удалить эти символы, чтобы весь текст отображался в одну строку, как показано на снимке экрана ниже. Далее я расскажу о нескольких эффективных способах выполнения этой задачи в Excel.

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

В Excel для удаления переводов строк воспользуйтесь функцией «Найти и заменить». Выполните следующие действия:

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

2. Затем нажмите «Home» > «Find & Select» > «Replace» (или используйте сочетание клавиш «Ctrl + H»), чтобы открыть диалоговое окно «Поиск и замена». См. снимок экрана:

3. В открывшемся диалоговом окне «Поиск и замена» выполните следующие действия:

  • Поместите курсор в поле «Найти» и нажмите Ctrl + J на клавиатуре — возможно, вы ничего не увидите, но символ разрыва строки уже будет вставлен.
  • В поле «Заменить на» оставьте поле пустым, чтобы просто удалить разрывы строк, или нажмите пробел один раз, чтобы заменить их пробелами.

4. Затем нажмите кнопку «Replace All» («Заменить все») — все переводы строк в выделенных ячейках будут немедленно удалены или заменены пробелами. См. снимок экрана:


Удаление символов разрыва строки из текстовых строк с помощью функции ПОДСТАВИТЬ

Можно также создать формулу с использованием функций SUBSTITUTE и CHAR, чтобы удалить переносы строк из текстовых строк.

Примените приведённую ниже формулу для получения результата:

=SUBSTITUTE(A2,CHAR(10),"")

Совет: функция SUBSTITUTE заменяет символ CHAR(10) — обозначающий перевод строки — на пустую строку. Если вы хотите, чтобы результат разделялся запятой и пробелом, используйте приведённую ниже формулу:

=SUBSTITUTE(A2,CHAR(10),", ")


Удаление символов разрыва строки из текстовых строк с помощью кода VBA

Если вы владеете навыками работы с кодом VBA, ниже приведён соответствующий код. Выполните следующие шаги:

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: удаление переводов строк из текстовых строк

Sub RemoveCarriage()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each Rng In WorkRng
    Rng.Value = Replace(Rng.Value, Chr(10), "")
Next
End Sub

3. Затем нажмите клавишу «F5», чтобы запустить код, — появится окно запроса. Выделите диапазон, из которого нужно удалить переводы строк, как показано на снимке экрана ниже:

Снимок экрана диалогового окна с запросом выбора диапазона для удаления разрывов строк в Excel

4. После этого нажмите кнопку «OK», и все переводы строк будут удалены из диапазона «Выбрать данные».


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

Функция «Удалить определённые символы» из набора «Kutools для Excel» также легко поможет вам избавиться от переводов строк.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите диапазон ячеек, из которых нужно удалить переводы строк, и нажмите «Kutools» > «Text» > «Удалить определенные символы».

2. В диалоговом окне «Удалить определённые символы» задайте следующие параметры:

  • Установите флажок «Непечатаемые» в разделе «Удалить определённые символы».
  • Затем нажмите кнопку «ОК» или «Применить», чтобы удалить все разрывы строк из диапазона «Выбрать данные». См. снимок экрана:

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


2,6 Удалить пробелы (лидирующие, завершающие, лишние или все пробелы) из текстовых строк

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

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

В Excel для удаления начальных, конечных и лишних пробелов из текстовых строк достаточно использовать простую функцию TRIM. Она удаляет все пробелы, кроме одиночных — тех, что остаются между словами.

Введите приведённую ниже формулу в пустую ячейку:

=TRIM(A2)

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


Удаление всех пробелов из текстовых строк

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

С использованием функции SUBSTITUTE

С помощью функции SUBSTITUTE можно заменить все пробелы на пустую строку. Введите приведённую ниже формулу в любую пустую ячейку:

=SUBSTITUTE(A2," ","") 

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


С использованием функции Поиск и замена

Функция «Найти и заменить» в Excel также помогает мгновенно удалить все пробелы из выделенных ячеек. Выполните следующие шаги:

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

2. Затем нажмите «Home» > «Find & Select» > «Replace» (или воспользуйтесь сочетанием клавиш «Ctrl + H»), чтобы открыть диалоговое окно «Поиск и замена». В открывшемся окне выполните следующие действия:

  • Нажмите «Пробел» в поле «Найти»;
  • В поле «Заменить на» оставьте пустым.

3. После этого нажмите кнопку «Replace All» («Заменить все») — и все пробелы в выделенных ячейках будут мгновенно удалены. См. снимок экрана:


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

«Kutools для Excel» предлагает мощную функцию «Удалить пробелы». С её помощью вы сможете удалить начальные, конечные и лишние пробелы — а также все пробелы в выбранном диапазоне — всего в одном диалоговом окне, значительно повысив свою продуктивность.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите диапазон данных, из которого нужно удалить пробелы, и нажмите «Kutools» > «Text» > «Удалить пробелы». См. снимок экрана:

2. В диалоговом окне «Удалить пробелы» выберите в поле «Тип пробелов» нужный тип пробела для удаления:

  • Удалите Пробелы в начале, Пожалуйста, выберите параметр «Пробелы в начале»;
  • Удалите Пробелы в конце, Пожалуйста, выберите параметр «Пробелы в конце»;
  • Удалите Пробелы в начале и Пробелы в конце одновременно, Пожалуйста, выберите параметр «В начале и в Пробелы в конце»;
  • Удалите все лишние пробелы, Пожалуйста, выберите параметр «Все лишние пробелы»;
  • Удалите все пробелы. Пожалуйста, выберите параметр «Все пробелы».

3. Затем нажмите кнопку «OK» или «Apply» (Применить) — и нужный результат будет у вас в руках.

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


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

В этом разделе я расскажу о некоторых операциях по удалению текста или символов до или после первого, последнего или заданного вхождения определённого символа.

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

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

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

Чтобы удалить текст или символы до первого вхождения заданного символа, используйте формулу на основе функций RIGHT, LEN и FIND. Общий синтаксис:

«=RIGHT(cell, LEN(cell)-FIND("char", cell))»
  • «cell»: ссылка на ячейку или текстовая строка, из которой вы хотите удалить текст;
  • «char»: конкретный разделитель, по которому вы хотите удалить текст.

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

=RIGHT(A2,LEN(A2)-FIND(",",A2))

Примечание: в приведённой выше формуле «A2» — это ячейка, из которой нужно удалить текст; «,» — символ, по которому выполняется удаление. При необходимости вы можете заменить его на любой другой символ.


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

Чтобы удалить всё, что идёт после первого вхождения определённого символа, воспользуйтесь комбинацией функций LEFT и FIND. Общий синтаксис:

=LEFT(cell,FIND("char",cell)-1)
  • «cell»: ссылка на ячейку или текстовая строка, из которой вы хотите удалить текст;
  • «char»: конкретный разделитель, по которому вы хотите удалить текст.

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

=LEFT(A2,FIND(",",A2)-1)


3,2 Удаление текста до или после Вхождение символа

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

Удаление текста до Вхождение символа с помощью формулы

Чтобы удалить текст до определённого символа, воспользуйтесь следующей формулой. Общий синтаксис:

=RIGHT(cell,LEN(cell)-FIND("#",SUBSTITUTE(cell,"char","#",N)))
  • «cell»: ссылка на ячейку или текстовая строка, из которой вы хотите удалить текст;
  • «char»: конкретный разделитель, на основе которого вы хотите удалить текст;
  • «N» — номер вхождения символа, до которого следует удалить текст.

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

=RIGHT(A2,LEN(A2)-FIND("#",SUBSTITUTE(A2,",","#",2)))

Примечание: в приведённой выше формуле «A2» — это ячейка, из которой нужно удалить текст; «,» — символ, по которому выполняется удаление. При необходимости вы можете заменить его на любой другой символ; «2» указывает номер запятой, до которой следует удалить текст.

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


Удаление текста после Вхождение символа с помощью формулы

Чтобы удалить текст после определённого разделителя, воспользуйтесь функциями ЛЕВСИМВ, ПОДСТАВИТЬ и НАЙТИ. Общий синтаксис:

=LEFT(cell, FIND("#", SUBSTITUTE(cell, "char", "#", N)) -1)
  • «cell»: ссылка на ячейку или текстовая строка, из которой вы хотите удалить текст;
  • «char»: конкретный разделитель, на основе которого вы хотите удалить текст;
  • «N» — номер вхождения символа, после которого следует удалить текст.

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

=LEFT(A2, FIND("#", SUBSTITUTE(A2, ",", "#", 2)) -1)

Примечание. В приведённой выше формуле: «A2» — ячейка, из которой нужно удалить текст; «,» — конкретный символ, по которому выполняется удаление (его можно заменить на любой другой при необходимости); «2» указывает на n-ю запятую, после которой следует удалить текст.

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


Удаление текста до или после Вхождение символа с помощью пользовательской функции

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

1. Удерживая клавиши Alt + F11, откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: Удаление текста до или после Вхождение символа

Function RemoveTextOccurrence(Str As String, Delimiter As String, Occurrence As Integer, IsAfter As Boolean)
Dim xStr As String
Dim xStrLen, xF, xIntStart As Integer
xStr = Str
xStrLen = Len(xStr)
xIntStart = 1
For xF = 1 To Occurrence
xIntStart = InStr(xIntStart + 1, xStr, Delimiter, vbTextCompare)
If (xIntStart = 0) Or (xIntStart < 0) Then
    If IsAfter Then
    RemoveTextOccurrence = xStr
    Else
    RemoveTextOccurrence = ""
    End If
    Exit Function
End If
Next
If IsAfter Then
    RemoveTextOccurrence = Mid(Str, 1, xIntStart - 1)
Else
    RemoveTextOccurrence = Mid(Str, xIntStart + 1)
End If
End Function

3. Затем закройте окно кода и вернитесь на лист. Воспользуйтесь следующими формулами:

Удаление текста до второго вхождения запятой:

=RemoveTextOccurrence(A2, ", ", 2, FALSE)

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

Удаление текста после второго вхождения запятой

=RemoveTextOccurrence(A2, ", ", 2, TRUE)

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


3,3 Удаление текста до или после последнего вхождения символа

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

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

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

=RIGHT(cell,LEN(cell)-SEARCH("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char","")))))
  • «cell»: ссылка на ячейку или текстовая строка, из которой вы хотите удалить текст;
  • «char»: конкретный разделитель, на основе которого вы хотите удалить текст;

Теперь, если необходимо удалить текст до последнего вхождения запятой, скопируйте или введите приведённую ниже формулу в пустую ячейку:

=RIGHT(A2,LEN(A2)-SEARCH("#",SUBSTITUTE(A2,",","#",LEN(A2)-LEN(SUBSTITUTE(A2,",","")))))

Примечание. В приведённой выше формуле: «A2» — это ячейка, из которой нужно удалить текст; «,» — конкретный символ, по которому выполняется удаление текста; при необходимости его можно заменить на любой другой.

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


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

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

=LEFT(cell,FIND("#",SUBSTITUTE(cell,"char","#",LEN(cell)-LEN(SUBSTITUTE(cell,"char",""))))-1)
  • «cell»: ссылка на ячейку или текстовая строка, из которой вы хотите удалить текст;
  • «char»: конкретный разделитель, на основе которого вы хотите удалить текст;

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

=LEFT(A2,FIND("#",SUBSTITUTE(A2,",>","#",LEN(A2)-LEN(SUBSTITUTE(A2,",",""))))-1)

«Примечание». В приведённой выше формуле: «A2» — это ячейка, из которой нужно удалить текст; «,» — конкретный символ, по которому выполняется удаление, и его при необходимости можно заменить на любой другой.


3,4 Удаление текста в скобках

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

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

Встроенная функция «Найти и заменить» в Excel позволяет найти весь текст в скобках и заменить его на пустую строку. Выполните следующие действия:

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

2. Затем нажмите «Главная» > «Найти и выделить» > «Заменить» (или используйте сочетание клавиш Ctrl + H), чтобы открыть диалоговое окно «Поиск и замена». В этом окне выполните следующие действия:

  • В поле «Найти» введите «(*)» в поле ввода;
  • В поле «Заменить на» оставьте пустым.

3. Затем нажмите кнопку «Заменить все» — и все символы в скобках (включая сами скобки) во выделенных ячейках будут мгновенно удалены. См. снимок экрана:

Совет: функция «Поиск и замена» работает даже при наличии двух или более пар скобок в текстовых строках.


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

Помимо функции «Найти и заменить», для решения этой задачи в Excel можно также воспользоваться формулой. Общий синтаксис:

=SUBSTITUTE(text,MID(LEFT(text,FIND(")",text)),FIND("(",text),LEN(text)),"")
  • «text»: текстовая строка или ссылка на ячейку, из которой вы хотите удалить определённые символы.

Теперь скопируйте или введите следующую формулу в пустую ячейку, где вы хотите получить результат:

=SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),"")

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

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

=IFERROR(SUBSTITUTE(A2,MID(LEFT(A2,FIND(")",A2)),FIND("(",A2),LEN(A2)),""),A2)


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

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

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: Удаление текста в скобках

Function remtxt(ByVal str As String) As String
'Updateby Extendoffice
  While InStr(str, "(") > 0 And InStr(str, ")") > InStr(str, "(")
    str = Left(str, InStr(str, "(") - 1) & Mid(str, InStr(str, ")") + 1)
  Wend
  remtxt = Trim(str)
End Function

3. Вернитесь на лист и введите в пустую ячейку формулу: «=remtxt(A2)», затем перетащите маркер заполнения вниз, чтобы применить её ко всем нужным строкам. Весь текст в скобках — включая сами скобки — будет удалён, как показано на снимке экрана:

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


Удаление слов из текстовых строк

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

4,1 Удаление первого или последнего слова из текстовой строки

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

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

Чтобы удалить первые слова из списка текстовых строк, используйте простую формулу на основе функций ПРАВСИМВ, ДЛСТР и НАЙТИ. Общий синтаксис:

=RIGHT(text,LEN(text)-FIND(" ",text))
  • «text»: текстовая строка или ссылка на ячейку, из которой вы хотите удалить первое слово.

Теперь введите или скопируйте следующую формулу в пустую ячейку:

=RIGHT(A2,LEN(A2)-FIND(" ",A2))

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

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

=MID(TRIM(text),1+FIND("~",SUBSTITUTE(TRIM(text)," ","~",N)),255)
  • «text»: текстовая строка или ссылка на ячейку, из которой вы хотите удалить первые N слов;
  • «N»: указывает количество слов, которые нужно удалить с начала текстовой строки.

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

=MID(TRIM(A2),1+FIND("~",SUBSTITUTE(TRIM(A2)," ","~",2)),255)


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

Чтобы удалить последнее слово из текстовых строк, можно также воспользоваться формулой. Общий синтаксис:

=LEFT(TRIM(text),FIND("~",SUBSTITUTE(text," ","~",LEN(TRIM(text))-LEN(SUBSTITUTE(TRIM(text)," ",""))))-1)
  • «text»: текстовая строка или ссылка на ячейку, из которой вы хотите удалить последнее слово;

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

=LEFT(TRIM(A2),FIND("~",SUBSTITUTE(A2," ","~",LEN(TRIM(A2))-LEN(SUBSTITUTE(TRIM(A2)," ",""))))-1)

Совет. Чтобы удалить последние N слов из списка ячеек, используйте следующий общий синтаксис:

=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",LEN(text)-LEN(SUBSTITUTE(text," ",""))-(N-1))))
  • «text»: текстовая строка или ссылка на ячейку, из которой вы хотите удалить последние N слов;
  • «N»: задаёт количество слов, которые необходимо удалить с конца текстовой строки.

Допустим, нужно удалить последние 3 слова из списка ячеек. Воспользуйтесь приведённой ниже формулой, чтобы получить результат (см. снимок экрана):

=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))-(3-1))))


4,2 Удаление повторяющихся символов или слов внутри ячейки

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

Удаление повторяющихся символов внутри ячейки с помощью пользовательской функции

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

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: Удаление повторяющихся символов внутри ячейки

Function RemoveDupeschars(pWorkRng As Range) As String
'Updateby Extendoffice
Dim xValue As String
Dim xChar As String
Dim xOutValue As String
Set xDic = CreateObject("Scripting.Dictionary")
xValue = pWorkRng.Value
For i = 1 To VBA.Len(xValue)
    xChar = VBA.Mid(xValue, i, 1)
    If xDic.Exists(xChar) Then
    Else
        xDic(xChar) = ""
        xOutValue = xOutValue & xChar
    End If
Next
RemoveDupeschars = xOutValue
End Function

3. Затем закройте окно кода, вернитесь на лист и введите формулу =RemoveDupeschars(A2) в пустую ячейку рядом с данными, после чего перетащите маркер заполнения на нужные ячейки — см. снимок экрана:

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

Снимок экрана с применяемой формулой в Excel для удаления повторяющихся символов из текстовой строки в ячейке

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


Удаление повторяющихся слов внутри ячейки с помощью пользовательской функции

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

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: Удаление повторяющихся слов внутри ячейки

Function RemoveDupeswords(txt As String, Optional delim As String = " ") As String
'Updateby Extendoffice
    Dim x
    With CreateObject("Scripting.Dictionary")
        .CompareMode = vbTextCompare
        For Each x In Split(txt, delim)
            If Trim(x) <> "" And Not .exists(Trim(x)) Then .Add Trim(x), Nothing
        Next
        If .Count > 0 Then RemoveDupeswords = Join(.keys, delim)
    End With
End Function

3. Затем закройте окно кода, вернитесь на лист и введите формулу =RemoveDupeswords(A2,", ") в пустую ячейку рядом с данными, после чего перетащите маркер заполнения на нужные ячейки. См. снимок экрана:

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

Снимок экрана с применяемой формулой в Excel для удаления повторяющихся слов из текстовой строки в ячейке

Совет: Эта функция не учитывает регистр — прописные и строчные буквы воспринимаются как одинаковые символы.


4,3 Обрезать текстовую строку до N слов

Если в ячейке содержится длинная текстовая строка, может понадобиться обрезать её до определённого количества слов — оставить только первые N слов, удалив всё остальное. В этом разделе представлены несколько эффективных приёмов, которые помогут вам легко справиться с этой задачей в Excel.

Сокращение текстовой строки до N слов с помощью формулы

Чтобы обрезать текстовую строку до N слов, воспользуйтесь формулой на основе функций LEFT, FIND и SUBSTITUTE. Общий синтаксис выглядит так:

=LEFT(text,FIND("~",SUBSTITUTE(text," ","~",N))-1)
  • «text»: текстовая строка или ссылка на ячейку, которую вы хотите обрезать;
  • «N» — количество слов, которые вы хотите оставить с левой стороны указанной текстовой строки.

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

=LEFT(A2,FIND("~",SUBSTITUTE(A2," ","~",B2))-1)

Затем перетащите маркер заполнения вниз, чтобы применить эту формулу к остальным ячейкам (см. снимок экрана):


Сокращение текстовой строки до N слов с помощью пользовательской функции

Помимо приведённой выше формулы, вы также можете создать собственную пользовательскую функцию (User Defined Function) для решения этой задачи. Для этого выполните следующие действия:

1. Удерживая клавиши «Alt + F11», откройте окно Microsoft Visual Basic for Applications.

2. Выберите «Insert» > «Module» и вставьте приведённый ниже код в окно модуля.

Код VBA: Обрезать текстовую строку до N слов

Function GetNWords(StrWords As String, Num_of_Words As Integer) As String
'Updateby Extendoffice
Dim xArr
Dim xRes As String
Dim xF As Integer
xStr = StrWords
If (Num_of_Words < 1) Then
    GetNWords = ""
    Exit Function
End If
xArr = Split(xStr, " ")
xRes = ""
On Error Resume Next
For xF = 0 To UBound(xArr)
    If Trim(xArr(xF)) <> "" Then
    Num_of_Words = Num_of_Words - 1
        If xRes = "" Then
            xRes = Trim(xArr(xF))
        Else
            xRes = xRes & " " & Trim(xArr(xF))
        End If
    End If
    If Num_of_Words = 0 Then Exit For
Next
If Num_of_Words = 0 Then
    GetNWords = xRes & "..."
Else
    GetNWords = xRes & "..."
End If
End Function

3. Закройте окно кода и вернитесь на лист. Введите формулу =GetNWords(A2,B2) в пустую ячейку, затем перетащите маркер заполнения вниз, чтобы применить её к другим ячейкам. Таким образом сохранятся только первые указанное количество слов, как показано на снимке экрана ниже:

Снимок экрана с результатом применения пользовательской функции для обрезки текстовой строки до определённого количества слов в Excel

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек