Текст через запятую в столбец excel

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

Есть, как минимум, три способа выполнить поставленную задачу:

  1. Преобразовать программе Notepad++
  2. Cтолбец в строку Excel через запятую
  3. Использовать Онлайн-скрипт

Содержание

  1. Преобразование в программе Notepad++ с помощью регулярных выражений
  2. Преобразование столбца в строку через запятую в Excel
  3. Столбик через запятую и обратно онлайн
  4. Список через запятую > в столбик
  5. Столбик > список через запятую

Преобразование в программе Notepad++ с помощью регулярных выражений

Эта программа известна практически всем, кто занимался редактированием сайтов или работал с кодом. Если у вас ее еще нет, советую скачать и поставить.

Вставляем в программу список для преобразования.
Преобразование списка через запятую в столбик в Нотпад
Для примера я взял набор фраз через запятую. Нажимаем комбинацию клавиш Ctrl+H (поиск с заменой), в открывшемся окне ставим метку Режим поиска — Расширенный, Найти: , (запятая и пробел), Заменить на: n Заменить все. Получаем список столбиком.

Если нужно из столбика сделать список через запятую, тогда то же самое, только Найти: rn и Заменить на: , (запятая и пробел).
Если что-то заменилось не так, как надо, делаем отмену Ctrl+Z и пробуем по-другому, например, ищем только n.

Преобразование столбца в строку через запятую в Excel

Используем формулу «лесенка».
Скачать готовый файл можно здесь: 4memo-ru-stolbik-zapyataya.xls
Запятую в самой первой ячейке можно заменить, на что-то другое, если нужно.
Формулу во втором столбце растягиваем вниз, насколько потребуется.
Если полученный список нужно вставить в другой лист эксель, то не забываем избавиться от формул, вставив предварительно данные в блокнот.

Столбик через запятую и обратно онлайн

Этот вариант подойдет для тех, кому нужно срочно, прямо на этой странице, решить задачу конвертации списка — за вас все сделает скрипт.

Список через запятую > в столбик

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

Столбик > список через запятую

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

 

New

Пользователь

Сообщений: 4582
Регистрация: 06.01.2013

1. Выделяете мышкой столбец А (или просто ячейки с вашими данными мышкой выделите)
2. меню Данные — Текст по столбцам
3. в появившемся окне выбираете — с разделителями, Далее, мышкой выбираете разделитель «Запятая» — Готово

P.S. Правда access hash, состоящий у вас из набора цифр больше чем 15 символов (на первый взгляд их 19 чисел) — потеряется, а именно все числа после 15-го числа будут сконвертированы в 0. Если же вам нужны все числа в access hash, то можно придумать другой способ преобразования

Изменено: New14.11.2020 16:38:04

текст через запятую из одной ячейки перенести в столбец

ovechkin1973

Дата: Четверг, 14.12.2017, 20:30 |
Сообщение № 1

Группа: Проверенные

Ранг: Обитатель

Сообщений: 429


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

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


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

Сообщение отредактировал ovechkin1973Четверг, 14.12.2017, 20:32

 

Ответить

RAN

Дата: Четверг, 14.12.2017, 20:41 |
Сообщение № 2

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Ищите Мяу, или Мяв.
Один из макросов содержит ответ (текст по строкам)


Быть или не быть, вот в чем загвоздка!

 

Ответить

ovechkin1973

Дата: Четверг, 14.12.2017, 20:45 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 429


Репутация:

1

±

Замечаний:
0% ±


Excel 2010


Уважаемый RAN, не совсем понял рекомендацию.. искать по этим словам в темах на этом форуме?


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

 

Ответить

RAN

Дата: Четверг, 14.12.2017, 21:09 |
Сообщение № 4

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Именно. :)
Макросы с такими именами на этом форуме найти можно, по «название темы должно отражать суть вопроса» — 150% не найдете. :(


Быть или не быть, вот в чем загвоздка!

 

Ответить

maonang

Дата: Четверг, 14.12.2017, 21:22 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 7


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

 

Ответить

Manyasha

Дата: Четверг, 14.12.2017, 22:28 |
Сообщение № 6

Группа: Модераторы

Ранг: Старожил

Сообщений: 2198


Репутация:

898

±

Замечаний:
0% ±


Excel 2010, 2016

Да нормальная вроде тема, чего вы?
Перенесла текст «через запятую» в начало, так понятнее. victory

ovechkin1973, так нужно?
[vba]

Код

Sub t()
    Dim t, i%, x
    t = Split(ActiveCell, «,»)
    i = ActiveCell.Row + 1
    For Each x In t
        Rows(i).Insert Shift:=xlDown
        Cells(i, ActiveCell.Column) = Trim(x)
        i = i + 1
    Next x
End Sub

[/vba]


ЯД: 410013299366744 WM: R193491431804

 

Ответить

RAN

Дата: Пятница, 15.12.2017, 15:01 |
Сообщение № 7

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Да нормальная вроде тема, чего вы?

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


Быть или не быть, вот в чем загвоздка!

 

Ответить

ovechkin1973

Дата: Пятница, 15.12.2017, 19:09 |
Сообщение № 8

Группа: Проверенные

Ранг: Обитатель

Сообщений: 429


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

«название темы должно отражать суть вопроса»

RAN, Понял, что не понял Вас в первого раза. :)
Manyasha, Спасибо! Работает, как надо! flowers


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

 

Ответить

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

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

Чтобы разделить текст, разделенный запятыми, в Excel, выполните следующие действия:

  1. Откройте электронную таблицу и выберите все ячейки.
  2. Перейдите на вкладку «Данные».
  3. Нажмите на опцию Text to Columns.
  4. Используйте параметр с разделителями и выберите разделитель.
  5. Выберите ячейку, в которой вы хотите отобразить результат.
  6. Сохраните ваш файл.

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

Как разделить текст через запятую в Excel и Google Таблицах

У вас будет два варианта — С разделителями и Фиксированная ширина. Вам нужно выбрать С разделителями вариант и щелкните Следующий кнопка.

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

Как разбить текст на столбцы в Excel и Google Таблицах

Теперь вам нужно выбрать ячейку, которая будет первым столбцом.

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

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

Например, если-

  • У вас есть такой текст — AA, BB
  • Выберите B1 для AA

Часть BB будет сохранена в ячейке C1. Если исходный текст содержит две запятые, самая последняя часть будет отображаться в ячейке D1.

Теперь вы можете сразу увидеть результат.

Как разделить текст через запятую в Google Таблицах

В этом случае Google Таблицы не так умны, как Microsoft Excel. Хотя вы можете разделить все тексты через запятую, вы не можете сохранить исходный столбец. Если вас это устраивает, выполните следующие действия.

  1. Выделите все ячейки в вашей электронной таблице.
  2. Перейдите в Данные> Разделить тексты на столбцы.
  3. Если хотите, измените разделитель.

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

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

Вот и все!

у меня есть задача создать простой лист Excel, который принимает неопределенное количество строк в столбце, как это:

1234
123461
123151
11321

и сделать их в список через запятую в другой ячейке, что пользователь может легко скопировать и вставить в другую программу, как это:

1234,123461,123151,11321

какой самый простой способ сделать это?

источник

предполагая, что ваши данные начинаются с A1, я бы поставил следующее в столбец B:

B1:

=A1

B2:

=B1&","&A2

затем можно вставить столбец B2 вниз по всему столбцу. Последняя ячейка в столбце B теперь должна быть списком через запятую столбца A.

отвечен Sux2Lose 2011-02-02 16:37:59

источник

  • скопируйте столбец в Excel
  • Открыть Word
  • «вставить специальный» как текст только
  • выберите данные в Word (тот, который вам нужно преобразовать в текст, разделенный ,),
    нажмите CtrlH (найти и заменить)
  • в поле» найти что » введите ^p
  • в поле «заменить на» введите ,
  • выберите «заменить все»

источник

на самом деле я только что создал модуль в VBA, который выполняет всю работу. Он берет мой список диапазонов и создает строку с разделителями-запятыми, которая выводится в ячейку по моему выбору:

Function csvRange(myRange As Range)
    Dim csvRangeOutput
    Dim entry as variant
    For Each entry In myRange
        If Not IsEmpty(entry.Value) Then
            csvRangeOutput = csvRangeOutput & entry.Value & ","
        End If
    Next
    csvRange = Left(csvRangeOutput, Len(csvRangeOutput) - 1)
End Function

Итак, в моей камере, я просто ставлю =csvRange(A:A) и это дает мне список разделенных запятыми.

источник

Если у вас есть Office 365 Excel, то вы можете использовать TEXTJOIN ():

=TEXTJOIN(",",TRUE,A:A)

enter image description here

источник

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

преобразовать.город/колонки в разделенный запятыми список

он преобразует столбец текста до запятой.

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

отвечен sunset 2015-04-22 20:56:08

источник

вы могли бы сделать нечто подобное. Если вы не говорите об огромной электронной таблице, это будет выполнять «ok»…

  • Alt-F11, создать макрос для создания списка (см. код ниже)
  • назначить его на ярлык или кнопку панели инструментов
  • пользователь вставляет свой столбец чисел в столбец A, нажимает кнопку, и их список переходит в ячейку B1.

вот код макроса VBA:

Sub generatecsv() 

Dim i As Integer
Dim s As String

i = 1

Do Until Cells(i, 1).Value = ""
    If (s = "") Then
        s = Cells(i, 1).Value
    Else
        s = s & "," & Cells(i, 1).Value
    End If
    i = i + 1 
Loop

Cells(1, 2).Value = s

End Sub

обязательно установите формат ячейки B1 в «текст», или вы получите испорченный номер. Я уверен, что вы можете сделать это и в VBA, но я не уверен, как на данный момент, и нужно вернуться к работе. ;)

отвечен mpeterson 2011-02-02 19:12:57

источник

используйте vi или vim, чтобы просто поставить запятую в конце каждой строки:

%s/$/,/

объяснить эту команду:

  • % означает выполнить действие (т. е. найти и заменить) для всех строк
  • s указывает на замещение
  • / разделяет аргументы (т. е. s/find/replace/options)
  • $ обозначает конец строки
  • , текст замены в данном случае

источник

вы можете использовать руководство How-To Geek по превращению строки в столбец и просто обратить его. Затем экспортируйте данные в формате csv (формат с разделителями-запятыми), и у вас есть свой текстовый список разделенных запятыми! Вы можете скопировать из блокнота и положил его обратно в Excel, если вы хотите. Кроме того, если вы хотите пробел после запятой, вы можете сделать функцию поиска и замены, заменив», «на»,». Надеюсь, это поможет!

отвечен Duall 2011-02-02 16:12:16

источник

muncherelli, мне понравился ваш ответ, и я подправил его :). Просто незначительная вещь, бывают случаи, когда я вытаскиваю данные из листа и использую его для запроса к базе данных. Я добавил необязательный параметр «textQualify», который помогает создать разделенный запятыми список, используемый в запросе.

Function csvRange(myRange As Range, Optional textQualify As String)
    'e.g. csvRange(A:A)  or csvRange(A1:A2,"'") etc in a cell to hold the string
    Dim csvRangeOutput
    For Each entry In myRange
        If Not IsEmpty(entry.Value) Then
            csvRangeOutput = csvRangeOutput & textQualify & entry.Value & textQualify & ","
        End If
    Next
    csvRange = Left(csvRangeOutput, Len(csvRangeOutput) - 1)
End Function

отвечен mitch 2011-04-08 15:54:06

источник

я улучшил generatecsv () sub для обработки листа excel, который содержит несколько списков с пустыми строками, разделяющими как заголовки каждого списка, так и списки из их названий. пример

list title 1

item 1
item 2

list title 2

item 1
item 2

и объединяет их, конечно, в несколько строк, 1 в списке.

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

    Sub generatecsv()

      Dim dataRow As Integer
      Dim listRow As Integer
      Dim data As String

      dataRow = 1: Rem the row that it is being read from column A otherwise known as 1 in vb script
      listRow = 1: Rem the row in column B that is getting written

      Do Until Cells(dataRow, 1).Value = "" And Cells(dataRow + 1, 1).Value = ""
        If (data = "") Then
          data = Cells(dataRow, 1).Value
        Else
          If Cells(dataRow, 1).Value <> "" Then
            data = data & "," & Cells(dataRow, 1).Value
          Else
            Cells(listRow, 2).Value = data
            data = ""
            listRow = listRow + 1
          End If
        End If
        dataRow = dataRow + 1
      Loop

      Cells(listRow, 2).Value = data

    End Sub

источник

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

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

Примечание: не забудьте транспонировать столбец в строку перед сохранением в формате csv. В противном случае Excel не будет знать, чтобы придерживаться запятых между значениями.

источник

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

http://zamazin.co/comma-separator-tool

enter image description here

отвечен Hakan 2016-11-22 08:28:17

источник

использовать =CONCATENATE(A1;",";A2;",";A3;",";A4;",";A5) на ячейке, которую требуется отобразить результат.

отвечен Johnny 2011-02-03 11:39:22

источник

Like this post? Please share to your friends:
  • Текстовые задачи с помощью excel
  • Текст цифры месяце excel
  • Текстовые задачи для excel
  • Текст формулы vba excel
  • Текст формата rtf word