Как удалить переносы строк (возвраты каретки) из ячеек в Excel 2013, 2010 и 2007

Эта инструкция познакомит Вас с тремя способами удалить возвраты каретки из ячеек в Excel. Вы также узнаете, как заменить символы переноса строки другими символами. Все предложенные решения работают в Excel 2013, 2010, 2007 и 2003.

Удаляем переносы строк в Excel

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

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

Все три представленных способа довольно быстры. Выбирайте тот, который Вам больше подходит:

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

Компьютеры и программное обеспечение для работы с текстами разрабатывались с учётом особенностей печатных машинок. Вот почему теперь для обозначения разрыва строки используют два различных непечатаемых символа: Возврат каретки (Carriage return, CR или ASCII код 13) и Перевод строки (Line feed, LF или ASCII код 10). В Windows используются оба символа вместе, а в системах *NIX применяется только перевод строки.

Будьте внимательны: В Excel встречаются оба варианта. При импорте из файлов .txt или .csv данные обычно содержат возвраты каретки и переводы строки. Когда перенос строки вводится вручную нажатием Alt+Enter, Excel вставляет только символ перевода строки. Если же файл .csv получен от поклонника Linux, Unix или другой подобной системы, то готовьтесь к встрече только с символом перевода строки.

Удаляем возвраты каретки вручную

Плюсы: Этот способ самый быстрый.

Минусы: Никаких дополнительных плюшек :(

Вот так можно удалить переносы строк при помощи инструмента «Найти и заменить»:

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

    Удаляем переносы строк в Excel

  2. Нажмите Ctrl+H, чтобы вызвать диалоговое окно Найти и заменить (Find and Replace).
  3. Поставьте курсор в поле Найти (Find what) и нажмите Ctrl+J. На первый взгляд поле покажется пустым, но если посмотрите внимательно, то увидите в нём маленькую точку.
  4. В поле Заменить на (Replace With) введите любое значение для вставки вместо возвратов каретки. Обычно для этого используют пробел, чтобы избежать случайного склеивания двух соседних слов. Если нужно просто удалить переносы строк, оставьте поле Заменить на (Replace With) пустым.

    Удаляем переносы строк в Excel

  5. Нажмите кнопку Заменить все (Replace All) и наслаждайтесь результатом!

    Удаляем переносы строк в Excel

Удаляем переносы строк при помощи формул Excel

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

В некоторых случаях переносы строк необходимо удалять, чтобы в дальнейшем использовать текст в качестве аргументов функций, не внося изменения в исходные ячейки. Результат можно использовать, например, как аргумент функции ПРОСМОТР (LOOKUP).

Минусы: Потребуется создать вспомогательный столбец и выполнить множество дополнительных шагов.

  1. Добавьте вспомогательный столбец в конце данных. В нашем примере он будет называться 1 line.
  2. В первой ячейке вспомогательного столбца (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)

    Удаляем переносы строк в Excel

  3. Скопируйте формулу во все ячейки столбца.
  4. По желанию, можете заменить исходный столбец новым, с удалёнными переносами строк:
    • Выделите все ячейки в столбце 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.

25.10.2015 22:15
11556

Комментарии

Нет комментариев. Ваш будет первым!