将符合要求的多个单元格内容合并到一个单元格

2025-10-26 15:09:53
在一个区域内,如下表中,A列有多个相同的内容,而对应的同一行B列中的值不相同,需要把这些不同的B列值组合到一个单元格中。

 

比如把所有“张三”对应的B列值合并到D1单元格中,显示为“ 30 43 42 ”

 

如果用EXCEL自带的函数来做就比较麻烦,需要用数组公式,不易理解,不如用一个自定义函数来解决,要方便的多。

 

方法如下:

 

将符合要求的多个单元格内容合并到一个单元格

步骤/方法

第一步:插入用户模块

在EXCEL窗口中按ALT+F11组合键,调出VBA窗口。在VBA窗口中按上面菜单栏中的“插入-模块”,就会在下面出现一个空白的模块窗口,把代码复制粘贴到这个窗口中就行了。

 

第二步:编写代码

将符合要求的多个单元格内容合并到一个单元格

大家可以看到,这个自定义函数共有三个参数:参数a是要查找的区域;参数b是提取数据的区域;参数c是要查找的值。

 

此时自定义函数就做好了,代码很简单,已经做了注释。

 

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窗口,在D1单元格中输入公式 =abc($A$1:$A$9,$B$1:$B$9,A1)

 

按回车键后,马上显示出结果 30 43 42

 

将符合要求的多个单元格内容合并到一个单元格

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢