从列表Excel中创build逗号分隔

我正在寻找从列列表中创build逗号分隔的值,我有一个条件,为not_simple单元格不连接,是否有一种方法,一个公式来创build一个新的单元格与列数组中的逗号分隔的列表?

下面展示一个excel表格的例子和我需要的结果。

http://postimg.org/image/ql7gi4z59/ 在这里输入图像说明

任何帮助非常感谢!

B9中input:

=B2 & "," & B3 & "," & B4 & ","& B5 & ","&B6 & ","&B7 & "," & B8 

类似于您的其他单元格。

编辑#1

对于更一般的方法,使用下面的UDF

 Public Function KonKatenate(rIn As Range) As String For Each r In rIn KonKatenate = KonKatenate & "," & r.Text Next r KonKatenate = Mid(KonKatenate, 2) End Function 

用户定义的函数(UDF)非常易于安装和使用:

  1. ALT-F11调出VBE窗口
  2. ALT-I ALT-M打开一个新的模块
  3. 粘贴东西,closuresVBE窗口

如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx

要删除UDF:

  1. 如上所示调出VBE窗口
  2. 清除代码
  3. closuresVBE窗口

从Excel中使用UDF:

= KonKatenate(B2:B8)

要了解有关macros的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

有关UDF的具体信息,请参阅:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

macros必须启用这个工作!

如果你从这个线程中获得我的用户定义函数 ,你应该可以在工作表中使用它来收集正确的连接。 首先抓住这个UDF,并按照页面上的说明把它放到一个模块中。

接下来,在您的数据和过滤列A上应用数据►分类和filter►filter并不简单

接下来,您将希望切换到R1C1单元寻址,因为R1C1中所有单元的公式相同,但是A1单元寻址的相对单元地址不同。 对于Excel 2010,这是Excel选项►公式►R1C1参考样式( Alt + FT然后F然后Alt + R然后确定 )。

将以下公式粘贴到筛选范围内的数据单元格中。 根据你的样品,这将是R9C2或B9。

 =udf_stitch_Together(INDEX(C,MAX(INDEX(ROW(R1:R[-1])*(R1C1:R[-1]C1="not simple"),,),1)+1):INDEX(C, ROW(R[-1])), ",") 

R1C1 Concat配方

由于您处于R1C1模式,因此列A中的列A 不是简单的列中的每个单元格都可以使用相同的公式。 填充下来然后正确填写C4或列D.移除筛选器的结果如上。

填写公式的另一种方法可能是select范围,然后使用GoTo►Special►Blanks。 把公式放入第一个单元格,然后按Ctrl + Enter

用你用来进入R1C1模式的相同方法回到A1单元寻址。

编辑:该公式可以放入第一个单元格,然后填充下来和右侧的过滤的数据。