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

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

  1. В ячейке, содержащей одно из маленьких прямоугольников, выделите поле и нажмите Ctrl + C. Это копирует символ в буфер обмена.

  2. Нажмите Ctrl + H. Excel отображает вкладку «Заменить» диалогового окна «Найти и заменить». (См. Рис. 1.)

  3. Установите курсор в поле «Найти» и нажмите Ctrl + V. Это вставит содержимое буфера обмена (нарушающий символ) в поле «Найти». Скорее всего, персонаж будет не похож на маленькую рамку, которую вы выбрали и скопировали на шаге 1.

  4. Если на шаге 3 ничего не было вставлено, закройте диалоговое окно и повторите шаги еще раз. Если ничего не вставлено, вы не сможете использовать «Найти и заменить», чтобы избавиться от непечатаемых символов, и вы можете пропустить остальные шаги.

  5. Если вы хотите просто удалить символы, убедитесь, что в поле «Заменить на» ничего нет. Если вы хотите заменить символы пробелами, поставьте один пробел в поле «Заменить на».

  6. Нажмите «Заменить все».

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

Одна вещь, которую следует попробовать, — это использовать Word в ваших операциях по «очистке». Скопируйте данные из Excel в документ Word (вставьте как обычный текст), а затем замените недопустимые символы. Затем вы можете вставить данные обратно в Excel. Некоторые люди сообщают, что они получают именно те результаты, которые хотят, используя этот подход к работе с данными туда и обратно.

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

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

Function ReplaceClean(sText As String, Optional sSubText As String = " ")

Dim J As Integer     Dim vAddText

vAddText = Array(Chr(129), Chr(141), Chr(143), Chr(144), Chr(157))

For J = 1 To 31         sText = Replace(sText, Chr(J), sSubText)

Next     For J = 0 To UBound(vAddText)

sText = Replace(sText, vAddText(J), sSubText)

Next     ReplaceClean = sText End Function

Вы используете эту функцию в своем рабочем листе следующим образом:

=ReplaceClean(B14)

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

=ReplaceClean(A1,"-")

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

=ReplaceClean(A1,"")

_Примечание: _

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

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (6126) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для более старого интерфейса меню Excel здесь:

link: / excel-Getting_Rid_of_Non-Printing_Characters_Intelligently [Интеллектуальное избавление от непечатаемых символов].