eXcel公式中的所有列值由“,”

看看列A包含像下面的图像的值。 我想要一个公式来做到这一点。 我不想解决

=CONCATENATE(A1,",",A2,",",A3,",",A4,",",A5) 

在这里输入图像说明

Excel 2016有一个名为TextJoin()的新函数,语法如下

= TextJoin(分隔符,忽略空单元格,范围)

有了这个,你可以使用公式

 =TEXTJOIN(",",TRUE,A1:A5) 

在这里输入图像说明

评论后编辑:这是Excel 2016中的一个新公式,2010年不存在。

但是,有许多用户定义的函数(UDF)macros比Concatenate做得更好,可以在Excel 2010中使用。例如, 在Jon Acampora的这篇文章中 。 您将需要在每个想要使用该特殊function的电子表格中使用VBA代码,并且所有这些电子表格都需要启用macrosfunction表才能使用这些特殊function。

尝试这个

  =A1&","&A2&","&A3&","&A4 

或者创build自定义的VBAfunction

 Public Function Join(rng As Range, delimiter As String) As String Dim cell As Range For Each cell In rng Join = Join & cell.Text & delimiter Next cell ' remove the last delimiter Join = Left(Join, Len(Join) - Len(delimiter)) End Function 

对于一个长长的列表来说,一个更复杂的公式,但是一个“自动调整”的副本可能适合:

 =IF(A2="",LEFT(B1&A2&",",LEN(B1&A2&",")-2),B1&A2&",") 

假设一行插入在B1空白的顶部。 输出将在Row1之后的ColumnA中的第一个空白单元格的行B的列中。