excel单元格一个条件匹配多个结果VBA

应用背景

如图,一批如表1的数据,一个单元格对应多个值,需要去重单元格并合并其值在同一个单元格中展示(如表2),因此用VBA写个Function实现,免掉手敲的烦恼。
excel单元格一个条件匹配多个结果VBA_第1张图片
VBA实现程序:

Function abc(a As Range, b As Range, c As String)
Dim t As String
'如果a与b的区域大小不同,就显示“错误”
If a.Rows.Count <> b.Rows.Count Then abc = "错误": Exit Function
'在区域a是循环
For i = 1 To a.Rows.Count
'如果在a中找到与c相同的值,就把同一行中的b的内容提取出来,存入变量t中。
If a.Cells(i, 1) = c Then t = t & " " & b.Cells(i, 1)
Next
'将变量的值赋给自定义函数
abc = t
End Function

此时不必急着保存运行,直接切换到需要处理的表中,在单元格中输入公式运行即可:
excel单元格一个条件匹配多个结果VBA_第2张图片

  • 注:不管量多大都不要选择整列作为数据识别的范围,否则EXCEL会卡死。

你可能感兴趣的:(VBA,excel)