按条件合并多个excel单元格内容到同一单元格的自定义函数
发布时间:2023-09-16 17:40:55
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,"、")
即可得到所需的结果。
猜你喜欢
- 1、自动标出不及格分数假定需用红色字体显示60以下分数,蓝色字体显示60以上分数。按Ctrl+1,设置单元格格式→自定义,类型输入框中输入:
- Excel怎么自动填充循环?excel中我们常用的是+1形式的填充,如单元格不出现零值、循环数列的填充等等,下面我们来看看Excel六种形式
- 我们学过了word图表中的数据系列添加趋势的方法,word2007图表中的误差线常用于反映数据中不确定因素加或减的信息,可添加误差线的图表类
- word2010怎么自己画箭头?word2010中想绘制箭头,该怎么绘制呢?下面我们就来看看详细的教程,很简单,这是基础教程,需要的朋友可以
- 有时候同一份Excel表格需要几种不同的显示格式。比如工资记录表,财会人员在处理时可能需要同时显示人员的职称、等级等相关信息,但在打印出来给
- win10电脑卡顿怎么处理?win10不需要瞬间的美,突然的卡顿严重影响用户操作。特别是些新升级完的用户,会有卡顿的情况发生。我们来针对这个
- 如何打开Excel文档VB编辑器?Excel是我们常用的办公软件,那么大家知道Excel文档VB编辑器在哪里打开吗,感兴趣的小伙伴们跟随小编
- 针对该需求,Excel2007提供了共享工作薄来实现。利用Excel提供的共享工作薄功能,多人可实现在局域网环境下的利用多终端计算协同处理单
- office是一款极其强大的办公软件,也是很多人必备的办公及学习软件之一。其中excel更是强大,excel具有自动调节行高和列宽的功能,下
- 在全新的 iOS 15 中,苹果显著改进了 Siri,让语音助手功能更具备上下文感知能力。现在,Siri 能够帮助用户通过信息与他人分享 i
- ●对于使用默认格式的单元格(单元格格式的分类为“常规”),当输入“9-1”或“2/5”等形式的字符时, Excel会以当前年份作为年,自动转
- Word文档可以说是大部分用户生活必备的软件之一,但是不少用户最近在使用的时候发现字节Word文档有非常多的空格,想要把空格替换成其他符号和
- Excel公式技巧:从字符串中提取数字——数字位于字符串开头本文主要研究从字符串开头提取数字的技术:1. 这些数字是连续的2. 这些连续的数
- 您有发现在安装win10系统过程中出现奇怪的一幕,就是系统提示windows只能安装到GPT磁盘。这是由于咱们的磁盘是老款的MBR分区表,而
- 1、选中含有黑点的文字,点击鼠标右键,选择【段落】2、选择第二个选项卡。3、将下图红色框住的两个选项前的复选框去掉即可。
- 页码从第二页开始,怎么使用office 文档操作第一步:首先正常插入页码(从第一页开始插入)结果如下:第二步:右击“页码数字”进入页码格式界
- 1、打开该文档,选择“文件”“属性”,打开该文档的“属性”面板,点击“统计信息”标签页,大家可以看到上面有创建时间、修改时间等信息,在最下面
- 在我们使用Excel的过程中,面对一些数据通常需要插入折线图来进行数据表示,那么在office word2007中怎么插入多条折线图的图表?
- excel表格中有很多日期,想要知道某个日期所在的季度,该怎么查看呢?如果工作中你需要用Excel自动生成某个日期所在的季度,你会用什么方法
- 在Excel2007中,网格线默认是会被显示出来的,就是单元格四周浅灰色的线条。下面让小编为你带来2007excel表格去掉网格线的方法。2