从列表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)非常易于安装和使用:
- ALT-F11调出VBE窗口
- ALT-I ALT-M打开一个新的模块
- 粘贴东西,closuresVBE窗口
如果保存工作簿,则UDF将随之保存。 如果您在2003年以后使用的是Excel版本,则必须将该文件另存为.xlsm而不是.xlsx
要删除UDF:
- 如上所示调出VBE窗口
- 清除代码
- 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 + F , T然后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模式,因此列A中的列A 不是简单的列中的每个单元格都可以使用相同的公式。 填充下来然后正确填写C4或列D.移除筛选器的结果如上。
填写公式的另一种方法可能是select范围,然后使用GoTo►Special►Blanks。 把公式放入第一个单元格,然后按Ctrl + Enter 。
用你用来进入R1C1模式的相同方法回到A1单元寻址。
编辑:该公式可以放入第一个单元格,然后填充下来和右侧的过滤的数据。