2011-02-02 16:01:08 +0000 2011-02-02 16:01:08 +0000
132
132

将一个列转换为逗号分隔的列表

我有一个简单的Excel表格的任务,需要在A列中取一个未指定的行数,像这样:

1234
123461
123151
11321

,然后将它们转换为逗号分隔的列表,在另一个单元格中,用户可以很容易地复制并粘贴到另一个程序中,像这样:

1234,123461,123151,11321

有什么最简单的方法吗?

答案 (14)

146
146
146
2011-02-02 16:37:59 +0000

假设你的数据从A1开始,我会在B列中放入以下内容:

B1:

=A1

B2:

=B1&","&A2

你可以将B2列粘贴到整个列中。现在B列中的最后一个单元格应该是A列的逗号分隔的列表。

76
76
76
2012-06-05 05:24:51 +0000
  • 在Excel中复制列 —-打开Word —-“粘贴特殊 "仅作为文本 —-在Word中选择数据(需要转换为文本的数据,用,隔开),按Ctrl-H(查找&替换) —在 "查找什么 "框中键入^p —在 "替换为 "框中键入, —选择 "全部替换”
34
34
34
2017-01-25 18:05:00 +0000
23
23
23
2011-02-03 14:10:54 +0000

实际上,我只是在VBA中创建了一个模块,它可以完成所有的工作。它把我的Rangeed列表,然后创建一个逗号分隔的字符串,输出到我选择的单元格中:

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)放在里面,它就会给我一个逗号分隔的列表。

10
10
10
2015-04-22 20:46:58 +0000

另一种方法是将Excel列粘贴到这个浏览器中的工具中: convert.town/column-to-comma-separated-list

它可以将一列文本转换为逗号分隔的列表。

7
7
7
2011-02-06 22:53:14 +0000

使用vi,或vim在每行的末尾加上一个逗号:

%s/$/,/

解释一下这个命令: - %表示对所有的行进行操作(即查找和替换) - s表示替换, - /表示分隔参数(即 - s/find/replace/options) - $表示行的结束,在本例中 - ,是替换文本

7
7
7
2011-02-02 19:12:57 +0000

你可以这样做。如果你不是在讨论一个巨大的电子表格,那么这个操作就可以了…..

  • 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

&001

要确保将B1单元格的格式设置为 “文本",否则你会得到一个混乱的数字。我相信你也可以在VBA中做,但我不知道如何做,现在还需要回去工作。)

2
2
2
2011-04-08 15:54:06 +0000

muncherelli,我很喜欢你的回答,我调整了一下:)。) 只是一件小事,有的时候我从一个表中拉出数据,然后用它来查询数据库。我添加了一个可选的 “textQualify "参数,可以帮助创建一个逗号分隔的列表,在查询中使用。

2
2
2
2011-02-02 16:12:16 +0000

你可以使用How-To Geek的指南将一行变成一列,然后简单地将其反转。然后将数据导出为csv(逗号删除格式),你就有了你的纯文本逗号分隔的列表了!你可以从记事本中复制到excel中,如果你想的话,可以把它放回excel中。你可以从记事本中复制,如果你想的话,可以把它放回excel中。另外,如果你想在逗号后面加个空格,你可以用",“,”, “代替”,“。

1
1
1
2014-10-06 22:56:30 +0000

Sux2Lose的回答是我的首选方法,但如果你处理的是几千行以上的数据,那就不行了,如果你的电脑可用内存不多,可能会断掉更少的行。然后将工作簿保存为A1。现在你的csv基本上就是一个纯文本的逗号分隔的列表,你可以在文本编辑器中打开。否则Excel不会知道在值之间加逗号。

1
1
1
2011-09-28 17:23:52 +0000

我改进了generatecsv()子程序,以处理一个包含多个列表的excel表,在每个列表的标题和列表的标题之间用空行隔开。所以我修改了这个例程,并得出了以下的方法,同时我把变量名改为有意义的名字:

list title 1

item 1
item 2

list title 2

item 1
item 2
0
0
0
2019-11-29 07:33:32 +0000

我是这样做的

删除了所有不需要的列和数据,然后保存为.csv文件,然后用Visual Studio代码编辑器替换了多余的逗号和新的行。你好

-1
-1
-1
2016-11-02 12:45:34 +0000

其中一个最简单的方法是使用zamazin.co web app来完成这类逗号分隔任务。只需填写列数据,然后点击转换按钮,就可以制作一个逗号分隔的列表。你甚至可以使用一些其他设置来提高所需的输出。 http://zamazin.co/comma-separator-tool

-2
-2
-2
2011-02-02 16:32:57 +0000

在你要显示结果的单元格上使用=CONCATENATE(A1;",";A2;",";A3;",";A4;",";A5)