Слова через запятую сделать списком в столбик и наоборот — 3 способа
Бывает, что необходимо какой-то список слов, фраз или других данных, расположенных списком в столбик преобразовать в последовательность строкой через запятую или наоборот из списка через запятую сформировать столбец, где каждая отделенная запятой фраза идет с новой строки. Мне, например, это бывает нужно при работе со списками ключевых слов в SEO-задачах или при работе с системами контекстной рекламы.
Есть, как минимум, три способа выполнить поставленную задачу:
- Преобразовать программе Notepad++
- Cтолбец в строку Excel через запятую
- Использовать Онлайн-скрипт
Преобразование в программе Notepad++ с помощью регулярных выражений
Эта программа известна практически всем, кто занимался редактированием сайтов или работал с кодом. Если у вас ее еще нет, советую скачать и поставить.
Вставляем в программу список для преобразования.
Для примера я взял набор фраз через запятую. Нажимаем комбинацию клавиш Ctrl+H (поиск с заменой), в открывшемся окне ставим метку Режим поиска — Расширенный, Найти: , (запятая и пробел), Заменить на: \n Заменить все. Получаем список столбиком.
Если нужно из столбика сделать список через запятую, тогда то же самое, только Найти: \r\n и Заменить на: , (запятая и пробел).
Если что-то заменилось не так, как надо, делаем отмену Ctrl+Z и пробуем по-другому, например, ищем только \n.
Преобразование столбца в строку через запятую в Excel
Используем формулу «лесенка».
Скачать готовый файл можно здесь: 4memo-ru-stolbik-zapyataya.xls
Запятую в самой первой ячейке можно заменить, на что-то другое, если нужно.
Формулу во втором столбце растягиваем вниз, насколько потребуется.
Если полученный список нужно вставить в другой лист эксель, то не забываем избавиться от формул, вставив предварительно данные в блокнот.
Столбик через запятую и обратно онлайн
Этот вариант подойдет для тех, кому нужно срочно, прямо на этой странице, решить задачу конвертации списка — за вас все сделает скрипт.
Список через запятую > в столбик
Разделитель-запятую можно заменить каким-нибудь другим, например, точкой с запятой, только про пробел не забудьте, если он вам нужен.
Столбик > список через запятую
Лично для меня из всех трех способов перестроения списка наиболее удобным является самый первый — через Нотпад, а вы выберите тот, который удобен вам.
Надеюсь, кому-то эта страница облегчит жизнь.
- Добавление ссылки при копировании текста: плагины и скрипт
- Онлайн Касса не работает ККМ — массовый сбой кассовых аппаратов
- Страховка для визы Шенген
- Промокод SMS ru — скидка 10%
Как разделить текст на столбцы в Excel

Иногда во время работы с исходными данными в Excel пользователи получают довольно специфические списки, где в рамках одной строки собрано сразу несколько категорий значений, которые хотелось бы разделить на столбцы для создания полноценной таблицы. Заниматься форматированием вручную – не лучшая затея, особенно когда функциональность программы предусматривает автоматический инструмент для выполнения поставленной задачи.
Как выглядит склеенный текст в Excel
Сначала я хочу кратко рассказать о том, какую трудность будем решать при помощи следующей инструкции. Например, у вас есть перечень товаров с количеством и ценой, но все это написано в одной строчке с разделением через запятую, точку или любой другой символ. Такой пример показан на следующем изображении.
![]()
Это может быть совершенно любая информация: ФИО людей, даты, перечни разных форматов. Главное условие для корректного разделения всей этой информации на корректные столбцы – наличие одного и того же разделителя, который алгоритм и будет брать во внимание.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Разделение текста на столбцы в Excel
Задача ясна, значит, сейчас предстоит разобраться с ней. Откройте лист и найдите там необходимый диапазон с данными. Если еще не вставили его в Excel, создайте пустой лист и сделайте это. После этого выполните такие действия:
- Выделите только первый столбец, не затрагивая остальные строки (они и так являются пустыми, ведь символы просто не помещаются в рамку одной ячейки и переходят на другие). Перейдите на вкладку «Данные».

- Вызовите инструмент «Текст по столбцам».

- В большинстве случаев используется формат данных «С разделителями», который и следует отметить маркером, а затем перейти к следующему этапу в Мастере.

- Снимите галочку с пункта «Знак табуляции», если в ваших строках применяется другой разделитель для значений. В случае когда действительно разделителем выступает табуляция, оставьте значение по умолчанию и сразу жмите «Далее».

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

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

- Если при использовании в качестве разделителя выступают последовательные знаки, например кавычки, отметьте маркером пункт «Считать последовательные разделители одним» и из раскрывающегося списка выберите подходящий для вас вариант.

- После нажатия по «Далее» отобразится последний шаг настройки, где вам предстоит задать формат данных в столбце. Этот этап можно пропустить, оставив значение «Общий».

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

Остается только произвести любое оформление для созданной таблицы, чтобы продолжить с ней взаимодействие. Я не буду заострять на этом внимание, а только максимально сжато расскажу о формировании простой таблицы:
- Выделите столбцы и строки, перейдите на вкладку «Вставка» и нажмите «Таблица».

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

- Если нужно, разверните меню «Форматировать как таблицу» и выберите другой вариант визуального оформления.

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

Есть столбик с определенными значениями (буду брать пример буквенный) :

И нужно чтобы столбик стал с значениями, которые будут идти друг за другом в изначальном порядке:
- Вопрос задан более года назад
- 54 просмотра
Комментировать
Решения вопроса 0
Ответы на вопрос 2

Григорий Боев @ProgrammerForever Куратор тега Excel
Учитель, автоэлектрик, программист, музыкант
В ячейке после данных
=A1
и распространить вниз.
Или
=INDIRECT(«R[-6]C»;0)
В Google Sheet я делал по-другому, чтобы заполнялось автоматом:
=ArrayFormula( ВПР( ОСТАТ(-1+СТРОКА($A:$A);ЧСТРОК($A$1:$A$8)) ; ;2 ;0 ) )
Ответ написан более года назад
Комментировать
Нравится Комментировать

В гугле забанен
Выделяешь все значения и протягиваешь вниз. Если продолжает твою последовательность, то там можно выбрать «копировать»
Ответ написан более года назад
Комментировать
Нравится Комментировать
Как сделать в столбик?

Как сделать вывод слов в столбик?
только изучаю данный язык. собственно 1 поле label1 1 текстовое поле и кнопка на кнопке.
Как сделать, чтобы бот Vk писал в столбик?
Пишу бота для страницы вк. в общем. Как сделать. чтобы он. писал в столбик ? Код: if.
Как сделать столбик с текстом ссылок активными ссылками?
Дано: столбик с парой тысяч ссылок. В каждой ячейке текст ссылки. Но сама ячейка не является.
Как сделать чтобы данные вводить в строку а не в столбик?
ребят подскажите как сделать что бы данные вводить в строку а не в столбик для экономии места .
2693 / 1680 / 766
Регистрация: 23.03.2015
Сообщений: 5,309
Посмотрите, что означает у вас
Сообщение от ZoomieOs 
CurrentColumn
Регистрация: 14.03.2018
Сообщений: 40
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192
Option Explicit Const m_sID_COLUMN_NAME As String = "Идентификатор_товара" ' название столбца ID Const m_sOPTIONS_COLUMN_NAME As String = "_OPTIONS_" ' название столбца OPTIONS Const m_sPARAMS_COLUMN_NAME As String = "_ATTRIBUTES_" ' название столбца ATTRIBUTES Const m_sIMAGE_COLUMN_NAME As String = "_IMAGE_" ' название столбца IMAGE Const m_sIMAGES_COLUMN_NAME As String = "_IMAGES_" ' название столбца IMAGES Const m_lHEADER_ROW As Long = 1 ' номер строки заголовков Const m_lSTART_ROW As Long = 2 ' номер первой строки данных Private m_lCurrentColumn As Long ' Public Sub StartParse() Dim lLastRow As Long Dim cell As Range Dim s As String Dim v, vp As Variant Dim i As Long Dim j As Long Dim clmn As Long Dim cAttr As Long Dim cOpt As Long ' получаем номер столбца "ID" clmn = GetColmnNumber(m_sID_COLUMN_NAME, Me, m_lHEADER_ROW) If clmn = 0 Then MsgBox "Не найден столбец ID." End If ' Определяем последнюю строку данных в столбце ID lLastRow = Cells(Rows.Count, clmn).End(xlUp).Row If lLastRow Then MsgBox "Hет данных." ' нет данных, выход Exit Sub End If ' получаем номер столбца "ATTRIBUTES" cAttr = GetColmnNumber(m_sPARAMS_COLUMN_NAME, Me, m_lHEADER_ROW) If cAttr = 0 Then MsgBox "Не найден столбец ATTRIBUTES." End If ' получаем номер столбца "OPTIONS" cOpt = GetColmnNumber(m_sOPTIONS_COLUMN_NAME, Me, m_lHEADER_ROW) If cOpt = 0 Then MsgBox "Не найден столбец OPTIONS." End If ' пробегаем в цикле во всем строкам For j = m_lSTART_ROW To lLastRow ' Собираем изображения Call AssembleImages(j) 'Разбиваем данные столбца ATTRIBUTES на характеристки по символу переноса строк v = Split(Cells(j, cAttr).Text, vbLf) ' устанавливаем номер столбца с которого начнется печать характеристик m_lCurrentColumn = cAttr + 1 For i = LBound(v) To UBound(v) ' Обрабатываем только не пустые элементы If Len(v(i)) > 0 Then ' Заполняем таблицу If PrintParams(Row:=j, Param:=v(i)) Then m_lCurrentColumn = m_lCurrentColumn + 3 End If End If Next i 'Разбиваем данные столбца ATTRIBUTES на характеристки по символу переноса строк v = Split(Cells(j, cOpt).Text, vbLf) For i = LBound(v) To UBound(v) ' Обрабатываем только не пустые элементы If Len(v(i)) > 0 Then ' Заполняем таблицу If PrintOptions(Row:=j, Param:=v(i)) Then m_lCurrentColumn = m_lCurrentColumn + 3 End If End If Next i Next j End Sub Public Sub AssembleImages(ByVal lRow As Long) Dim cImg As Long Dim cImgs As Long Dim col As Long Dim v() As String ' не останавливаемся на ошибках On Error Resume Next ' получаем номер столбца "IMAGE" cImg = GetColmnNumber(m_sIMAGE_COLUMN_NAME, Me, m_lHEADER_ROW) If cImg = 0 Then MsgBox "Не найден столбец IMAGE." End If ' получаем номер столбца "IMAGES" cImgs = GetColmnNumber(m_sIMAGES_COLUMN_NAME, Me, m_lHEADER_ROW) If cImgs = 0 Then MsgBox "Не найден столбец IMAGES." End If ' собираем все картинки в массив If Len(Cells(lRow, cImg).Value) > 0 Then ReDim Preserve v(1 To 1) v(1) = Cells(lRow, cImg).Value End If Do While Len(Cells(lRow, cImgs + col).Value) > 0 ReDim Preserve v(1 To (col + 2)) v(col + 2) = Cells(lRow, cImgs + col).Value col = col + 1 Loop 'coхраняем результат Cells(lRow, cImg).Value = Join(v, ",") End Sub Private Function PrintParams(ByVal Row As Long, ByVal Param As String) As Boolean Dim v, vp As Variant Dim i As Long ' не останавливаемся на ошибках On Error Resume Next 'Разбиваем характеристку по символу | v = Split(Param, "|") ' Первый элемент это тип характеристики, пропускаем ' Второй - название ' третий значение ' Если название характеристики пустое то пропуск If Len(v(1)) = 0 Then Exit Function Cells(Row, m_lCurrentColumn) = Trim$(v(1)) Cells(Row, m_lCurrentColumn + 1) = "" Cells(Row, m_lCurrentColumn + 2) = Trim$(v(2)) PrintParams = True End Function Private Function PrintOptions(ByVal Row As Long, ByVal Param As String) As Boolean Dim v, vp As Variant Dim i As Long On Error Resume Next v = Split(Param, "|") If Len(v(1)) = 0 Then Exit Function Cells(Row, m_lCurrentColumn) = Trim$(v(1)) Cells(Row, m_lCurrentColumn + 1) = "" Cells(Row, m_lCurrentColumn + 2) = Trim$(v(2)) PrintOptions = True End Function '--------------------------------------------------------------------------------------- ' [ GetColmnNumber ] - [ 29.10.2017 ] - [ Pychev Anatoliy ] ' Purpose : Поиск индекса столбца по названию заголовка '--------------------------------------------------------------------------------------- Public Function GetColmnNumber(ByVal psColName As String, pSheet As Worksheet, Optional pnTitleRow As Long = 1) Dim i&, nColLast As Long GetColmnNumber = 0 If pSheet Is Nothing Or pnTitleRow = 0 Then Exit Function With pSheet nColLast = pSheet.UsedRange.Columns.Count For i = 1 To nColLast If Trim(LCase(.Cells(pnTitleRow, i).Value)) = Trim(LCase(psColName)) Then GetColmnNumber = i Exit Function End If Next i End With End Function
2693 / 1680 / 766
Регистрация: 23.03.2015
Сообщений: 5,309
Попробуйте
не знаю как получится.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Private Function PrintOptions(ByVal Row As Long, ByVal Param As String) As Boolean Dim v, vp As Variant Dim i As Long On Error Resume Next v = Split(Param, "|") If Len(v(1)) = 0 Then Exit Function Cells(Row, m_lCurrentColumn) = Trim$(v(1)) Cells(Row+1, m_lCurrentColumn ) = "" Cells(Row+2, m_lCurrentColumn ) = Trim$(v(2)) PrintOptions = True End Function
