Как удалить переносы строк (возвраты каретки) из ячеек в EXCEL
Переносы строк могут появиться в тексте по разным причинам. Обычно возвраты каретки встречаются в рабочей книге, например, когда текст скопирован с веб-страницы, когда они уже есть в рабочей книге, полученной от клиента, или, когда мы сами добавляем их нажатием клавиш Alt+Enter .
Какой бы ни была причина их появления, сейчас перед нами стоит задача удалить возвраты каретки, так как они мешают выполнять правильную выгрузку данных в формат CSV.
При выгрузке одна строка превращается в несколько, что не позволит корректно загрузить данные на сайт.
УДАЛЯЕМ ВОЗВРАТЫ КАРЕТКИ
- Нажмите Ctrl+А, что бы выделить всю книгу или выделите нужные вам ячейки или столбцы.
- Нажмите Ctrl+H, что бы вызвать диалоговое окно Найти и заменить (Find and Replace).
- Поставьте курсор в поле Найти (Find what) и нажмите Ctrl+J.
На первый взгляд поле покажется пустым, но если посмотрите внимательно, то увидите в нём маленькую точку.
НЕ ЗАБУДЬТЕ ПРОВЕРИТЬ ФАЙЛ И НА ДРУГИЕ СПЕЦ. СИМВОЛЫ:
- удалите все символы ;
- замените двойные пробелы на одинарные (несколько раз)
Удаление разрывов строк в MS Excel
Для удаления разрывов строк в MS Excel вы можете выполнить следующие простые действия:
- Ctrl+H открывает диалоговое окно Найти & Заменить.
- В поле «Найти», вводим код перехода на новую строку. Для этого нажимаем Alt и не отпуская набираем 010 на цифровых клавишах клавиатуры.
- Для замены выбираем » » (пробел).
- Нажмите «Заменить Все».
Популярные текстовые сервисы
- Удалить разрывы строк в Delphi
- Удалить разрывы строк в C#
- Удалить разрывы строк в C++
- Удалить разрывы строк в SQL
- Удалить разрывы строк в Javascript
- Удалить разрывы строк в PHP
- Удалить разрывы строк в Python
- Remove Line Breaks in MS Word
- Remove Line Breaks in MS Excel
- What is a newline?
- What is a carriage return?
© 2010-2023 Довжик Михаил
Удаление разрывов строк в MS Excel — узнайте, как удалить разрывы строк в текстовой переменной средствами MS Excel.
Перенос текста в ячейке
Microsoft Excel обеспечивает перенос текста в ячейке для его отображения на нескольких строках. Ячейку можно настроить для автоматического переноса текста или ввести разрыв строки вручную.
Автоматический перенос текста
- Выделите на листе ячейки, которые требуется отформатировать.
- На вкладке Главная в группе Выравнивание выберите пункт Переносить текст. (В Excel для рабочего стола можно также выбрать ячейку и нажать ALT+H+W.)
- Данные в ячейке будут переноситься в соответствии с шириной столбца, поэтому при ее изменении перенос текста будет настраиваться автоматически.
- Если текст с переносами отображается не полностью, возможно, задана точная высота строки или текст находится в объединенных ячейках.
Настройка высоты строки для отображения всего текста
- Выделите ячейки, для которых требуется выровнять высоту строк.
- На вкладке Главная в группе Ячейки нажмите кнопку Формат.
- В группе Размер ячейки выполните одно из следующих действий:
- Чтобы автоматически выравнивать высоту строк, выберите команду Автоподбор высоты строки.
- Чтобы задать высоту строк, выберите команду Высота строки и введите нужное значение в поле Высота строки.
Совет: Кроме того, можно перетащить нижнюю границу строки в соответствии с высотой текста в строке.
Ввод разрыва строки
Новую строку текста можно начать в любом месте ячейки.
-
Дважды щелкните ячейку, в которую требуется ввести разрыв строки.
Совет: Можно также выбрать ячейку и нажать F2.
Дополнительные сведения
Вы всегда можете задать вопрос эксперту в Excel Tech Community или получить поддержку в сообществах.
Тонкости работы с переносами строк в Excel
Переносы строк внутри одной ячейки, добавляемые с помощью сочетания клавиш Alt + Enter — дело весьма частое и привычное. Иногда их делают сами пользователи, чтобы добавить красоты длинному тексту. Иногда такие переносы добавляются автоматически при выгрузке данных из каких-либо рабочих программ (привет 1С, SAP и т.д.) Проблема в том, что на такие таблицы приходится потом не просто любоваться, а с ними работать — и вот тогда эти невидимые символы переноса могут стать проблемой. А могут и не стать — если уметь правильно с ними обращаться. Давайте-ка мы разберёмся в этом вопросе поподробнее.
Удаление переносов строк заменой
Если нам нужно избавиться от переносов, то первое, что обычно приходит в голову — это классическая техника «найти и заменить». Выделяем текст и затем вызываем окно замены сочетанием клавиш Ctrl + H или через Главная — Найти и выделить — Заменить (Home — Find&Select — Replace) . Одна неувязочка — не очень понятно, как ввести в верхнее поле Найти (Find what) наш невидимый символ переноса строки. Alt + Enter тут, к сожалению, уже не работает, скопировать этот символ непосредственно из ячейки и вставить его сюда тоже не получается.
Поможет сочетание Ctrl + J — именно оно является альтернативой Alt + Enter в диалоговых окнах или полях ввода Excel:
Обратите внимание, что после того, как вы поставите мигающий курсор в верхнее поле и нажмёте Ctrl + J — в самом поле ничего не появится. Не пугайтесь — это нормально, символ-то невидимый 🙂
В нижнее поле Заменить (Replace with) либо ничего не вводим, либо вводим пробел (если хотим не просто удалить переносы, а заменить их на пробел, чтобы строки не склеились в единое целое). Останется нажать на кнопку Заменить всё (Replace All) и наши переносы исчезнут: Нюанс: после выполнения замены введённый с помощью Ctrl + J невидимый символ остаётся в поле Найти и может помешать в дальнейшем — не забудьте его удалить, установив курсор в это поле и несколько раз (для надёжности) нажав на клавиши Delete и Backspace .
Удаление переносов строк формулой
Если нужно решить задачу именно формулами, то можно использовать встроенную функцию ПЕЧСИМВ (CLEAN) , которая умеет очищать текст от всех непечатаемых символов, включая и наши злополучные переносы строк:
Такой вариант, однако, не всегда бывает удобен, т.к. строки после этой операции могут склеиваться между собой. Чтобы этого не происходило, нужно не просто удалять символ переноса, а заменять его на пробел (см. следующий пункт).
Замена переносов строк формулой
А если хочется не просто удалить, а именно заменить Alt + Enter на, например, пробел, то потребуется уже другая, чуть более сложная конструкция:
Чтобы задать невидимый символ переноса мы используем функцию СИМВОЛ (CHAR) , которая выводит символ по его коду (10). А потом функция ПОДСТАВИТЬ (SUBSTITUTE) ищет в исходных данных наши переносы и заменяет их на любой другой текст, например, на пробел.
Деление на столбцы по переносу строки
Знакомый многим и очень удобный инструмент Текст по столбцам с вкладки Данные (Data — Text to Columns) тоже может замечательно работать с переносами строк и разделить текст из одной ячейки на несколько, разбив его по Alt + Enter . Для этого на втором шаге мастера нужно выбрать вариант пользовательского символа-разделителя Другой (Custom) и использовать уже знакомое нам сочетание клавиш Ctrl + J как альтернативу Alt + Enter : Если в ваших данных может встречаться несколько переносов строк подряд, то можно их «схлопнуть», включив флажок Считать последовательные разделители одним (Treat consecutive delimiters as one) .
После нажатия на Далее (Next) и прохождения всех трёх шагов мастера мы получим желаемый результат:
Обратите внимание, что до выполнения этой операции необходимо вставить справа от разделяемого столбца достаточное количество пустых колонок, чтобы образовавшийся текст не затёр те значения (цены), которые были справа.
Деление на строки по Alt+Enter через Power Query
Ещё одной любопытной задачей является деление многострочного текста из каждой ячейки не на столбцы, а на строки:
Вручную такое делать долго, формулами — сложно, макросом — не каждый напишет. А на практике подобная задача встречается чаще, чем хотелось бы. Самым простым и лёгким решением будет использовать для этой задачи возможности надстройки Power Query, которая встроена в Excel начиная с 2016 года, а для более ранних версий 2010-2013 её можно совершенно бесплатно скачать с сайта Microsoft. Чтобы загрузить исходные данные в Power Query их нужно сначала преобразовать в «умную таблицу» сочетанием клавиш Ctrl + T или кнопкой Форматировать как таблицу на вкладке Главная (Home — Format as Table) . Если по каким-то причинам вы не хотите или не можете использовать «умные таблицы», то можно работать и с «глупыми». В этом случае просто выделите исходный диапазон и дайте ему имя на вкладке Формулы — Диспетчер имен — Создать (Formulas — Name Manager — New) . После этого на вкладке Данные (если у вас Excel 2016 или новее) или на вкладке Power Query (если у вас Excel 2010-2013) можно жать на кнопку Из таблицы / диапазона (From Table/Range) , чтобы загрузить нашу таблицу в редактор Power Query:
После загрузки выделим столбец с многострочным текстом в ячейках и выберем на Главной вкладке команду Разделить столбец — По разделителю (Home — Split Column — By delimiter) :
Скорее всего, Power Query автоматически распознает принцип деления и сам подставит условное обозначение #(lf) невидимого символа переноса строки (lf = line feed = перенос строки) в поле ввода разделителя. Если нужно, то другие символы можно выбрать из выпадающего списка в нижней части окна, если включить предварительно галочку Разделить с помощью специальных символов (Split by special characters) . Чтобы всё разделилось на строки, а не не столбцы — не забудьте переключить селектор Строки (By rows) в группе расширенных параметров. Останется только нажать на ОК и получить желаемое:
Готовую таблицу можно выгрузить обратно на лист с помощью команды Закрыть и загрузить — Закрыть и загрузить в. на вкладке Главная (Home — Close&Load — Close&Load to. ) . Важно отметить, что при использовании Power Query необходимо помнить о том, что при изменении исходных данных результаты автоматически не обновляются, т.к. это не формулы. Для обновления нужно обязательно щёлкнуть правой кнопкой мыши по итоговой таблице на листе и выбрать команду Обновить (Refresh) или нажать кнопку Обновить всё на вкладке Данные (Data — Refresh All) .
Макрос для деления на строки по Alt+Enter
Для полноты картины давайте упомянем решение предыдущей задачи ещё и с помощью макроса. Откройте редактор Visual Basic с помощью одноимённой кнопки на вкладке Разрабочик (Developer) или сочетания клавиш Alt + F11 . В появившемся окне вставьте новый модуль через меню Insert — Module и скопируйте туда нижеприведённый код:
Sub Split_By_Rows() Dim cell As Range, n As Integer Set cell = ActiveCell For i = 1 To Selection.Rows.Count ar = Split(cell, Chr(10)) 'делим текст по переносам в массив n = UBound(ar) 'определяем кол-во фрагментов cell.Offset(1, 0).Resize(n, 1).EntireRow.Insert 'вставляем пустые строки ниже cell.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar) 'вводим в них данные из массива Set cell = cell.Offset(n + 1, 0) 'сдвигаемся на следующую ячейку Next i End Sub
Вернитесь в Excel и выделите ячейки с многострочным текстом, который надо разделить. Затем воспользуйтесь кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt + F8 , чтобы запустить созданный макрос, который и проделает за вас всю работу:
Вуаля! Программисты — это, на самом деле, просто очень ленивые люди, которые лучше один раз как следует напрягутся, чтобы потом ничего не делать 🙂
Ссылки по теме
- Зачистка текста от мусора и лишних символов
- Замена текста и зачистка от неразрывных пробелов функцией ПОДСТАВИТЬ
- Как разделить слипшийся текст на части в Excel