Как в Excel сделать перенос на следующую строку: все способы

Когда текст в ячейке Excel выходит за её границы и накладывается на соседние колонки, проблема решается переносом на новую строку. Самый быстрый способ — сочетание клавиш Alt + Enter, но он работает только при ручном редактировании. Если нужно автоматически переносить длинные строки (например, адреса или описания), потребуется настройка параметров ячейки или использование формул типа CHAR(10).

В зависимости от версии Excel (2010, 2016, 2019, 365 или Excel Online) и типа данных (числа, текст, формулы) методы переноса отличаются. Например, в Excel для Mac горячие клавиши могут не срабатывать из-за конфликта с системными сочетаниями, а в веб-версии отсутствует панель "Формат ячеек". Ниже разберём все актуальные способы — от базовых до продвинутых, включая обработку переносов в формулах и макросах.

1. Ручной перенос строки в ячейке (горячие клавиши)

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

  • 🔹 Дважды кликните по ячейке или нажмите F2, чтобы перейти в режим редактирования.
  • 🔹 Поместите курсор в место, где нужен перенос.
  • 🔹 Нажмите Alt + Enter (для Windows) или Control + Option + Enter (для Mac).
  • 🔹 Сохраните изменения клавишей Enter.

Если сочетание Alt + Enter не срабатывает, проверьте:

  • 🛠️ Не включён ли режим Num Lock — он может блокировать комбинации с Alt.
  • 🛠️ Не конфликтует ли сочетание с программным обеспечением (например, AutoHotkey или менеджерами окон в Linux).
  • 🛠️ В Excel Online ручной перенос поддерживается только в режиме редактирования ячейки (не через формулу).

2. Автоматический перенос по словам

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

Как включить:

  1. Выделите ячейку или диапазон (например, A1:B10).
  2. Перейдите на вкладку Главная → группа Выравнивание.
  3. Нажмите Перенос текста (кнопка с изображением строки, разделённой на две).
Версия ExcelПоддержка автопереносаОграничения
Excel 2010–2019ПолнаяНе работает для ячеек с формулами, возвращающими текст без пробелов (например, "АБВГДЕЁ").
Excel 365Полная + динамические массивыВ динамических массивах (СПИЛЛ) перенос применяется ко всему диапазону.
Excel OnlineЧастичнаяНет панели "Формат ячеек", но кнопка Перенос текста доступна.
Excel для MacПолнаяВ некоторых версиях требуется обновить программу до последней сборки.

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

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

1. Выделите диапазон.

2. Нажмите Главная → Перенос текста (кнопка должна стать неактивной).

3. Для сброса высоты строк используйте Главная → Формат → Автоподбор высоты строки.

3. Перенос строки в формулах

Если текст генерируется формулой (например, =A1&B1), ручной перенос Alt + Enter не сработает. Вместо этого используйте функцию CHAR(10), которая вставляет символ перевода строки.

Примеры:

  • 📌 Объединение с переносом: =A1 & CHAR(10) & B1.
  • 📌 Многострочный текст: ="Строка 1" & CHAR(10) & "Строка 2".
  • 📌 Перенос в ТЕКСТСЦЕПИТЬ: =ТЕКСТСЦЕПИТЬ(A1; CHAR(10); B1).

Важно: после добавления CHAR(10) обязательно включите перенос текста для ячейки (см. раздел 2). Иначе символ переноса отобразится как квадратик (●).

✅ Формула содержит CHAR(10) в нужных местах

✅ Для ячейки включён Перенос текста

✅ Ширина столбца достаточна для отображения всех строк

✅ В настройках шрифта не установлен параметр "Скрыть" (Формат ячеек → Защита)

-->

Если формула возвращает ошибку #ЗНАЧ!, проверьте:

  • 🔍 Не используете ли вы CHAR(10) внутри функций, требующих числовые значения (например, СУММ).
  • 🔍 Нет ли лишних пробелов перед/после & (например, =A1 &" " & CHAR(10) & B1 — правильно, а =A1& CHAR(10)&B1 — нет).

4. Перенос строк в сводных таблицах и Power Query

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

Для Power Query:

  1. Откройте редактор (Данные → Получение данных → Запустить редактор Power Query).
  2. Выделите столбец с текстом, кликните правой кнопкой → Заменить значения.
  3. В поле "Значение для поиска" введите \n (если источник — CSV/JSON с разрывами).
  4. В поле "Заменить на" введите #(lf) (символ переноса в Power Query).

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

  1. Кликните правой кнопкой по сводной таблице → Параметры сводной таблицы.
  2. Перейдите на вкладку Макет и формат.
  3. Отметьте Автоподбор ширины столбцов при обновлении и Сохранять форматирование ячеек.

Каждый день|Несколько раз в неделю|Редко, по необходимости|Никогда не использовал-->

5. Перенос строк в VBA-макросах

Для автоматизации переносов в Excel используйте VBA-код. Например, чтобы добавить разрыв строки в ячейку A1 через макрос:

Sub AddLineBreak()

Range("A1").Value = "Первая строка" & vbLf & "Вторая строка"

Range("A1").WrapText = True ' Включаем перенос текста

End Sub

Ключевые моменты:

  • 📝 vbLf — символ переноса строки в VBA (аналог CHAR(10) в формулах).
  • 📝 .WrapText = True — эквивалент ручного включения переноса в интерфейсе.
  • 📝 Для обработки диапазона используйте цикл For Each:
Sub WrapTextInRange()

Dim cell As Range

For Each cell In Selection

cell.WrapText = True

Next cell

End Sub

⚠️ Внимание: Макросы с vbLf могут некорректно работать в Excel Online и мобильных версиях. Перед использованием проверьте код на тестовом файле.

6. Перенос строк при импорте данных

При импорте данных из CSV, TXT или баз данных (например, SQL) разрывы строк часто теряются. Чтобы сохранить их:

  • 📥 В CSV: используйте кавычки для текста с переносами: "Строка 1

    Строка 2".

  • 📥 В Power Query: замените \n на #(lf) (см. раздел 4).
  • 📥 При копировании из Word: используйте Специальная вставка → Текст, затем замените символы абзаца (^l) на CHAR(10) через Найти и заменить (Ctrl + H).

Если данные импортируются через ADO или ODBC, настройте параметры подключения:

Connection.String = "Driver={SQL Server};Server=...;Database=...;TextAsLongVarchar=Yes;"

Параметр TextAsLongVarchar=Yes сохраняет форматирование длинного текста, включая переносы.

7. Ошибки и решения при работе с переносами

Распространённые проблемы и способы их устранения:

ПроблемаПричинаРешение
Перенос не отображаетсяНе включён Перенос текстаВыделите ячейку → Главная → Перенос текста
Вместо переноса отображается ●Ячейка не в режиме переносаПримените формат ячейки с переносом или увеличьте ширину столбца
CHAR(10) не работаетФормула возвращает число, а не текстИспользуйте =ТЕКСТ(A1; "0") & CHAR(10) & ТЕКСТ(B1; "0")
Переносы исчезают при экспорте в CSVCSV не сохраняет форматированиеЭкспортируйте в TXT с разделителями табуляции или используйте PDF
⚠️ Внимание: В Excel для Mac 2011 и более ранних версиях функция CHAR(10) может работать нестабильно. Обновите программу или используйте альтернативу: =ПОДСТАВИТЬ(A1; " "; CHAR(10)) для принудительного переноса по пробелам.

- Для ручного текстаAlt + Enter.

- Для автоматического разбиения → настройка "Перенос текста".

- Для формулCHAR(10) + перенос.

- Для макросовvbLf + .WrapText.

-->

Частые вопросы (FAQ)

Можно ли сделать перенос строки в ячейке с формулой, которая возвращает число?

Нет, CHAR(10) работает только с текстовыми значениями. Преобразуйте число в текст с помощью =ТЕКСТ(A1; "0") & CHAR(10) & "Примечание".

Почему после копирования из Word переносы не сохраняются?

Excel не распознаёт символы абзаца (^p) из Word. Замените их на CHAR(10) через Найти и заменить (Ctrl + H): в поле "Найти" введите ^l, в "Заменить на" — Ctrl + J (или вручную вставьте CHAR(10) в формулу).

Как убрать все переносы строк в диапазоне?

Используйте Найти и заменить (Ctrl + H): в поле "Найти" нажмите Ctrl + J (символ переноса), поле "Заменить на" оставьте пустым. Для формул замените CHAR(10) на пробел: =ПОДСТАВИТЬ(A1; CHAR(10); " ").

Работает ли перенос строк в защищённых ячейках?

Да, но только если в настройках защиты разрешено форматирование. Перед защитой листа снимите флажок Форматировать ячейки в Рецензирование → Защитить лист.

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

В Google Таблицах используйте те же методы: Alt + Enter для ручного переноса или =A1 & CHAR(10) & B1 для формул. Автоперенос включается через Формат → Перенос текста.