Letysite.ru

IT Новости с интернет пространства
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

C excel перенос строки

Тонкости работы с переносами строк в 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) .

Читать еще:  Не работает автозаполнение в excel

Чтобы всё разделилось на строки, а не не столбцы — не забудьте переключить селектор Строки (By rows) в группе расширенных параметров.

Останется только нажать на ОК и получить желаемое:

Готовую таблицу можно выгрузить обратно на лист с помощью команды Закрыть и загрузить — Закрыть и загрузить в. на вкладке Главная (Home — Close&Load — Close&Load to. ) .

Важно отметить, что при использовании Power Query необходимо помнить о том, что при изменении исходных данных результаты автоматически не обновляются, т.к. это не формулы. Для обновления нужно обязательно щёлкнуть правой кнопкой мыши по итоговой таблице на листе и выбрать команду Обновить (Refresh) или нажать кнопку Обновить всё на вкладке Данные (Data — Refresh All) .

Макрос для деления на строки по Alt+Enter

Для полноты картины давайте упомянем решение предыдущей задачи ещё и с помощью макроса. Откройте редактор Visual Basic с помощью одноимённой кнопки на вкладке Разрабочик (Developer) или сочетания клавиш Alt + F11 . В появившемся окне вставьте новый модуль через меню Insert — Module и скопируйте туда нижеприведённый код:

Вернитесь в Excel и выделите ячейки с многострочным текстом, который надо разделить. Затем воспользуйтесь кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt + F8 , чтобы запустить созданный макрос, который и проделает за вас всю работу:

Вуаля! Программисты — это, на самом деле, просто очень ленивые люди, которые лучше один раз как следует напрягутся, чтобы потом ничего не делать 🙂

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

Линк на .xlxs файл с разнесением данных по строкам с использованием штатных фун-ций EXCEL (к задаче «Деление на строки по Alt+Enter через Power Query»).

Alt+0160
Зажимаете Alt, затем на цифровой клавиатуре поочередно вводите нужные цифры: 0-1-6-0

Это коды ASCII. Например, Ctrl+J можно заменить на Alt+0010

Есть способ хотя он не всегда помогает. Все упирается в новую строку. Но там вообщем несложно немного переделать именно ввод

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

Важно: Описанные ниже процедуры должны выполняться в режиме разметки. Если используется другой режим, в меню Вид выберите пункт Разметка страницы.

Выполните одно из указанных ниже действий.
Не разрывать абзац
Можно сделать так, чтобы все строки абзаца находились на одной странице или в одной колонке. Благодаря этому абзац не будет разрываться между двумя страницами.

  1. Выделите строки, которые должны находиться вместе.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок Не разрывать абзац.

Не отрывать от следующего
Можно сделать так, чтобы абзацы, например заголовок и последующий абзац, выводились на одной странице или в одной колонке.

  1. Выделите абзацы, которые нужно расположить на одной странице.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок Не отрывать от следующего.

Принудительное добавление разрыва страницы перед абзацем
Если нужно, чтобы абзац всегда выводился вверху страницы, добавьте перед ним разрыв страницы.

  1. Выделите абзац, перед которым нужно вставить разрыв страницы.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок С новой страницы.

У нас в офисе мегаиндекс часто приходится обновлять софт, ввиду новых поисковых алгоритмов. Но без настроек не всегда получается полноценная работа. Но толковый сисадмин в офисе — это залог успеха.

И еще с этой функцией не всегда лады бывают. Но решается просто

Запрет висячих строк
По умолчанию в Word последняя строка абзаца не может выводиться вверху или внизу страницы.

  1. Выделите абзацы, в которых нужно запретить висячая строка.
  2. В меню Формат выберите пункт Абзац и откройте вкладку Положение на странице.
  3. Установите флажок Запрет висячих строк.

Запрет переноса строк таблицы на следующую страницу

  1. Щелкните таблицу.
  2. В меню Таблица выберите команду Свойства таблицы, а затем откройте вкладку Строка.
  3. Снимите флажок Разрешить перенос строк на следующую страницу.

Как сделать перенос строки в ячейке в Excel?

Рассмотрим различные способы как можно сделать перенос текста внутри ячеек в Excel — в виде ручного ввода символа переноса или посредством применения формул.

Приветствую всех, уважаемые читатели блога TutorExcel.Ru.

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

В принципе в Excel для этого есть стандартная команда Перенести текст, либо в панели вкладок выбираем Главная -> Выравнивание:

Либо щелкаем правой кнопкой мышки по ячейке, во всплывающем окне выбираем Формат ячеек и на вкладке Выравнивание ставим галочку напротив Переносить текст:

Применение этой команды позволяет нам переносить слова в строке в зависимости от ширины столбца (по принципу шире столбец — меньше строк, уже столбец — больше строк).

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

Давайте разберемся что же делать в таком случае?

Ручной ввод переноса текста в строке

Самый простой вариант — сделать перенос текста в ячейке вручную.

Для ручного переноса строки воспользуемся сочетанием клавиш Alt + Enter — заходим в ячейку, ставим курсор в нужное место, нажимаем указанное сочетание клавиш и текст (справа от курсора) переносится на следующую строку:

Тут все очень просто, никаких сложностей возникнуть не должно.

Однако если же стоит задача как-то автоматизировать процесс или изначально сам текст задается формулой, то такой вариант уже не подходит.

Поэтому перейдем к рассмотрению формульного аналога.

Формульный ввод переноса текста в ячейке

Предположим, что у нас имеются 2 ячейки с данными и мы хотим в еще одну ячейку записать содержимое первых двух с переносом текста на новую строку.

Читать еще:  Как прогреть видеочип на ноутбуке

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

В ячейку A3 введем формулу A1&A2, где A1 — месяц, а A2 — год:

Так как никаких дополнительных действий с формулой мы не делали, то мы видим, что здесь текст на другую строку не переносится.

В целом для переноса строки мы можем воспользоваться 2 основными способами:

  • Добавить разрыв строки как в примере выше (с помощью комбинации клавиш Alt + Enter);
  • Записать символ переноса с помощью формулы.

В первом случае перепишем формулу и добавим в нее текстовую строку, которая будет состоять только из символа переноса строки:

Во втором же случае мы запишем символ переноса в явном виде — с помощью формулы.

Для этих целей воспользуемся стандартной функцией СИМВОЛ (в английской версии CHAR), которая по числовому коду позволяет вернуть любой символ системы ASCII.

В системе ASCII знаку разрыва строки соответствует код 10, поэтому еще раз перепишем формулу с применением новой функции:

Важное замечание

Обратите внимание, для того, чтобы текст корректно переносился по разным строкам необходимо включить свойство Перенести текст.

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

Спасибо за внимание!
Если у вас есть мысли или вопросы по теме статьи — пишите и спрашивайте в комментариях.

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

Эта инструкция познакомит Вас с тремя способами удалить возвраты каретки из ячеек в 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 или другой подобной системы, то готовьтесь к встрече только с символом перевода строки.

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

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

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

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

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

Удаляем переносы строк при помощи формул 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),», «)
А вот так можно удалить все непечатаемые символы из текста, включая переносы строк:

  • Скопируйте формулу во все ячейки столбца.
  • По желанию, можете заменить исходный столбец новым, с удалёнными переносами строк:
    • Выделите все ячейки в столбце C и нажатием Ctrl+C скопируйте данные в буфер обмена.
    • Далее выделите ячейку B2, нажмите сочетание клавиш Shift+F10 и выберите Вставить (Insert).
    • Удалите вспомогательный столбец.
  • Удаляем переносы строк при помощи макроса VBA

    Плюсы: Создаём один раз – используем снова и снова с любой рабочей книгой.

    Минусы: Требуется хотя бы базовое знание VBA.

    Макрос VBA из следующего примера удаляет возвраты каретки из всех ячеек на активном листе.

    Если Вы не слишком близко знакомы с VBA, рекомендую изучить статью о том, как вставить и выполнить код VBA в Excel.

    Как сделать перенос строки и перенос текста в ячейке excel

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

    С помощью клавиатуры

    Для начала создаете таблицу и заполняете ее данными.

    Чтобы объединить текст в одном месте, делаете следующее:

    1. Группируете данные в одной ячейке, используя функцию Вырезать – Вставить или при помощи сочетания клавиш Ctrl+X и Ctrl+V.

    1. Ставите курсор туда, где должен быть перенос.

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

    1. Повторяете действие 2 и 3 до тех пор, пока информация не примет требуемый вид.

    1. В конце отрегулируйте ширину столбца, чтобы текст легче читался.

    С помощью функций

    Расположить несколько строчек в одной области можно формулой, которая содержит функцию СИМВОЛ.

    Для корректной работы нужно знать несколько особенностей:

    1. Для соединения ячеек необходимо использовать специальный логический оператор – & или амперсанд.
    2. Десятичный код перемещения строки.

    Внутри Microsoft Excel каждый символ имеет свой шифр в формате ASCII, который можно посмотреть во вкладке Вставка – Символ на Панели управления.

    Важно! Символ переноса строки в формате ASCII (дес.) – 10.

    Вернемся к первоначальной таблице.

    Чтобы объединить три строчки внутри одной ячейки с учетом особенностей необходимо в поле ввода функций записать следующее:

    B4&C4&СИМВОЛ(10)&B5 &C5 &СИМВОЛ(10)&B6 &C6 &СИМВОЛ(10)

    где: B4&C4, B5&C5, B6&C6 – объединяемые ячейки, а СИМВОЛ(10) – оператор перемещения.

    При этом обязательно нужно сцеплять между собой уже совмещенные области при помощи амперсанда.

    Важно! Правильное отображение всех строчек осуществляется за счет использования встроенного инструмента excel Перенос текста, который находится на первой вкладке панели инструментов.

    Чтобы удалить перенос строки, достаточно очистить поле записи функции нажатием клавиши Del или Backspace на клавиатуре, если использовалась формула. И, используя те же кнопки, убираете непечатные символы, которые были добавлены горячими клавишами.

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

    Жми «Нравится» и получай только лучшие посты в Facebook ↓

    Как перенести строки в Excel? Перенос строк в Excel

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

    Как перенести строки в Excel на новый лист?

    Как известно, переносить строки с одного листа на другой можно либо одним диапазоном (когда каждая следующая строка имеет с предыдущей общую границу), либо только по одной. Все попытки выделить несколько несвязных строк, а затем одним действием вырезать выделенные строки, неизбежно заканчиваются появлением сообщения «Данная команда неприменима для несвязных диапазонов. Выберите один диапазон и снова выберите конманду.» Таким образом, приложение Excel ставит пользователя перед выбором, либо вырезать и вставлять строки по одной, что выглядит мало привлекательным занятием, либо искать другие способы решения задачи. Одним из таких способов является использование надстройки для Excel, которая позволяет достаточно быстро перенести строки с заданными значениями и удовлетворяющие заданным условиям на новый лист.

    Пользователю дается возможность:

    1. Быстро вызывать диалоговое окно надстройки одним кликом по кнопке, расположенной на одной из вкладок ленты Excel;

    2. Задавать как одно, так и несколько значений для поиска, используя в качестве знака-разделителя «;» точку с запятой;

    3. Учитывать либо не учитывать регистр при поиске текстовых значений;

    4. Использовать в качестве диапазона ячеек для поиска заданных значений как используемый диапазон, так и любой произвольный диапазон листа, заданный пользователем;

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

    а) совпадает либо не совпадает с искомым значением;

    б) содержит либо не содержит искомое значение;

    в) начинается либо не начинается с искомого значения;

    г) заканчивается либо не заканчивается искомым значением.

    6. Устанавливать ограничения для выбранного диапазона, используя номера строк.

    Перенос строки в ячейке

    Как перенести текст в ячейке на новую строку

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

    Как заменить перенос строки на пробел

    Часто требуется избавиться от переносов строк, удалить их, чтобы привести значения ячеек к обычному виду. Если посмотреть в таблицу ASCII-кодов,

    можно увидеть, что приложением используется код с номером 10 и названием «Перевод строки», которому соответствует сочетание клавиш Ctrl+J. Зная это, можно удалить переносы строки при помощи стандартного средства Excel, таким как «Найти и заменить». Для этого необходимо вызвать диалоговое окно сочетанием клавиш Ctrl+F (при этом поле останется пустым), перейти на вкладку «Заменить», поместить курсор в поле «Найти», нажать сочетание клавиш Ctrl+J и нажать кнопку «Заменить» либо «Заменить все». Аналогичным образом можно заменить перенос строки на пробел.

    Замену перевода строки на любой символ, например на пробел, можно осуществить и при помощи макроса.

    Ссылка на основную публикацию
    Adblock
    detector