首页officeexcel正文

如何根据条件来进行Excel合并单元格内容,函数解法和数据透视表中CONCATENATEX函数

强国说学习2023-04-2082如何根据条件进行Excel合并单元格

需要将相同编号对应的人名合并到一个单元格内,也就是说她想要将下图[表1]转换成[表2]的样式。哟西,好家伙,这个表有16000多行,要是手工做,那不得累出肩周炎、下肢静脉曲张等毛病。首先,我们先来看下她要的效果:

  [表1]原表↓  [表2]需要的效果,见下图↓  一、 首先,我们先来说说函数解:(注意在此题中如使用函数解,A列必须要先排序,将同样编号的排到一起这是关键。后面我会介绍另外一种透视表的解法,什么,你说透视表做不到,今天我就让你瞧一瞧,^-^)  1.首先在C列加一辅助列,标记上逗号  2.在D2输入公式:=IF(A2=A3,"",PHONETIC(INDIRECT("b"&MATCH(A2,$A$1:A565,0)):C2))并将其下拉填充至末尾。  3.筛选D列不为空的即获得需要的效果。  效果如下图所示:↓  我们来简单说下上面公式的含义:  MATCH(A2,$A$1:A565,0)这段是指找各个编码第一次出现的起始位置,MATCH函数是EXCEL主要的查找函数之一,当MATCH函数第三参数为0时表示精确查找,该函数通常有以下几方面用途:  (1)确定列表中某个值的位置;  (2)对某个输入值进行检验,确定这个值是否存在某个列表中;  (3)判断某列表中是否存在重复数据;  (4)定位某一列表中最后一个非空单元格的位置。  技巧:查找文本值时,函数 MATCH 不区分大小写字母。  INDIRECT("b"&MATCH(A3,$A$1:A566,0)):C3)这段是将MATCH找到的起始位置与C列当前行所在的单元格做为终点进行连接形成单元格区域,随着下拉它会动态变化,这是相对引用的特点,然后利用INDIRECT间接引用得到该区域内的值。  PHONETIC(INDIRECT("b"&MATCH(A2,$A$1:A565,0)):C2)这段是将上一步所获得的值进行拼装,将其连接到一起。  =IF(A2=A3,"",PHONETIC(INDIRECT("b"&MATCH(A2,$A$1:A565,0)):C2))最后做个判断是否显示,如果A列下一行与本行内容相同,那么就不显示,否则将它显示出来。  不错,这里用到了函数的嵌套,可能有些小伙伴会对函数嵌套会觉得它出身高贵,难以亲近,妹子你等着,哥给你介绍另外一种不嵌套的。  二、 如果你在用2016,不防试下数据模型数据透视表中CONCATENATEX函数,具体操作方法如下:  1.光标放在A1:B37区域中的任一单元格,按CTRL+T快速插入[表],表名为[表1]  2.在[Power Pivot]选项卡下将此表[添加到数据模型]  3.在[Power Pivot]选项卡-[度量值]-新建度量  4.在弹出的对话框中输入公式,如下图所示:  该公式的用途为文本合并,第一参数与第二参数为必需,第三参数可选, =CONCATENATEX('表1','表1'[人名],",")这个函数的白话意思就是要联接哪张表里的哪个字段下的内容,用哪个分隔符连接。CONCATENATEX第三参数为分隔符。我这里用的是用逗号分隔,如果你要用顿号分隔,改成这样即可:CONCATENATEX('表1','表1'[人名],"、")。  5.光标放在A1:B37区域中的任一单元格在插入数据透视表,并勾选[将此数据添加到数据模型]  6.将编码拉到行字段,度量值1拉到值字段,如下图所示:  7.选中透视表,右键删除总计,字段名改成你要的即可。
如想转载该文章请注明出处:强国说学习-qiangguoshuo.com
强国说学习

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://www.qiangguoshuo.com/excel/73138.html