【问题标题】:excel function to combine cells into single line of text?excel函数将单元格组合成单行文本?
【发布时间】:2018-01-25 19:08:41
【问题描述】:
我是堆栈溢出的新手,所以如果这是一个非常愚蠢的问题,我深表歉意。我想知道是否有一种函数或方法可以在excel中编写一个函数,它将一列单元格与纯文本结合起来,并将它们转换成一个单元格,文本在一行上?具体来说,我想将一列随机数转换为单行文本,并在它们之间插入 SPACE+AND+SPACE。
例如。
15133484
12345188
12345888
到
15133484 和 12345188 和 12345888
目前我正在将所有这些信息复制并粘贴到谷歌中,然后到 Word 中并使用查找/替换,而且每次都需要很长时间。如果可以让 Excel 为我做这件事,那就太棒了。
谢谢!
【问题讨论】:
标签:
excel
function
excel-formula
excel-2010
【解决方案1】:
如果您有 Office 365 Excel,请使用 TEXTJOIN():
=TEXTJOIN(" AND ",TRUE,A:A)
否则必须使用:
=A1 & " AND " & A2 & " AND " & A3
或者可以使用辅助列,B1 放置:
=A1
把这个放在B2并抄下来:
=IF(A2<>"",B1 & " AND " & A2,B1)
然后抓取 B 列中的最后一个单元格。
【解决方案2】:
有点晚了,但还是:
参考here
第 1 步:
=concatenate(transpose(rngBeg:rngEnd & " AND "))
第 2 步:
突出显示转置语句,然后按 F9,它将用实际值替换公式。
第 3 步:
从公式中删除花括号 { }。该单元格将显示参考单元格的范围以及与符号后选择的任何分隔符。
不是“实时”公式,但仍然比手动连接一系列值要容易得多。
【解决方案3】:
按 ALT+F11 打开 Microsoft Visual Basic for Applications,
插入-> 模块
粘贴这个:
Function Combine(WorkRng As Range, Optional Sign As String = " AND ") As String
Dim Rng As Range
Dim OutStr As String
For Each Rng In WorkRng
If Rng.Text <> "," Then
OutStr = OutStr & Rng.Text & Sign
End If
Next
Combine = Left(OutStr, Len(OutStr) - 5)
End Function
在任何单元格类型中 =Combine(Range)
即
=合并(A1:A500)
【解决方案4】:
如果您可以像这样在 excel 中添加额外的列,请使用 concat 函数:
=CONCAT(D3:E5)
附上带有输入、附加列、输出和公式的示例图像