首页 > 编程知识 正文

如何合并不同行的单元格(不同单元格同时合并)

时间:2023-05-03 15:42:14 阅读:79407 作者:176

伙计们真好。 今天我总是希望和大家分享关于同类项合并的内容。

如下图所示,需要将AB列的数据按部门整理成对应的人员名单。

让我们先来看看第一种方法:

自定义函数

ExcelHome论坛的陈俊君神勇树叶,多年前写了一个合并同类项的自定义函数。 强大、易用:

贴在这里的代码如下。

publicfunction contxt (paramarrayargs ) as variant as variant

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

Dim Cell As Range

tmptext=' '

forI=0toubound(args ) ) ) ) ) )。

ifnotismissing(args ) I ) ) Then

Selectcasetypename(args(I ) ) ) ) ) ) )。

Case 'Range '

foreachcellinArgs(I ) )。

tmptext=tmptext Cell

下一个小区

Case 'Variant ' )

foreachcellvinargs(I ) )。

tmptext=tmptext Cellv

下一个中央电视台

Case Else

tptext=tmptextargs(I ) ) )

最终选择

End If

下一步

ConTxt=tmptext

最终函数

当然,这些代码只要我们初级用户能用就行了。 你不需要全部记住。

然后,可以使用自定义函数。

=contxt(if ) $b$2:$b$40=D2,A$2:A$40 ','')

这个例子是数组表达式。 编辑完公式后,按Shift ctrl键返回汽车。

请注意。 使用代码的工作簿请以xlsm格式保存。 否则,下次不能使用。

Power Pivot

如果使用的是Excel 2016,请尝试其他较高的方法:

首先添加数据模型。

然后添加度量值。

的表达式。

=CONCATENATEX ('表1 ','表1'[姓名],',') )

也就是说:

=CONCATENATEX (要处理的数据表名称、数据表字段名称、分隔符) )。

最后插入数据透视表:

文本连接

如果你使用的是Office 365,这将非常容易:

输入以下表达式,按Shift ctrl返回,然后将表达式复制到下面:

=TEXTJOIN (,),1,if ) $b$2:$b$40=D2,A$2:A$40,'')

TEXTJOIN函数的使用方法如下。

=TEXTJOIN (空白字符、是否忽略空单元格、要合并的内容) )。

在公式中合并的内容如下:

if($b$2:$b$40=D2,A$2:A$40,')

也就是说,如果$B$2:$B$40是D2,则返回与A$2:A$40对应的内容,否则返回空文本“”。

TEXTJOIN函数组合IF函数得到的内存数组,并使用吨符号“,”作为不同名称之间的间隔。

三种方法各有特点。 你喜欢哪个?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。