Эта инструкция познакомит Вас с тремя способами удалить возвраты каретки из ячеек в Excel. Вы также узнаете, как заменить символы переноса строки другими символами. Все предложенные решения работают в Excel 2013, 2010, 2007 и 2003.
Переносы строк могут появиться в тексте по разным причинам. Обычно возвраты каретки встречаются в рабочей книге, например, когда текст скопирован с веб-страницы, когда они уже есть в рабочей книге, полученной от клиента, или, когда мы сами добавляем их нажатием клавиш Alt+Enter.
Какой бы ни была причина их появления, сейчас перед нами стоит задача удалить возвраты каретки, так как они мешают выполнять поиск фраз и приводят к беспорядку в столбце при включении режима переноса текста.
Все три представленных способа довольно быстры. Выбирайте тот, который Вам больше подходит:
Замечание: Первоначально термины «Возврат каретки» и «Перевод строки» использовались при работе на печатных машинках и обозначали две различных операции. Любознательный читатель может самостоятельно найти подробную информацию об этом в интернете.
Компьютеры и программное обеспечение для работы с текстами разрабатывались с учётом особенностей печатных машинок. Вот почему теперь для обозначения разрыва строки используют два различных непечатаемых символа: Возврат каретки (Carriage return, CR или ASCII код 13) и Перевод строки (Line feed, LF или ASCII код 10). В Windows используются оба символа вместе, а в системах *NIX применяется только перевод строки.
Будьте внимательны: В Excel встречаются оба варианта. При импорте из файлов .txt или .csv данные обычно содержат возвраты каретки и переводы строки. Когда перенос строки вводится вручную нажатием Alt+Enter, Excel вставляет только символ перевода строки. Если же файл .csv получен от поклонника Linux, Unix или другой подобной системы, то готовьтесь к встрече только с символом перевода строки.
Удаляем возвраты каретки вручную
Плюсы: Этот способ самый быстрый.
Минусы: Никаких дополнительных плюшек 🙁
Вот так можно удалить переносы строк при помощи инструмента «Найти и заменить»:
- Выделите все ячейки, в которых требуется удалить возвраты каретки или заменить их другим символом.
- Нажмите Ctrl+H, чтобы вызвать диалоговое окно Найти и заменить (Find and Replace).
- Поставьте курсор в поле Найти (Find what) и нажмите Ctrl+J. На первый взгляд поле покажется пустым, но если посмотрите внимательно, то увидите в нём маленькую точку.
- В поле Заменить на (Replace With) введите любое значение для вставки вместо возвратов каретки. Обычно для этого используют пробел, чтобы избежать случайного склеивания двух соседних слов. Если нужно просто удалить переносы строк, оставьте поле Заменить на (Replace With) пустым.
- Нажмите кнопку Заменить все (Replace All) и наслаждайтесь результатом!
Удаляем переносы строк при помощи формул Excel
Плюсы: Доступно использование последовательных или вложенных формул для сложной проверки текста в обрабатываемой ячейке. Например, можно удалить возвраты каретки, а затем найти лишние начальные или конечные пробелы, или лишние пробелы между словами.
В некоторых случаях переносы строк необходимо удалять, чтобы в дальнейшем использовать текст в качестве аргументов функций, не внося изменения в исходные ячейки. Результат можно использовать, например, как аргумент функции ПРОСМОТР (LOOKUP).
Минусы: Потребуется создать вспомогательный столбец и выполнить множество дополнительных шагов.
- Добавьте вспомогательный столбец в конце данных. В нашем примере он будет называться 1 line.
- В первой ячейке вспомогательного столбца (C2) введите формулу для удаления/замены переносов строк. Ниже приведены несколько полезных формул для различных случаев:
- Эта формула подходит для использования с комбинациями возврат каретки / перенос строки, характерными для Windows и для UNIX.
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);"");СИМВОЛ(10);"")
=SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),""),CHAR(10),"")
- Следующая формула подходит для замены переноса строки любым другим символом (например, «, » – запятая + пробел). В таком случае строки не будут объединены и лишние пробелы не появятся.
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;СИМВОЛ(13);"");СИМВОЛ(10);", ")
=TRIM(SUBSTITUTE(SUBSTITUTE(B2,CHAR(13),""),CHAR(10),", ")
- А вот так можно удалить все непечатаемые символы из текста, включая переносы строк:
=ПЕЧСИМВ(B2)
=CLEAN(B2)
- Эта формула подходит для использования с комбинациями возврат каретки / перенос строки, характерными для Windows и для UNIX.
- Скопируйте формулу во все ячейки столбца.
- По желанию, можете заменить исходный столбец новым, с удалёнными переносами строк:
- Выделите все ячейки в столбце C и нажатием Ctrl+C скопируйте данные в буфер обмена.
- Далее выделите ячейку B2, нажмите сочетание клавиш Shift+F10 и выберите Вставить (Insert).
- Удалите вспомогательный столбец.
Удаляем переносы строк при помощи макроса VBA
Плюсы: Создаём один раз – используем снова и снова с любой рабочей книгой.
Минусы: Требуется хотя бы базовое знание VBA.
Макрос VBA из следующего примера удаляет возвраты каретки из всех ячеек на активном листе.
Sub RemoveCarriageReturns() Dim MyRange As Range Application.ScreenUpdating = False Application.Calculation = xlCalculationManual For Each MyRange In ActiveSheet.UsedRange If 0 < InStr(MyRange, Chr(10)) Then MyRange = Replace(MyRange, Chr(10), "") End If Next Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub
Если Вы не слишком близко знакомы с VBA, рекомендую изучить статью о том, как вставить и выполнить код VBA в Excel.
Урок подготовлен для Вас командой сайта office-guru.ru
Источник: https://www.ablebits.com/office-addins-blog/2013/12/03/remove-carriage-returns-excel/
Перевел: Антон Андронов
Правила перепечатки
Еще больше уроков по Microsoft Excel