如果值匹配,则将单元格数据连接到另一个数据

Sha*_*jan 2 excel vba excel-vba

我有两个columns A and B相同的excel表.我正在尝试,如果在Column B两个值匹配,那么它应该复制A相同的行中的相关值.

例如

Column A      Column B
xyz              1
abc              1
pqr              1  
eee              2
qqq              3
www              4
oop              5
Run Code Online (Sandbox Code Playgroud)

Desierd输出

column A         Column B
xyz,abc,pqr         1
eee                 2
qqq                 3
www                 4
oop                 5 
Run Code Online (Sandbox Code Playgroud)

小智 6

您可以使用用户定义函数(也称为UDF).把它放到模块表中.

Public Function conditional_concat_strs(rSTRs As Range, rCRITs As Range, rCRIT As Range, Optional sDELIM As String = ", ")
    Dim c As Long, sTMP As String

    Set rSTRs = rSTRs.Cells(1, 1).Resize(rCRITs.Rows.Count, rCRITs.Columns.Count)
    For c = 1 To rCRITs.Cells.Count
        If rCRITs(c).Value2 = rCRIT Then _
            sTMP = sTMP & rSTRs(c).Value & sDELIM
    Next c
    conditional_concat_strs = Left(sTMP, Application.Max(Len(sTMP) - Len(sDELIM), 0))
End Function
Run Code Online (Sandbox Code Playgroud)

像任何本机工作表函数一样使用.

      按标准连接字符串

  • 很抱歉听到这个消息.我提供的截图不是photoshopped. (3认同)