【问题标题】: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)

          附上带有输入、附加列、输出和公式的示例图像

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-05-09
            • 2015-10-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-11-27
            • 2020-05-28
            • 2013-04-15
            相关资源
            最近更新 更多