在Excel中的一个单元格中添加单元格区域的文本

时间:2011-11-17 15:24:14

标签: excel string-concatenation

我希望将一系列单元格连接到一个单元格中,而不使用宏/ vbscript。

公式CONCATENATE()获取单个单元格。

2 个答案:

答案 0 :(得分:4)

它不是那么容易,但我最终找到了一个能创造奇迹的解决方案!

A1:要搜索的文字

B1:BN:结果中的范围将为

B5:分隔符文本

=MID($A$1,LEN(CONCAT($B$1:B1))+COUNTA($B$1:B1)*LEN($B$5)+1,
    SEARCH(
        $B$5,
        $A$1,
        LEN(
           CONCAT($B$1:B1)) + COUNTA($B$1:B1)*LEN($B$5)+1)
           -(LEN(CONCAT($B$1:B1))+COUNTA($B$1:B1)*LEN($B$5)+1))

至于现在,它完美无缺。请注意,您可以使用任何文本作为分隔符。就我而言,它是“逗号+空格”。

Concat是一个连接一系列单元格的简单函数:

Function Concat(myRange As Range) As String
  Dim r As Range
  Application.Volatile
  For Each r In myRange
    If Len(r.Text) Then
      Concat = Concat & IIf(Concat <> "", "", "") & r.Text
    End If
  Next
End Function

答案 1 :(得分:1)

您可以使用CONCATENATE()&加入单元格。除非您使用诸如MCONCAT之类的UDF,否则您无法一次性获取所有范围。