Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как удалить неанглийские символы в столбце Excel?

Author Sun Last modified

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

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

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

Удаление неанглийских символов из строк с использованием Kutools для Excel

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

Удаление неанглийских символов из текста ячеек с помощью VBA


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

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

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

Вот пошаговое руководство:

1. Откройте свою книгу Excel, активируйте рабочий лист, содержащий столбец, который вы хотите обработать, и нажмите Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications. Это позволит вам получить доступ к встроенной в Excel среде программирования VBA.

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

VBA: Удаление неанглийских символов

Sub RemoveNonEnglish()
'UpdatebyExtendoffice20171204
    Dim xRg As Range
    Dim xCell As Range
    Dim I As Long
    Dim J As Long
    Dim xRows As Long
    Dim xAsc As Long
    On Error Resume Next
    Set xRg = Application.InputBox("Select single column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    xRows = xRg.Rows.Count
    Set xRg = xRg(1)
    For I = 1 To xRows
        Set xCell = xRg.Offset(I - 1)
        If xCell.Value <> "" Then
            For J = 1 To Len(xCell.Value)
                xAsc = Asc(UCase(Mid(xCell.Value, J, 1)))
                If xAsc < 65 Or xAsc > 90 Then
                    xCell.EntireRow.Delete
                    I = I - 1
                    Exit For
                End If
            Next
        End If
    Next
    Application.ScreenUpdating = True
    MsgBox "Completed...", vbInformation
End Sub

A screenshot of the pasted code in the created module

3. Нажмите F5 или щелкните Выполнить кнопку для выполнения кода. Появится диалоговое окно, спрашивающее вас "Выберите один столбец". Используйте мышь, чтобы выбрать столбец, который вы хотите обработать на вашем листе, затем нажмите OK.
A screenshot showing selection of a column in the VBA script for removing non-English characters

4. Подтвердите свой выбор, нажав OK в последующих диалоговых окнах. Скрипт затем проверит каждую ячейку в выбранном столбце. Если он обнаружит любой символ, который не является прописной или строчной английской буквой (A-Z), он удалит всю строку, содержащую эту ячейку. После завершения вы увидите сообщение о том, что процесс завершен.
A screenshot of the confirmation dialog

A screenshot showing an Excel column with non-English characters Arrow right A screenshot showing an Excel column after non-English characters have been removed

Примечание: Этот скрипт VBA работает только для однократного выбора одного столбца. Рекомендуется сохранить вашу книгу перед запуском кода, так как удаленные строки нельзя восстановить после операции. Если ваши данные большие или содержат специальное форматирование, настоятельно рекомендуется создать резервную копию заранее.

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

Применимость: Этот подход лучше всего подходит, если вы хотите убедиться, что ваши данные включают только записи с чисто английскими буквами, и вам не нужно сохранять строки, содержащие какие-либо специальные или иностранные символы. Однако, если ваша цель состоит в том, чтобы сохранить данные, просто удалив неанглийские символы, но не удаляя целые строки, рассмотрите использование решения Kutools или других методов ниже.


Удаление неанглийских символов из строк с использованием Kutools для Excel

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

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

A screenshot of an Excel column containing non-English characters before cleanup Arrow right A screenshot of the Excel column after using Kutools to remove non-English characters
Kutools для Excel предлагает более 300 продвинутых функций для упрощения сложных задач, повышая креативность и эффективность. Интеграция с возможностями ИИ позволяет Kutools автоматизировать задачи с высокой точностью, делая управление данными без усилий. Подробная информация о Kutools для Excel...  Бесплатная пробная версия...

1. Выберите диапазон, содержащий текстовые строки, которые вы хотите очистить, затем перейдите к Kutools вкладке на ленте Excel, нажмите Текст, и выберите Удалить символы из выпадающего меню. См. скриншот ниже для справки:
A screenshot of Kutools Remove Characters option under Text menu in Excel

2. В Удалить символы диалоговом окне, которое появляется, отметьте опцию для Небуквенные (что нацелено на неалфавитные символы, включая цифры, пунктуацию и специальные или неанглийские символы). Предварительный просмотр обновляется автоматически, чтобы показать вам, как будет выглядеть текст после удаления неанглийских и специальных символов.
A screenshot of Remove Characters dialog showing options for removing non-English characters

3. После подтверждения, что предварительный просмотр соответствует вашим ожиданиям, нажмите OK. Все неанглийские символы (т.е., всё, что не является стандартной английской буквой) мгновенно удаляются из выбранного диапазона, в то время как остальные ваши данные остаются нетронутыми.
A screenshot of the Excel column after using Kutools to remove non-English characters

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас

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

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

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


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

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

1. Введите следующую формулу массива в первую ячейку вашего выходного столбца (например, B1, если ваши исходные данные находятся в столбце A):

=TEXTJOIN("",TRUE,IF((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=65)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=90)+(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>=97)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<=122),MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))

Эта формула проверяет каждый символ в ячейке A1, сохраняет его только если это прописная (A-Z) или строчная (a-z) английская буква, и объединяет результат в очищенную строку.

2. После ввода этой формулы нажмите Ctrl+Shift+Enter (для версий Excel раньше Office 365; в Office 365 и позднее вы можете просто нажать Enter). Скопируйте формулу для всех соответствующих строк, перетаскивая маркер заполнения или дважды щелкнув его в правом нижнем углу ячейки.

Объяснение параметров: Эта формула использует функции MID, CODE (которая возвращает ASCII код), INDIRECT и ROW для обработки каждого символа в целевой ячейке. Сохраняются только буквы a-z или A-Z.

Предостережения: Этот подход не изменяет исходные данные; выходные данные являются результатами формул в целевом столбце. Если вам нужны фиксированные, статические значения, скопируйте результаты и используйте Вставить значения, чтобы перезаписать формулы.

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


Удаление неанглийских символов из текста ячеек с помощью VBA

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

1. Откройте Excel, затем нажмите Alt + F11, чтобы запустить редактор Microsoft Visual Basic for Applications. Перейдите к Вставить > Модуль и вставьте следующий код в окно модуля:

Sub RemoveNonEnglishCharactersFromCells()
    ' Remove non-English characters, keep only a-z, A-Z
    Dim rng As Range
    Dim cell As Range
    Dim i As Long
    Dim ch As String
    Dim output As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range to clean (cells will be altered):", xTitleId, rng.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    Application.ScreenUpdating = False
    
    For Each cell In rng
        output = ""
        For i = 1 To Len(cell.Value)
            ch = Mid(cell.Value, i, 1)
            If (Asc(ch) >= 65 And Asc(ch) <= 90) Or (Asc(ch) >= 97 And Asc(ch) <= 122) Then
                output = output & ch
            End If
        Next i
        cell.Value = output
    Next cell
    
    Application.ScreenUpdating = True
    
    MsgBox "Cleanup complete.", vbInformation
End Sub

2. Вернитесь в Excel, выберите диапазон, который вы хотите очистить, вернитесь в редактор VBA и запустите код, нажав F5 или щелкнув кнопку Выполнить. При появлении запроса выберите диапазон для обработки и подтвердите.

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

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас

Демонстрация: Удаление неанглийских символов из строк с использованием Kutools для Excel

 
Kutools для Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать сейчас!

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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