Как удалить непечатаемые символы excel

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции ПЕЧСИМВ в Microsoft Excel.

Описание

Удаляет все непечатаемые знаки из текста. Функция ПЕЧСИМВ используется в том случае, когда текст, импортированный из другого приложения, содержит знаки, печать которых не возможна в данной операционной системе. Например, можно использовать функцию ПЕЧСИМВ, чтобы удалить низкоуровневые компьютерные коды, которые часто встречаются в начале или в конце файлов данных и не могут быть напечатаны.

Важно: Функция ПЕЧСИМВ предназначена для удаления из текста первых 32 непечатаемых знаков в 7-разрядном коде ASCII (значения 0—31). В кодировке Юникод имеются дополнительные непечатаемые знаки (со значениями 127, 129, 141, 143, 144 и 157). Сама по себе функция ПЕЧСИМВ не позволяет удалить эти дополнительные непечатаемые знаки. Пример удаления этих дополнительных непечатаемых символов из текста см. в десяти лучших способах очистки данных.

Синтаксис

ПЕЧСИМВ(текст)

Аргументы функции ПЕЧСИМВ описаны ниже.

  • Текст    — обязательный аргумент. Любые данные на листе, из которых нужно удалить непечатаемые знаки.

Пример

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

Данные

=СИМВОЛ(9)&»Помесячный отчет»&СИМВОЛ(10)

Формула

Описание

Результат

=ПЕЧСИМВ(A2)

Удаляет непечатаемые знаки СИМВОЛ(9) и СИМВОЛ(10) из строки текста в ячейке А2.

Помесячный отчет

Нужна дополнительная помощь?

Зачистка текста

Зачастую текст, который достается нам для работы в ячейках листа Microsoft Excel далек от совершенства. Если он был введен другими пользователями (или выгружен из какой-нибудь корпоративной БД или ERP-системы) не совсем корректно, то он легко может содержать:

  • лишние пробелы перед, после или между словами (для красоты!)
  • ненужные символы («г.» перед названием города)
  • невидимые непечатаемые символы (неразрывный пробел, оставшийся после копирования из Word или «кривой» выгрузки из 1С, переносы строк, табуляция)
  • апострофы (текстовый префикс – спецсимвол, задающий текстовый формат у ячейки)

Давайте рассмотрим способы избавления от такого «мусора».

Замена

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

Изначально это окно было задумано для оптовой замены одного текста на другой по принципу «найди Маша – замени на Петя», но мы его, в данном случае, можем использовать его и для удаления лишнего текста. Например, в первую строку вводим «г.» (без кавычек!), а во вторую не вводим ничего и жмем кнопку Заменить все (Replace All). Excel удалит все символы «г.» перед названиями городов:

clean-text1.png

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

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

Если из текста нужно удалить вообще все пробелы (например они стоят как тысячные разделители внутри больших чисел), то можно использовать ту же замену: нажать Ctrl+H, в первую строку ввести пробел, во вторую ничего не вводить и нажать кнопку Заменить все (Replace All).

Однако, часто возникает ситуация, когда удалить надо не все подряд пробелы, а только лишние – иначе все слова слипнутся друг с другом. В арсенале Excel есть специальная функция для этого – СЖПРОБЕЛЫ (TRIM) из категории Текстовые. Она удаляет из текста все пробелы, кроме одиночных пробелов между словами, т.е. мы получим на выходе как раз то, что нужно:

clean-text2.png

Удаление непечатаемых символов

В некоторых случаях, однако, функция СЖПРОБЕЛЫ (TRIM) может не помочь. Иногда то, что выглядит как пробел – на самом деле пробелом не является, а представляет собой невидимый спецсимвол (неразрывный пробел, перенос строки, табуляцию и т.д.). У таких символов внутренний символьный код отличается от кода пробела (32), поэтому функция СЖПРОБЕЛЫ не может их «зачистить».

Вариантов решения два:

  • Аккуратно выделить мышью эти спецсимволы в тексте, скопировать их (Ctrl+C) и вставить (Ctrl+V) в первую строку в окне замены (Ctrl+H). Затем нажать кнопку Заменить все (Replace All) для удаления.
  • Использовать функцию ПЕЧСИМВ (CLEAN). Эта функция работает аналогично функции СЖПРОБЕЛЫ, но удаляет из текста не пробелы, а непечатаемые знаки. К сожалению, она тоже способна справится не со всеми спецсимволами, но большинство из них с ее помощью можно убрать.

Функция ПОДСТАВИТЬ

Замену одних символов на другие можно реализовать и с помощью формул. Для этого в категории Текстовые в Excel есть функция ПОДСТАВИТЬ (SUBSTITUTE). У нее три обязательных аргумента:

  • Текст в котором производим замену
  • Старый текст – тот, который заменяем
  • Новый текст – тот, на который заменяем

С ее помощью можно легко избавиться от ошибок (замена «а» на «о»), лишних пробелов (замена их на пустую строку «»), убрать из чисел лишние разделители (не забудьте умножить потом результат на 1, чтобы текст стал числом):

clean-text3.png

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

Апостроф (‘) в начале ячейки на листе Microsoft Excel – это специальный символ, официально называемый текстовым префиксом. Он нужен для того, чтобы дать понять Excel, что все последующее содержимое ячейки нужно воспринимать как текст, а не как число. По сути, он служит удобной альтернативой предварительной установке текстового формата для ячейки (Главная – Число – Текстовый) и для ввода длинных последовательностей цифр (номеров банковских счетов, кредитных карт, инвентарных номеров и т.д.) он просто незаменим. Но иногда он оказывается в ячейках против нашей воли (после выгрузок из корпоративных баз данных, например) и начинает мешать расчетам. Чтобы его удалить, придется использовать небольшой макрос. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

	 
Sub Apostrophe_Remove() 
   For Each cell In Selection 
      If Not cell.HasFormula Then 
         v = cell.Value 
         cell.Clear 
         cell.Formula = v 
      End If 
    Next 
End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то апострофы перед содержимым выделенных ячеек исчезнут.

Английские буквы вместо русских

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

Можно, конечно, вручную заменять символы латинцы на соответствующую им кириллицу, но гораздо быстрее будет сделать это с помощью макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert — Module) и введите туда его текст:

	 
Sub Replace_Latin_to_Russian() 
  Rus = "асекорхуАСЕНКМОРТХ" 
  Eng = "acekopxyACEHKMOPTX" 
  For Each cell In Selection 
    For i = 1 To Len(cell) 
      c1 = Mid(cell, i, 1) 
      If c1 Like "[" & Eng & "]" Then 
         c2 = Mid(Rus, InStr(1, Eng, c1), 1) 
         cell.Value = Replace(cell, c1, c2) 
      End If 
    Next i 
  Next cell 
End Sub

Теперь, если выделить на листе диапазон и запустить наш макрос (Alt+F8 или вкладка Разработчик – кнопка Макросы), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу :)

Ссылки по теме

  • Поиск символов латиницы в русском тексте
  • Проверка текста на соответствие заданному шаблону (маске)
  • Деление «слипшегося» текста из одного столбца на несколько

На чтение 5 мин Опубликовано 20.01.2021

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

Содержание

  1. Как деинсталлировать лишние символы
  2. Способ 1. Использование формулы
  3. Способ 2. Удаление непечатаемых символов вручную
  4. Способ 3. Использование специального макроса
  5. Способ 4. Повторное заполнение ячеек
  6. Заключение

Как деинсталлировать лишние символы

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

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

Самый простой и понятный метод деинсталляции непечатаемых знаков в ячейках Excel. Для его реализации достаточно соблюсти простой алгоритм действий:

  1. Проанализировать исходный табличный массив, в котором присутствуют «непонятные» символы.
  2. Создать дополнительный столбец, в котором будет прописываться очищенный от непечатаемых символов текст.
  3. Поставить курсор мышки в строчку второго столбца напротив соответствующей строки из первого столбика.
  4. В выделенном элементе прописать вручную с клавиатуры формулу «ПЕЧСИМВ()». Это стандартная функция программы MS Excel, предназначенная для деинсталляции лишних знаков из таблиц, которые нельзя напечатать. В данном примере формула будет записываться следующим образом: «=СЖПРОБЕЛЫ(ПЕЧСИМВ(А2))».

kak-udalit-vse-nepechataemye-simvoly-iz-teksta-strok-v-excel

Применение формулы «ПЕЧСИМВ()» для очищения табличного массива в Excel от непечатаемых символов
  1. Когда выражение будет полностью записано, пользователю останется нажать на «Enter» для подтверждения.
  2. Если похожая ситуация наблюдается по всей табличке, то написанную формулу можно продлить на оставшиеся строчки массива, чтобы не записывать ее для каждого элемента в отдельности, тем самым сэкономив собственное время.

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

Способ 2. Удаление непечатаемых символов вручную

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

  1. Левой кнопкой компьютерного манипулятора выделить ячейку, в которой присутствуют непечатаемые символы.
  2. Переместить курсор мышки в строку для ввода формул, находящуюся под блоком инструментов Microsoft Office Excel.
  3. Поставить курсор после «проблемного» знака и попытаться его удалить нажатием на клавишу «Backspace» c клавиатуры ПК.
  4. Проверить результат. Возможно, значок удастся удалить, если нет, то стоит воспользоваться первым способом решения проблемы.
  5. Проделать подобную операцию со всеми подобными элементами табличного массива.

Рассмотренный выше метод удаления непечатаемых символов отнимет у пользователя много времени на реализацию.

Важно! Функция «ПЕЧСИМВ()» обычно является аргументом другой функции «СЖПРОБЕЛ()», т.е. два этих оператора используются одновременно, удаляя и лишние пробелы, и непечатаемые знаки из исходного текста.

kak-udalit-vse-nepechataemye-simvoly-iz-teksta-strok-v-excel

Список стандартных функций Microsoft Office Excel. Присутствует во всех версиях программного обеспечения

Способ 3. Использование специального макроса

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

  1. Зайти в редактор Visual Basic. Для этого необходимо, находясь на рабочем листе Эксель, одновременно с клавиатуры зажать кнопки «Alt+F11». Есть и другие способы запуска редактора, однако они более долгие по выполнению.

kak-udalit-vse-nepechataemye-simvoly-iz-teksta-strok-v-excel

Внешний вид, интерфейс встроенного в Excel редактора Visual Basic
  1. В верхней колонке инструментов нажать ЛКМ по слову «Insert».
  2. В развернувшемся контекстном меню нужно кликнуть по строке «Module».
  3. После выполнения предыдущих действий откроется рабочее поле для ввода кода. Сверху открывшегося окна будет прописано текущее название документа Microsoft Office Excel, которое задал для него пользователь ПК.
  4. Ввести с клавиатуры код, показанный на изображении ниже.

kak-udalit-vse-nepechataemye-simvoly-iz-teksta-strok-v-excel

Макрос, с помощью которого в Excel можно деинсталлировать лишние символы из табличных ячеек
  1. После введения кода понадобится нажать на «Enter» для его запуска.
  2. Сохранить программу в своей книге макросов при необходимости, закрыть меню Visual Basic и проверить результат. Если все вышеуказанные действия были сделаны правильно, то в исходном табличном массиве строки с непечатаемыми символами автоматически удалятся.

kak-udalit-vse-nepechataemye-simvoly-iz-teksta-strok-v-excel

Сохранение макроса в Microsoft Office Excel. Код любой программы можно быстро добавить или удалить из книги макросов

Дополнительная информация! Для экономии времени рассмотренный выше код программы можно найти в интернете и вставить в окно редактора Visual Basic сочетанием клавиш «Ctrl+V».

Способ 4. Повторное заполнение ячеек

Этот метод актуален, если в одном элементе табличного массива присутствуют непечатаемые символы. Тогда их можно удалить и написать заново, затратив минимальное количество времени на выполнение поставленной задачи. Возможно, при повторном заполнении ячейки проблема устранится, и исходная табличка примет «нормальный» вид. Для полной деинсталляции содержимого ячейки ее достаточно выделить и нажать на кнопку «Backspace» либо «Delete» с клавиатуры компьютера.

Заключение

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

Оцените качество статьи. Нам важно ваше мнение:

In this post, we will show you how to remove non-printable characters in Excel. The first 32 characters in the ASCII character table (a standard data-encoding format for communication between computers) are non-printable characters. These characters aren’t displayed (or printed) but tell the application how to format the data. Backspace (ASCII Code 08), Carriage Return (ASCII Code 13), Horizontal Tab (ASCII Code 09), and Line Feed (ASCII Code 10) are some examples of non-printable characters.

How to remove non-printable characters in Excel

When you import or paste data from an external source into Microsoft Excel, you may end up having some non-printable characters in your worksheet. Excel represents such characters as boxes. In this post, we will show you how you may identify and clean these characters from your Excel data.

We will discuss the following two methods to remove non-printable characters in Excel:

  • Use the SUBSTITUTE() function to remove non-printable characters
  • Use the CLEAN() function to remove non-printable characters

Let us have a detailed look at both of these methods

Use the SUBSTITUTE() function to remove non-printable characters in Excel

Using the SUBSTITUTE() function to remove non-printable characters

Excel offers a CODE() function which returns the ASCII code for a given character. This is basically the reverse of the CHAR() function which is used to translate a numerical code into a character. Once you identify the non-printable character using the CODE() and the CHAR() functions, you may use the SUBSTITUTE() function to substitute (or replace) the character with an empty string.

The syntax of the CODE() function is:

CODE(text)

  • Where text is the text string for which the ASCII character code (for the first character) is required.

The syntax of the CHAR() function is:

CHAR(number)

    • Where number is a numeric value between 1-255 (Extended ASCII character codes).

And, the syntax of the SUBSTITUTE() function is:

SUBSTITUTE(text, old_text, new_text, [instance_num])

Where,

  • text refers to the text string in which a substring needs to be replaced.
  • old_text refers to the substring that needs to be replaced with new_text.
  • new_text refers to the substring to replace old_text with.
  • [instance_num] refers to the instance of old_text which needs to be replaced with new_text. If this argument is not specified, each occurrence of the old_text is replaced with new_text.

Now suppose we have a worksheet wherein we have an example string in cell A1, as shown in the above image. The string contains a non-printable character on the extreme right. To remove this character from the string, we may use the above functions in the following way:

Place the cursor in cell B1. Type the following formula in the formula bar on top:

=CODE(RIGHT(A1))

Note: Since the character appears on the right of the original text string, we have used the RIGHT() function to get the last character from the string and then find its ASCII value using the CODE() function.

Finding the ASCII code of non-printable character

When you press the Enter key, the above function will return 11, which is the ASCII code for Vertical Tab taken in this example.

Now place your cursor in cell A2 and enter the following formula:

=SUBSTITUTE(A1,CHAR(11),"")

As a result of the function, the non-printable character will be removed from the original string.

Read: 10 Text functions in Excel with examples.

Use the CLEAN() function to remove non-printable characters in Excel

Using the CLEAN() function to remove non-printable characters

The CLEAN() function in Excel removes all non-printable characters from a given text string. It is the easiest and the most direct way of removing non-printable characters in Excel.

The syntax of the CLEAN() function is:

CLEAN(text)

  • Where text represents the text string from which the non-printable characters need to be removed.

For the above example, we may use the CLEAN() function to remove non-printable characters in the following way:

=CLEAN(A1)

Simple? But, the reason, why we are covering it later, is that it only removes characters that have character codes ranging between 0-31 in the ASCII character table. So it will not remove non-breaking spaces ( ) that may sneak in when you copy/paste data from some external source.

A non-breaking space is a space that can’t be broken by the ‘word wrap’ feature in word processors and other application software. If you want to remove all non-printable characters as well as the non-breaking spaces from a text string, you need to use the CLEAN() function, the SUBSTITUTE() function, and the TRIM() function together.

Removing non-printable characters and non-breaking spaces in Excel

TRIM() function can be used to trim spaces from both ends of a given string. It is used to fix irregular spacing in Excel.

The syntax of the TRIM() function is:

TRIM(text)

  • Where text refers to the text string from which the leading and trailing spaces need to be removed.

160 is the ASCII code for non-breaking space. Use the CHAR() function to get the character value for non-breaking space. Then use the SUBSTITUTE() function to replace the non-breaking space with normal space. And then use the TRIM() function to remove all spaces from both ends of the original text string.

For the above example, we may use the following formula to remove non-printable characters and non-breaking spaces from the original string:

=TRIM(SUBSTITUTE(A3,CHAR(160)," "))

I hope you find the above post helpful.

Read Next: Excel Toolbar not working.

Skip to content

На чтение 3 мин. Просмотров 5k.

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

Содержание

  1. Как макрос работает
  2. Код макроса
  3. Как этот код работает
  4. Как использовать

Как макрос работает

Этот макрос является относительно простым, поиск и замена обычное дело. Мы используем метод Replace, говоря Excel найти и заменить. Это похоже на синтаксис ручного выполнения поиска и замены.
Разница заключается в том, что кодирование текста использует коды символов, чтобы указать наш текст для поиска. Каждый символ имеет исходный код ASCII, похожий на серийный номер. Например, строчная буква А имеет ASCII-код 97, строчной букве С соответствует ASCII-код 99.
Аналогичным образом, невидимые символы также имеют код:
Код символа перевода строки — 10.
Код возврата каретки — 13.
Код неразрывного пробела — 160.
Этот макрос использует метод Replace, передавая код ASCII каждого символа в качестве поискового элемента. Затем каждый код символа заменяется пустой строкой:

Код макроса

Sub UdalitNepechataemieSimvoli()
'Шаг 1: Удалить перевод строки
ActiveSheet.UsedRange.Replace What:=Chr(10), Replacement:=""
'‘Шаг 2: Удалить возврат каретки
ActiveSheet.UsedRange.Replace What:=Chr(13), Replacement:=""
'Шаг 3: Удалить неразрывный пробел
ActiveSheet.UsedRange.Replace What:=Chr(160), Replacement:=""
End Sub

Как этот код работает

  1. Шаг 1 ищет и удаляет символы перевода строки. Код этого символа равен 10. Мы можем определить код символа 10, передавая идентификатор с помощью функции Chr. После того, как Chr (10) определяется как поисковый элемент, то макрос передает пустую строку к замене аргумента.
    Обратите внимание на использование ActiveSheet.UsedRange. Excel ищет во всех ячейках, которые имели данные, введенные в них. Вы можете заменить объект UsedRange с реальным диапазоном, если это необходимо.
  2. Шаг 2 находит и удаляет символ возврата каретки.
  3. Шаг 3 находит и удаляет неразрывные пробелы.

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

Как использовать

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

  1. Активируйте редактор Visual Basic, нажав ALT + F11.
  2. Щелкните правой кнопкой мыши имя проекта / рабочей книги в окне проекта.
  3. Выберите Insert➜Module.
  4. Введите или вставьте код.

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как удалить ненужный столбец в таблице excel
  • Как удалить ненужный лист в word документе
  • Как удалить ненужный документ word
  • Как удалить ненужные ячейки в таблице excel
  • Как удалить ненужные файлы в word

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии