Can you have a column of data moved to a single cell with commas separating the values that were in the column? Kind of reverse text to columns.
e.g.,
1
2
3
4
5
to 1,2,3,4,5
in a single cell.
asked Mar 23, 2012 at 22:03
1
Using a User Defined Function will much more flexible than hard-coding cell by cell
- Press alt & f11together to go to the VBE
- Insert Module
- copy and paste the code below
- Press alt & f11together to go back to Excel
use your new formula like the one in the D6 cell snapshot
=ConCat(A1:A5)
You can use more complex formulae such as the one in D7
=ConCat(A1:A5,A7:A24)
or D8 whihc is 2D
=concat(A1:B5,A7:A24)
Function ConCat(ParamArray rng1()) As String
Dim X
Dim strOut As String
Dim strDelim As String
Dim rng As Range
Dim lngRow As Long
Dim lngCol As Long
Dim lngCnt As Long
strDelim = ", "
For lngCnt = LBound(rng1) To UBound(rng1)
If TypeOf rng1(lngCnt) Is Range Then
If rng1(lngCnt).Cells.Count > 1 Then
X = rng1(lngCnt).Value2
For lngRow = 1 To UBound(X, 1)
For lngCol = 1 To UBound(X, 2)
strOut = strOut & (strDelim & X(lngRow, lngCol))
Next
Next
Else
strOut = strOut & (strDelim & rng2.Value)
End If
End If
Next
ConCat = Right$(strOut, Len(strOut) - Len(strDelim))
End Function
answered Mar 24, 2012 at 3:07
brettdjbrettdj
2,09720 silver badges23 bronze badges
-
First, do
=concatenate(A1,",")
in the next column next to the one you have values.
-
Second, copy the whole column and go to another sheet do Paste Special-> Transpose.
- Thirdly copy the value you just got, and open a word document, then choose Paste Options -> choose «A»,
- Last, copy everything in the word document back to a cell in an excel sheet,you would get all values in one cell
answered Sep 17, 2012 at 5:30
RonRon
511 silver badge2 bronze badges
You could use the concatenate function and alternate between cells and the string ","
:
=CONCATENATE(A1,",",A2,",",A3,",",A4,",",A5)
answered Mar 23, 2012 at 22:11
shuflershufler
1,7569 silver badges15 bronze badges
If it’s a looong column of values, you can use the CONCATENATE function, but to do it quickly is a little tricky. Assuming the cells were A1:A10, in B9 and B10 put these formulas:
B9: =A9&»,»&B10
B10: =A10
Now, copy B9 and paste in all the cells UP to the top of column B.
In B1 you will now have you full result. Copy > Paste Special > Values.
answered Mar 24, 2012 at 1:12
Amazing answer, karthikeyan. I didn’t want to waste time in VB either or even to escape from Ctrl+H. This would be most simplest, and I am doing this.
- Insert a new row on top (A).
- Just above number 1 (i.e. on A1), type an equals character (=).
- Copy/paste a comma (,) from B1 to B23 (not in B24).
- Select A1 to B24, copy/paste in Notepad.
- In Notepad press (Select All) Ctrl+A, press (Copy) Ctrl+C,
then click inside a single cell in Excel (F2), then (Paste) Ctrl+V.
karel
13.3k26 gold badges44 silver badges52 bronze badges
answered Jan 4, 2016 at 4:32
Notepad is the simplest and fastest.
From Excel, I added in a column for running numbers in column A. My data is in Column B.
Then copied column A & B to notepad.
Removed the extra spaces by using the replace function in notepad.
Copied from notepad and pasted back to excel in the single cell I wanted the data in. All done. No VB needed!
answered Jan 31, 2016 at 7:06
Its very simple with 2 steps. First put comma in each cell of the source column (using concatenate function) and then combine all row values into one cell (using CONCAT function).
-
First make a new column with concatenating with comma by putting below formula
=concatenate(A1,»,»)
Drag this new column formula until the last row, so that you will get all values with comma. -
In the cell where you want the final values, put below formula and you are done:
=CONCAT(B1:B28)
answered Nov 13, 2019 at 9:43
All above answers would do the trick but in my opinion, this would be the correct solution,
=TEXTJOIN(",",TRUE,A:A)
answered Sep 10, 2020 at 17:13
Best and Simple solution to follow:
Select the range of the columns you want to be copied to single column
Copy the range of cells (multiple columns)
Open Notepad++
Paste the selected range of cells
Press Ctrl+H, replace t by n and click on replace all
all the multiple columns fall under one single column
now copy the same and paste in excel
Simple and effective solution for those who dont want to waste time coding in VBA
answered Nov 9, 2015 at 10:22
1
The easiest way to combine list of values from a column into a single cell I have found to be using a simple concatenate formula.
1) Insert new column
2) Insert concatenate formula using the column you want to combine as the first value, a separator (space, comma, etc) as the second value, and the cell below the cell you placed the formula in as the third value.
3) Drag the formula down through the end of the data in the column of interest
4) Copy & paste special values in the newly created column to remove the formulas, and BOOM!…all values are now in the top cell.
For example, the following formula will combine all values listed in column A in cell C3 with a semi-colon separating them
=CONCATENATE(A3,»;»,C4)
answered Aug 21, 2018 at 18:33
1
1.Select all rows and copy
2.Paste special > Transpose
3.Select all new rows and copy
4.Paste to notepad(now we have single row in notepad separated by space)
5.Select all copy and paste to single excel cell
6.Replace space with comma in excel
answered Feb 11, 2022 at 11:42
First need to add comma after one for one cell (Like this 1,) then give Control + E for flash fill. After that just give concat formula,(=concat(A1:A5))
.
Giacomo1968
52.1k18 gold badges162 silver badges211 bronze badges
answered Sep 28, 2022 at 17:24
Here’s a quick way… Insert a column of «, » next to each value using fill. Place a CONCATE formula, anywhere, with both columns in the range, done. The result is a single cell, concatenated list with commas and a space after each.
answered May 26, 2017 at 22:20
2
Преобразование столбца чисел в одну ячейку, с последующим разделением всех цифр.
Автор denis-obn, 25.11.2011, 16:59
« назад — далее »
Доброе время суток!
Решил оптимизировать свою работу с помощью Excel , но столкнулся с такой проблемой.
Хочу преобразовать кучу ячеек в одну, а так чтобы потом ячейки разделялись цифры (двоеточием, запятой и т.д.) в ячейке куда я помещу преобразованные данные.
как это сделать?
Спасибо за ответ!
з.ы. может вам покажется простым решением. но я не нашел из нее выход!
Цитата: denis-obn от 25.11.2011, 16:59
Решил оптимизировать свою работу с помощью Excel
Хочу преобразовать кучу ячеек в одну, а так чтобы потом ячейки разделялись цифры (двоеточием, запятой и т.д.) в ячейке куда я помещу преобразованные данные.
Это по вашему оптимизация? А как Вы с такими данными будете потом работать, Вы не подумали?
ЗЫ Есть функция =СЦЕПИТЬ().
я уже эти данные получаю на выходе, их необходимо потом в word перенести.
Эм….
Преобразую цифры.
Сцепить получиться ли?
ЦитироватьЭм….
Преобразую цифры.
Сцепить получиться ли?
Тогда есть еще функция ТЕКСТ.
СЦепить не подойдет потому что постоянно меняется количество строк (столбцов) посоветуйте что нибудь другое.
Решение нашел, единственное чуть длинней, чем хотел, но все равно приятней чем было раньше=)
Спасибо
Цитата: denis-obn от 25.11.2011, 18:13
Решение нашел, единственное чуть длинней, чем хотел, но все равно приятней чем было раньше=)
Спасибо
а не могли бы Вы поделиться своим решением . Целый день мучаюсь — пытаюсь найти что-либо покрасивее чем «сцепить»
Значит выход такой нашел.
excel
сначала преобразую столбик в строку(excel)копировать спомощью специальной вставки, потом копирую получившуюся строку в
WORD, жму — таблица-преобразовать-таблицу в текст (разделяю запятыми и все)
UDF:
Function JoinDiap(Arr, Optional del As String = " ") As String
Dim i As Long, x
For Each x In Arr
If x <> "" Then
JoinDiap = JoinDiap & IIf(i, del, "") & x
i = i + 1
End If
Next x
End Function
- Профессиональные приемы работы в Microsoft Excel
-
►
Обмен опытом -
►
Microsoft Excel -
►
Преобразование столбца чисел в одну ячейку, с последующим разделением всех цифр.
#Руководства
- 29 апр 2022
-
0
Инструкции со скриншотами и нюансами. Учим использовать кнопку «Объединить» и функции СЦЕПИТЬ, СЦЕП, ОБЪЕДИНИТЬ. Рассказываем, какой метод выбрать.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Объединение ячеек в Excel позволяет из нескольких ячеек таблицы сделать одну. Такая опция обычно требуется в двух случаях:
- если нужно отформатировать таблицу — например, расположить название таблицы по центру, убрать лишние пустые ячейки или оформить шапку;
- если нужно объединить информацию — из нескольких строк или столбцов сделать одну ячейку, при этом сохранив все данные.
Рассмотрим четыре способа объединения ячеек в Excel. Разберёмся, для каких случаев они подойдут и как их применять. В конце расскажем, какие из этих способов работают в «Google Таблицах».
- Кнопка «Объединить» — когда нужно сделать шапку в таблице.
- Функция СЦЕПИТЬ — когда нужно собрать данные из нескольких ячеек в одну.
- Функция СЦЕП — когда нужно собрать данные из большого диапазона.
- Функция ОБЪЕДИНИТЬ — когда нужно собрать данные из большого диапазона и автоматически разделить их пробелами.
Для чего подойдёт. Для форматирования таблицы, когда нужно улучшить её внешний вид. Например, сделать общую шапку для нескольких столбцов. Лучше, чтобы объединяемые ячейки были пустыми или информация была только в одной из них.
Особенности метода. После объединения сохраняется только значение первой ячейки, информация из других удаляется.
Как сделать. Допустим, нужно отформатировать таблицу с каталогом авто: оформить шапку для колонок с характеристиками и убрать лишнюю пустую ячейку.
Скриншот: Skillbox
Для начала сделаем шапку. Выделяем ячейки над колонками с характеристиками авто: год выпуска, объём двигателя, коробка передач, привод, руль.
Скриншот: Skillbox
На вкладке «Главная» нажимаем на кнопку «Объединить ячейки» или «Объединить и поместить в центре» — в зависимости от того, какой визуальный результат хотим получить.
Скриншот: Skillbox
В итоге вместо пяти ячеек получаем одну. Вводим её название и меняем оформление, если нужно.
В нашем случае получилась шапка части таблицы — «Характеристики автомобилей».
Скриншот: Skillbox
По аналогии с предыдущими шагами уберём лишнюю пустую ячейку над ячейкой «Марка, модель». Для этого нужно выделить их одновременно и также нажать на кнопку «Объединить и поместить в центре».
Скриншот: Skillbox
Получаем таблицу в таком виде:
Скриншот: Skillbox
Чтобы убрать объединение ячеек, выделим их и нажмём на кнопку «Отмена объединения ячеек». Можно выбирать всю таблицу целиком — тогда Excel сам найдёт объединённые ячейки и разъединит их. Можно выделить отдельный диапазон — в этом случае разъединится только он. Мы выделим и разъединим всю шапку таблицы.
Скриншот: Skillbox
Получим таблицу в таком виде. Можно внести необходимые изменения, если нужно, и объединить ячейки снова.
Скриншот: Skillbox
Дополнительно в этом методе есть кнопка «Объединить по строкам». С помощью неё можно объединить ячейки выбранного диапазона построчно. Например, есть диапазон из трёх столбцов и семи строк — нужно из всех этих столбцов сделать один, но при этом оставить количество строк неизменным. Выделим всю таблицу целиком и нажмём эту кнопку.
Скриншот: Skillbox
Получим таблицу в таком виде — три столбца объединились в один, при этом количество строк осталось прежним.
Скриншот: Skillbox
Следующие три способа используются для объединения ячеек с сохранением всех данных в них. Они работают по такому принципу: функции собирают значения из выбранных ячеек в отдельную пустую ячейку.
Например, нам нужно собрать все характеристики автомобилей в одну строку, чтобы в дальнейшем использовать их для квитанции. Разберёмся, как сделать это с помощью трёх функций.
Для чего подойдёт. Для объединения небольшого количества ячеек с сохранением всех данных.
Особенности метода. Каждую ячейку нужно указывать в виде отдельного аргумента функции; большой диапазон сразу выделить нельзя.
Функция склеивает все данные из исходных ячеек в итоговую ячейку. Часто эти данные нужно разделить: вставить пробелы, знаки препинания, символы или слова. Это придётся прописывать вручную в строке ссылок.
Как сделать. Для начала выделим ячейку, в которую функция соберёт значения из объединяемых ячеек. В нашем случае создадим дополнительную колонку «Данные для квитанции» и выделим первую ячейку.
Скриншот: Skillbox
Дальше открываем окно для построения функции. Есть два способа сделать это. Первый — перейти во вкладку «Формулы» и нажать на «Вставить функцию».
Скриншот: Skillbox
Второй способ — нажать на «fx» в строке ссылок на любой вкладке таблицы.
Скриншот: Skillbox
Справа появляется окно «Построитель формул». В нём через поисковик находим функцию СЦЕПИТЬ и нажимаем «Вставить функцию».
Скриншот: Skillbox
Появляется окно для ввода аргументов функции. «Текст 1», «Текст 2» — ячейки, значения которых мы объединяем. В нашем случае таких ячеек пять, поэтому с помощью кнопки + добавляем ещё три таких аргумента.
Скриншот: Skillbox
Заполняем аргументы функции. Поочерёдно нажимаем на окно каждого аргумента и из таблицы выбираем значение для него.
Порядок действий, чтобы указать значение, выглядит так:
- Ставим курсор в окно «Текст1» в построителе формул.
- Выбираем первое значение столбца «Год выпуска» в таблице. Это ячейка B4.
Выбранное значение переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕПИТЬ(B4).
То же самое делаем для остальных аргументов: «Текст2» → значение ячейки «Объем», «Текст3» → значение ячейки «Коробка передач», «Текст4» → значение ячейки «Привод», «Текст5» → значение ячейки “Руль”.
В итоговом виде функция получается такой: fx=СЦЕПИТЬ(B4; C4; D4; E4; F4). Нажимаем кнопку «Готово».
Скриншот: Skillbox
Скриншот: Skillbox
Функция объединила данные всех ячеек, но не добавила пробелы и знаки препинания между ними. В этом методе их можно добавить только вручную, с помощью изменений в строке ссылок.
Добавляем в получившуюся функцию после значения каждого аргумента запятую и пробел, в таком виде, вместе с кавычками: «, «;
Скриншот: Skillbox
Получаем функцию в таком виде: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Нажимаем Enter.
Скриншот: Skillbox
Таким же образом можно добавить не только пробелы и знаки препинания, но и целые слова и фразы.
Для нашего примера можно преобразовать функцию к такому виду: fx=СЦЕПИТЬ(«год выпуска «;B4;», объем «;C4;», коробка передач «;D4;», привод «;E4;», руль «;F4). Главное — не забывать указывать все необходимые пробелы, которые должны быть между объединёнными данными.
Скриншот: Skillbox
Дальше нужно протянуть это значение вниз до конца таблицы, чтобы функция объединила характеристики всех остальных автомобилей.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением всех данных.
Особенности метода. Можно указать сразу весь диапазон ячеек. Но функция, как и СЦЕПЛЕНИЕ, склеит их: значения не будут ничем разделены.
Есть два способа разделить значения в итоговой ячейке. Первый — указывать разделители (слова, символы. пробелы, запятые и так далее) в окне построения формул после каждой ячейки. Второй — прописывать их вручную в строке ссылок.
Как сделать. По аналогии с функцией СЦЕПЛЕНИЕ выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию СЦЕП.
Скриншот: Skillbox
Появляется окно построителя формул. В нём аргумент «Текст 1» — диапазон ячеек, который нужно объединить. В нашем случае выделяем все ячейки с характеристиками автомобилей и жмём «Готово».
Выбранное значение диапазона переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=СЦЕП(B4:F4).
Скриншот: Skillbox
Скриншот: Skillbox
Как и в предыдущем случае, функция объединила данные всех ячеек, но снова слепила их между собой. Добавить пробелы и знаки препинания в этом методе можно через построитель формул. К сожалению, тогда придётся отказаться от выделения всего диапазона и вводить значения каждого аргумента отдельно, разбавляя их пробелами, запятыми или дополнительными словами.
Вернёмся в окно построения функции и поменяем аргументы на такой вид: «Текст1» → значение ячейки «Год выпуска», «Текст2» → «, «, «Текст3» → значение ячейки «Объём», «Текст4» → «, «. И так далее до последней ячейки, которую нужно объединить: чередуем значения ячеек и аргумент-разделитель.
Затем нажимаем «Готово». Итоговое значение функции принимает вид: fx=СЦЕП(B4;», «;C4;», «;D4;», «;E4;», «;F4), и данные ячейки разделяются запятыми и пробелами.
Скриншот: Skillbox
Скриншот: Skillbox
Чтобы добавить не только запятые с пробелами, но и слова, нужно дописать их в промежуточных аргументах функции. Сделаем это на нашем примере. Вернёмся в построитель формул и заменим данные:
«Текст2» → «, объём «, «Текст4» → «, коробка передач «, «Текст6» → «, привод «, «Текст8» → «, руль «.
Скриншот: Skillbox
В итоге функция выдаёт значение, где все данные разделены между собой дополнительными словами. Формула при этом принимает вид: fx=СЦЕП (B4;”, объём “; C4;”, коробка передач “; D4;”, привод “; E4;”, руль “; F4).
Скриншот: Skillbox
Как и в предыдущем методе, можно было вносить изменения в формулу сразу в строке ссылок. Но через окно построения функций это делать удобнее — меньше вероятность ошибиться.
Протягиваем полученное значение вниз до конца таблицы — функция объединяет характеристики всех остальных автомобилей по такому же принципу.
Скриншот: Skillbox
Для чего подойдёт. Для объединения больших диапазонов ячеек с сохранением данных.
Особенности метода. Можно указать сразу весь диапазон ячеек и разделитель для них. При этом значение самого разделителя будет одним для всех объединённых ячеек. Если нужно изменить разделитель для части ячеек — делать это придётся вручную в строке ссылок.
Как сделать. Выделим ячейку, в которую функция будет собирать значения. Откроем окно для построения функций и найдём функцию ОБЪЕДИНИТЬ.
Скриншот: Skillbox
Появляется окно построителя формул. Здесь аргументы не такие очевидные, как в предыдущих двух методах, поэтому разберём каждый подробнее.
«Разделитель» — значение, которое появится между ячейками после объединения. Разделитель будет одинаковым для всех ячеек.
В нашем случае в качестве разделителя добавим запятую и пробел: «, «.
Скриншот: Skillbox
«Пропускать_пустые» — условное значение, которое определит, что функция будет делать с пустыми ячейками в диапазоне:
- Если нужно, чтобы пустые ячейки игнорировались и разделители не дублировались в них, вводим 1 (ИСТИНА).
- Если нужно, чтобы пустые ячейки обязательно учитывались, вводим 0 (ЛОЖЬ).
В нашем примере в таблице нет пустых ячеек, поэтому не принципиально, какое значение устанавливать в этом аргументе. Введём 1.
Скриншот: Skillbox
«Текст1» — значения ячеек, которые нужно объединить. Можно выбирать одним диапазоном или вводить каждое значение по отдельности.
В нашем примере выберем все ячейки одним диапазоном.
Скриншот: Skillbox
Итоговая функция в строке ссылок принимает вид: fx=ОБЪЕДИНИТЬ(«, «;1;B4:F4).
Нажимаем кнопку «Готово» и растягиваем полученную ячейку на все остальные строки.
Скриншот: Skillbox
В итоге функция объединила данные всех ячеек и сразу разделила их запятыми и пробелами. С одной стороны, это удобно: не пришлось вводить разделители несколько раз. С другой стороны, функция позволила ввести только одно значение разделителя. Если нужно дополнить значения дополнительным текстом, разным для всех ячеек, — придётся делать это вручную через построитель формул. Как это сделать, можно посмотреть в предыдущей инструкции для функции СЦЕП.
Какие методы объединения ячеек есть в «Google Таблицах»? В них есть кнопка «Объединить», которая работает по аналогии с Excel. Также есть функция СЦЕПИТЬ, но нет окна построителя формул — прописывать значения придётся вручную. Если вам нужен разделитель в виде запятой и пробела, то функция будет выглядеть так: fx=СЦЕПИТЬ(C4;», «;D4).
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше
Объединение текста из двух или нескольких ячеек в одну
Данные из нескольких ячеек можно объединить в одну с помощью символа «амперсанд» (&) или функции СЦЕП.
Объединение данных с помощью символа «амперсанд» (&)
-
Выделите ячейку, в которую вы хотите вставить объединенные данные.
-
Введите = (знак равенства) и выберите первую ячейку, которую нужно объединить.
-
Введите символ & и пробел, заключенный в кавычки.
-
Выберите следующую ячейку, которую нужно объединить, и нажмите клавишу ВВОД. Пример формулы: =A2&» «&B2.
Объединение данных с помощью функции СЦЕП
-
Выделите ячейку, в которую вы хотите вставить объединенные данные.
-
Введите выражение = СЦЕП(.
-
Выберите первую ячейку, которую нужно объединить.
Для разделения объединяемых ячеек используйте запятые, а для добавления пробелов, запятых и другого текста — кавычки.
-
Введите закрывающую скобку в конце формулы и нажмите клавишу ВВОД. Пример формулы: =CONCAT(A2, » Семья»).
Дополнительные сведения
См. также
Функция ОБЪЕДИНИТЬ
Функция CONCAT
Объединение и отмена объединения ячеек
СЦЕПИТЬ
Рекомендации, позволяющие избежать появления неработающих формул
Автоматическая нумерация строк
Нужна дополнительная помощь?
Выборка значений из столбцов в одну ячейку через запятую |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |