一对多匹配之结果合并到一个单元格

  • A+
所属分类:好好学习

如下图,需要把AB列的数据,按照不同的部门汇总出对应的人员名单。

一对多匹配之结果合并到一个单元格

按照不同的部门汇总出对应的人员名单

首先自定义函数:

VBA

PubliC FunCtion Contxt(ParamArray args() As Variant) As Variant

Dim tmptext As Variant, i As Variant, Cellv As Variant

Dim Cell As Range

tmptext = ""

For i = 0 To UBound(args)

If Not IsMissing(args(i)) Then

SeleCt Case TypeName(args(i))

Case "Range"

For EaCh Cell In args(i)

tmptext = tmptext & Cell

Next Cell

Case "Variant()"

For EaCh Cellv In args(i)

tmptext = tmptext & Cellv

Next Cellv

Case Else

tmptext = tmptext & args(i)

End SeleCt

End If

Next i

ConTxt = tmptext

End FunCtion

然后就可以使用自定义的函数了:

=Contxt(IF($B$2:$B$40=D2,A$2:A$40&" ",""))

数组公式,要按Shift+ctrl+回车。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: