Mel*_*Dog 1 excel excel-formula
我有一个包含 100 多个条目的电子表格。一列由 ID 组成。我需要将它们组合成一个字符串,每个 ID 用逗号分隔,例如:
|123| |567| |890|
成为一个具有该值的单元格
123,567,980
Run Code Online (Sandbox Code Playgroud)
我知道我可以concat每个细胞,但有数百个。
有没有办法可以连接整个列,但用逗号分隔?
我得到的关闭是:
=CONCAT(A:A)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何添加分隔符,所以它只是输出:
123567980
Run Code Online (Sandbox Code Playgroud)
您可以使用TEXTJOIN:
=TEXTJOIN(",",TRUE,A1:A3)
' Output : 123,456,789
Run Code Online (Sandbox Code Playgroud)
或者使用 VBA 自定义函数:
=ConcatWithSep(A1:A3,",")
Function ConcatWithSep(Ref As Range, Sep As String) As String
Dim Row As Range
Dim Output As String
For Each Row In Ref
Output = Output & Row.Value & Sep
Next Row
ConcatWithSep = Left(Output, Len(Output) - 1)
End Function
Run Code Online (Sandbox Code Playgroud)
PowerQuery 使用Table.Transpose和的另一个解决方案Table.CombineColumns:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", Int64.Type}}),
#"Transposed Table" = Table.Transpose(#"Changed Type"),
#"Merged Columns" = Table.CombineColumns(Table.TransformColumnTypes(#"Transposed Table", {{"Column1", type text}, {"Column2", type text}, {"Column3", type text}}, "en-US"),{"Column1", "Column2", "Column3"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged")
in
#"Merged Columns"
Run Code Online (Sandbox Code Playgroud)