Excel函数技巧:自定义函数连接文本

网友投稿 687 2022-11-28

Excel函数技巧:自定义函数连接文本

在实际工作中有很多情况需要统计某项目的不重复值,并把对应的数据合并在一起。本例介绍如何通过自定义函数的方法完成符合条件的文本连接/文本合并功能

步骤说明:

首先,双击D2单元格,并输入公式生成A列数据的不重复值:

=INDEX($A:$A,MATCH(,COUNTIF(D:D1,$A:$A),))

输入完毕后,左手按住Ctrl和Shift,右手按下回车键,并下拉公式。

第二,按键盘上的Alt+F11进入VBE界面。

第三,选择【插入】-【模块】插入一个模块。

第四,在右侧空白处粘贴下列代码并关闭VBE界面:

Option Explicit

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

Excel函数技巧:自定义函数连接文本

ConTxt = tmptext

End Function

第五,双击E2粘贴公式=ConTxt(IF($A$2:$A$8=D2,"/"&$B$2:$B$8,"")),同样按Ctrl+Shift+Enter运行公式,并下拉。

为了美观,将第一个斜杠去掉,将E2公式改成:

=MID(ConTxt(IF($A$2:$A$8=D2,"/"&$B$2:$B$8,"")),2,99)

数组方式运行,并下拉公式即完成了文本合并。

注意事项

如果是2007版工作簿,在保存时请选择保存成【启用宏的工作簿】格式

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:利用excel做工资表的时候,如何给每个工资条加一个固定的表头?
下一篇:Excel表格中怎么求差如何使用求差函数公式批量计算差值
相关文章