Skip to content
В этом совете вы найдете 4 совета для удаления символа переноса строки из ячеек Excel. Вы также узнаете, как заменять разрывы строк другими символами. Все решения работают с Excel 2019, 2016, 2013 и более ранними версиями.
Перенос строки в вашем тексте внутри ячейки Excel может возникнуть разными способами. Обычно он появляется, когда вы копируете текст с веб-страницы или из Word, получаете файл, который уже содержит разрывы строк, от коллеги или клиента. Или вы добавляете его самостоятельно, используя комбинацию Alt + Enter
.
В любом случае, вы можете решить убрать перенос строки из ваших ячеек, поскольку он не позволяет найти нужную фразу или же заставляет содержимое столбца выглядеть неаккуратно, когда вы включаете опцию переноса текста. Если вы решите загрузить ваши данные в файл .csv для использования в других программах, то в итоге у вас одна ячейка с переносами строк превратится в несколько. Конечно, это нарушит структуру ваших данных.
Все эти 4 способа, которые мы вам предлагаем, действительно быстрые. Выберите тот, который вам больше всего подходит:
- Как убрать перенос строки при помощи «Найти и заменить».
- 3 формулы, чтобы удалить переносы строк в ячейках.
- Как можно использовать макрос VBA.
- Удаляем перенос строки с помощью надстройки Ultimate Suite
Примечание. Первоначально термины «возврат каретки» и «перевод строки» использовались в пишущей машинке и означали два различных действия.
Компьютеры и программное обеспечение для обработки текстов создавались с учетом специфики пишущей машинки. Вот почему теперь для обозначения переноса строки используются два разных непечатаемых символа: «Возврат каретки» (CR, код ASCII 13) и «Перевод строки» (LF, код ASCII 10).
Имейте в виду, что в Excel вы можете найти оба варианта. Если вы импортируете данные из файла .txt или .csv, вы с большей вероятностью найдете комбинацию возврат каретки + перевод строки. Когда вы разбиваете текст в ячейке, используя Alt + Enter
, то Excel вставляет только перевод строки. Если вы получите файлы .csv от человека, который использует Linux или Unix, то там также найдете только перевод строки.
Удаление вручную.
Плюсы: самый быстрый способ.
Минусы: никаких дополнительных возможностей.
Итак, воспользуемся помощью стандартной функции «Найти и заменить»:
- Выделите все позиции, которые вы хотите обработать.
- Нажмите
Ctrl + H
, чтобы открыть диалоговое окно «Найти и заменить». - В поле » Найти» введите
Ctrl + J
. Оно будет выглядеть пустым, но вы увидите крошечную точку. - В поле «Заменить на» введите любое значение для замены. Обычно это пробел, чтобы избежать случайного «слипания» двух слов. Если вам нужно просто удалить разрывы строк, оставьте поле пустым.
- Нажимаем кнопку «Заменить все» и наслаждаемся результатом!
Удалите разрывы строк с помощью формул Excel.
Плюсы: вы можете использовать вложенные формулы для более сложной обработки текста в ячейках. Например, можно удалить символы перевода строки, а затем удалить лишние начальные и конечные пробелы, а также пробелы между словами.
Или вам может потребоваться удалить перевод строки, чтобы использовать ваш текст в качестве аргумента другой функции без изменения исходных ячеек. Например, если вы хотите использовать результат в качестве аргумента функции ВПР.
Минусы: вам нужно создать вспомогательный столбец и выполнить некоторое количество дополнительных действий.
- Добавьте вспомогательный столбец в конец ваших данных. Вы можете назвать его «В одну строку».
- В первой его позиции (C2) введите формулу для удаления или замены переносов строк. Здесь мы представим вам несколько полезных формул для разных случаев:
Удаление возврата каретки и перевода строки как в Windows, так и в UNIX.
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;СИМВОЛ(13);»»);СИМВОЛ(10);»»)
Заменяем перенос строки любым другим символом (например, запятая + пробел). В этом случае строки не будут «слипаться» и лишние пробелы не появятся.
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;СИМВОЛ(13);», «);СИМВОЛ(10);», «))
Или же можно обойтись и без запятой, просто заменив пробелом:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A3;СИМВОЛ(13);» «);СИМВОЛ(10);» «))
Если вы хотите удалить из текста все непечатаемые символы, включая в том числе и переносы строк:
=ПЕЧСИМВ(A4)
Как видите, не всегда результат выглядит красиво и аккуратно. В зависимости от исходных данных выбирайте наиболее подходящий для вас вариант.
При желании вы можете заменить исходный столбец на тот, в котором были удалены переносы строк:
- Выделите все данные в столбце В и нажмите
Ctrl + C
, чтобы скопировать данные в буфер обмена. - Теперь выберите А2 и нажмите
Shift + F10 + V
. - Удалите вспомогательный столбец В.
Макрос 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, просто следуйте рекомендациям ниже:
- Нажмите
Alt + F11
, чтобы открыть редактор Visual Basic. - Щелкните правой кнопкой мыши имя книги на панели «Project — VBAProject » (в верхнем левом углу окна редактора) и выберите «Вставить» -> «Модуль» в контекстном меню.
- Скопируйте код VBA и вставьте его в правую панель редактора VBA ( окно « Module1 »).
- Сохраните книгу как «книгу Excel с поддержкой макросов».
НажмитеCrl + S
, затем нажмите кнопку «Нет» в диалоговом окне предупреждения «Следующие функции не могут быть сохранены в книге без макросов». - Откроется диалоговое окно «Сохранить как». Выберите «Книга Excel с поддержкой макросов» из раскрывающегося списка «Тип файла». Нажмите кнопку «Сохранить».
- Нажмите
Alt + Q
, чтобы закрыть окно редактора и вернуться к своей книге. - Если вы хотите запустить код VBA, который вы добавили, как описано в разделе выше: нажмите
Alt + F8
, чтобы открыть диалог «Макросы». - Затем выберите нужный макрос из списка «Имя макроса» и нажмите кнопку «Выполнить».
Но если какая-либо формула возвращает возврат каретки, я боюсь, что с этим ничего нельзя поделать. Макрос не может найти, где именно в формуле происходит возврат каретки, поэтому он обрабатывает результат формулы, а не формулу как таковую.
Удаляем перенос строки с помощью надстройки Ultimate Suite.
Если вы являетесь пользователем Ultimate Suite for Excel , то вам не нужно тратить время на какие-либо из вышеперечисленных манипуляций. Все, что требуется, — это 3 быстрых шага:
- Выберите одну или несколько ячеек, в которых вы хотите удалить переносы строк.
- На ленте Excel перейдите на вкладку Ablebits Data и нажмите кнопку «Преобразовать (Convert)» .
- На панели «Преобразовать текст» выберите переключатель «Конвертировать перенос строки в (Convert line break to)», введите в поле «заменяющий» символ (это может быть точка с запятой, точка, запятая, пробел) и нажмите кнопку «Преобразовать (Convert)» .
В нашем примере мы заменяем каждый перенос строки пробелом:
В результате у вас будет аккуратно организованная таблица с однострочными адресами, как это изображено на рисунке выше. Такой же результат мы получали выше и при помощи формул, но занимало это гораздо больше времени.
Это далеко не единственный инструмент для упрощения работы с текстом. Вы можете удалить лишние пробелы, изменить регистр символов, добавить текст в начале в конце, перед или после выбранных символов, удалить непечатаемые символы, извлечь часть текста по позиции или после указанных символов, извлечь числа из текста, разделить текст по столбцам или строкам и многое другое. Подробнее вы можете ознакомиться с этими возможностями на страничке обзора инструментов работы с текстом.
Если вам интересно попробовать этот и еще 60 инструментов для экономии времени для Excel, вы можете загрузить пробную версию Ultimate Suite . Вы будете приятно удивлены, когда найдете решения для самых сложных и утомительных задач в Excel всего в несколько кликов!
Итак, теперь вы легко можете убрать либо заменить символ переноса строки в вашей таблице 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).
Чтобы всё разделилось на строки, а не не столбцы — не забудьте переключить селектор Строки (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
Эта инструкция познакомит Вас с тремя способами удалить возвраты каретки из ячеек в Excel. Вы также узнаете, как заменить символы переноса строки другими символами. Все предложенные решения работают в Excel 2013, 2010, 2007 и 2003.
Переносы строк могут появиться в тексте по разным причинам. Обычно возвраты каретки встречаются в рабочей книге, например, когда текст скопирован с веб-страницы, когда они уже есть в рабочей книге, полученной от клиента, или, когда мы сами добавляем их нажатием клавиш Alt+Enter.
Какой бы ни была причина их появления, сейчас перед нами стоит задача удалить возвраты каретки, так как они мешают выполнять поиск фраз и приводят к беспорядку в столбце при включении режима переноса текста.
Все три представленных способа довольно быстры. Выбирайте тот, который Вам больше подходит:
- Удаляем все переносы строк вручную, чтобы быстро навести порядок на одном листе.
- Удаляем переносы строк при помощи формул и настраиваем таким образом комплексную обработку текстовых данных в ячейках.
- Используем макрос VBA, чтобы очистить от переносов строк несколько рабочих книг.
Замечание: Первоначально термины «Возврат каретки» и «Перевод строки» использовались при работе на печатных машинках и обозначали две различных операции. Любознательный читатель может самостоятельно найти подробную информацию об этом в интернете.
Компьютеры и программное обеспечение для работы с текстами разрабатывались с учётом особенностей печатных машинок. Вот почему теперь для обозначения разрыва строки используют два различных непечатаемых символа: Возврат каретки (Carriage return, CR или ASCII код 13) и Перевод строки (Line feed, LF или ASCII код 10). В Windows используются оба символа вместе, а в системах *NIX применяется только перевод строки.
Будьте внимательны: В Excel встречаются оба варианта. При импорте из файлов .txt или .csv данные обычно содержат возвраты каретки и переводы строки. Когда перенос строки вводится вручную нажатием Alt+Enter, Excel вставляет только символ перевода строки. Если же файл .csv получен от поклонника Linux, Unix или другой подобной системы, то готовьтесь к встрече только с символом перевода строки.
Содержание
- Удаляем возвраты каретки вручную
- Удаляем переносы строк при помощи формул Excel
- Удаляем переносы строк при помощи макроса VBA
Удаляем возвраты каретки вручную
Плюсы: Этот способ самый быстрый.
Минусы: Никаких дополнительных плюшек 🙁
Вот так можно удалить переносы строк при помощи инструмента «Найти и заменить»:
- Выделите все ячейки, в которых требуется удалить возвраты каретки или заменить их другим символом.
- Нажмите 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.
Оцените качество статьи. Нам важно ваше мнение:
как убрать перенос (alt+entr)в ячейке |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
А вы знаете как убрать переносы строк внутри ячейки Excel?
Расскажу вам о трёх способах.
Способ №1
Если ячеек с переносами строк мало, то просто удалите символы или в конце, или в начале строки внутри ячейки с помощью клавиш Backspace или Delete.
Если ячеек с переносами много, то вам подойдут способы №2 и №3.
Способ №2
Для начала определите: есть ли в конце каждой строки ячейки пробел?
Для этого щелкните дважды левой клавишей мыши по ячейке и выделите крайний символ в строке.
Если символ выделяется – пробел есть.
Если есть пробел в конце строки.
▪️ Нажмите сочетание клавиш CTRL+H
Больше лайфхаков в нашем Telegram Подписаться
▪️ В поле Найти нажмите сочетание клавиш CTRL+J для вставки символа переноса
▪️ Поле Заменить на оставьте пустым
▪️ Щелкните Заменить все и Закрыть
Если НЕТ пробела в конце строки:
▪️ Нажмите сочетание клавиш CTRL+H
▪️ В поле Найти нажмите сочетание клавиш CTRL+J для вставки символа переноса
▪️ В поле Заменить на поставьте пробел
▪️ Щелкните Заменить все и Закрыть
Способ №3
В соседней ячейке примените функцию ПЕЧСИМВ (англ. CLEAN) для удаления непечатаемых символов.
Все три способа успешно уберут переносы 👇
Поделитесь, пожалуйста, в комментариях, какой способ вам понравился больше?