求查找多个匹配值并把所有的匹配值都在同一单元格显示出来的公式

源数据如下:怎么转换为如下所示?即求涂黄色部分单元格公式
2025-04-13 19:23:37
推荐回答(1个)
回答1:

亲,文本合并是Excel的弱点,所以最好还是用VBA写一个自定义函数解决。

如下图,在B2输入公式:=hebing(A2:A9,A2,B2:B9,"/")

意思是,在A2:A9区域,查找等于A2的所有单元格;并把这些单元格对应的B2:B9的值合并在一起,合并的符号用"/"。



该函数的代码如下。打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧空白处点击右键,“插入”,“模块”。右侧空白处粘贴下面的代码。关闭VBA窗口。

Function HeBing(rng1 As Range, s As String, rng2 As Range, f As String) As String
Dim Arr1, Arr2
Arr1 = rng1: Arr2 = rng2
Dim i As Long
For i = 1 To UBound(Arr1)
    If Arr1(i, 1) = s Then
        If HeBing = "" Then HeBing = Arr2(i, 1) Else HeBing = HeBing & f & Arr2(i, 1)
    End If
Next
End Function