Excel函数数组合并同类项,原来还可以这样操作!
⼯作中,我们经常遇到⽼板各种各样的奇葩要求,所以常⾔说的好:每⼀个成功的⽼板背后都
有⼀丧⼼病狂的表弟/表妹。这不,⽼板⼜来提要求了,没办法,硬着头⽪上呗,谁让咱领⼈
家⼯资呢。
要求:相同姓名的等级合并起来,并⽤顿号隔开,如图中D~E列所⽰。
⼀、TEXTJION法
如果你电脑安装的是Office365,那么恭喜你了,这个版本中的TEXTJION函数可以完美解决上
⾯这个问题。
语法为:TEXTJOIN(分隔符, ignore_empty, text1, [text2], …)
具体公式为:=TEXTJOIN('、',TRUE,IF($A$2:$A$11=D2,$B$2:$B$11,''))
这是⼀个数组公式,输⼊公式后需要同时按Ctrl Shift Enter三个键⼀起回车。
这⾥第三参数IF($A$2:$A$11=D2,$B$2:$B$11,'')为提取A列中满⾜条件D2的B列的数据,不满
⾜条件⽤空值表⽰,得到的结果是⼀组数据{'A';'B';'C';'';'';'';'';'';'';''},⽽公式中的第⼆参数TRUE表
⽰连接⽂本时忽略空单元格,这样结果中就只有符合条件的A、B、C会连接到结果中了。
你说看不懂函数,没关系。你可以考虑套⽤公式,关键是
A2:A11代表你的姓名数据区域,B2:B11 代表等级区域。如果你的数据更⼤范围了,你相应的
修改就⾏
也许已经有眼尖的⼩伙伴看出我这⾥⽤的是WPS了,没错,那是因为我也没有Office365,⽽
WPS最新版已经更新了这个函数。(但是我们并不推荐⼤家⽤WPS,WPS很多功能还是没
Office-Excel 好)
⼆、“⼀勺烩”法
难道没TEXTJION这个函数,这个问题就没办法了吗?答案显然是否定的,前辈精英们研究出来
excel数组函数的实例
了⼀个多个函数嵌套的⽅法,美其名⽈“⼀勺烩”。
=MID(SUBSTITUTE(PHONETIC(OFFSET($A$1,MATCH(D2,A:A,0)-
1,,COUNTIF(A:A,D2),2)),D2,'、'),2,99)
看到这条公式⼤家是不是眼前⼀⿊,⼼中⼀万匹神兽奔过,⼼中⼤呼:我看不懂,我看不懂,
其实没关系,我当时也是花了好久才弄懂这个公式的。
还是那句话,看不懂没关系,收藏好,套⽤起来。
姓名数据是A1,结果的姓名是D2开始,A:A是源数据的姓名区域
看不懂也不要紧,⽤的时候直接套⽤就⾏,但是值得强调的是,由于这个公式中的PHONETIC 函数只能提取⽂本字符串中的字符,因此这⾥如果B列中含有数字,就会的不到你想要的结果。
三、辅助列 LOOKUP法
⼤家是不是想要⼀个简单⼜容易理解的公式呢,请往下继续看。
这⾥巧妙利⽤辅助列来将相同姓名的等级从上到下依次⽤分号连接起来,公式为
=IF(A2=A1,C1&'、'&B2,B2),然后利⽤LOOKUP函数查时返回相同名字最后⼀次出现结果对应数据的特点来巧妙得到结果,具体公式为:
=LOOKUP(1,0/($A$2:$A$11=E2),$C$2:$C$11)。
同样的思路,也可以通过辅助列将相同姓名的等级从下到上⼀次⽤分号连接起来,然后利⽤VLOOKUP函数查时返回相同名字第⼀次出现结果对应数据的特点来巧妙得到结果,这⾥具体我就不写公式了,留作⼤家的课后作业。
怎么样,这个⽅法是不是很容易理解呢?!
⽂件的数据不多,⼤家可以⾃⼰敲打下数据进⾏练习哦
最后,需要强调的是后⾯两种⽅法在使⽤过程中要求相同姓名的⼈必须排在⼀起,要不然结果会出错,⽽第⼀种⽅法没有这个要求。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论