当前位置:萝卜系统下载站 > 办公软件教程 > 详细页面

按条件合并多个excel单元格内容到同一单元格的自定义函数

按条件合并多个excel单元格内容到同一单元格的自定义函数

更新时间:2024-01-02 文章作者:未知 信息来源:网络 阅读次数:

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。

Excel中的CONCATENATE函数可以将多个文本字符串联接成一个文本字符串,但有时需要按指定条件合并某些单元格的内容到一个单元格,这时CONCATENATE函数无法实现,而使用下面的自定义函数就十分方便了。如图所示,需要在F2单元格中将“调资额”为“190”的“姓名”用“、”连接起来。

步骤如下:

1.按Alt+F11,打开VBA编辑器,单击菜单“插入→模块”,在代码窗口中输入下列代码:

Function CONCATENATEIF(rng1 As Range, rng2 As Range, criteria As String, separator As String) As String
Dim arr()
Dim rCell As Range
Dim i As Integer, j As Integer
On Error Resume Next
j = WorksheetFunction.CountIf(rng2, criteria)
If j > 0 Then
ReDim arr(0 To j – 1)
For Each rCell In rng2
If WorksheetFunction.CountIf(rCell, criteria) Then
arr(i) = rng1.Item(1).Offset(rCell.Row – rng2.Row, rCell.Column – rng2.Column).Value
i = i + 1
End If
Next
For i = 0 To j – 1
CONCATENATEIF = CONCATENATEIF & arr(i) & IIf(i <> j – 1, separator, "")
Next
End If
End Function

上述代码定义了一个自定义函数CONCATENATEIF,共有四个参数,分别为需要连接单元格内容的区域(通常为单行或单列)、条件区域,条件和分隔符。使用该自定义函数时注意:

①参数中的两个区域的形状大小需相同;

②条件的输入类似COUNTIF函数,如 190、">100"、"苹果" 等,可使用通配符“*”、“?”。

2.返回Excel工作表界面,在F2单元格中输入公式:

=CONCATENATEIF($B$2:$B$16,$C$2:$C$16,E2,"、")

即可得到所需的结果。


Excel整体界面趋于平面化,显得清新简洁。流畅的动画和平滑的过渡,带来不同以往的使用体验。

温馨提示:喜欢本站的话,请收藏一下本站!

本类教程下载

系统下载排行

网站地图xml | 网站地图html