快速地多个符合条件的内容放到一个单元格里面,VLOOKUP函数也能做到原创
金蝶云社区-陈世杰身份
陈世杰
0人赞赏了该文章 209次浏览 未经作者许可,禁止转载编辑于2020年11月03日 19:16:31

在前面几期的例子中呢,世杰老师使用PQ的方法给大家教过一个将多个条件条件的内容放到一个单元格中,如果没有学到的小伙伴们可以点击下面的链接再次学习:

 PowerQuery:把同一类型的内容放在同一个单元格中(合并同类项)


今天呢,世杰老师给大家教如何使用VLOOKUP函数来完成这个例子。下面是一张各个部门的人员明细表:

image.png


根据领导的要求呢,要把每个部门的人员放到一起,还要进行要数的统计,结果如下图所示:

image.png



01

合并



首先对于上面的问题,世杰老师给大家介绍的是"VLOOKUP函数+辅助列“的解决方法。当然在开篇的时候链接里的方法也是不错的选择。


Step-01:选中A列的任意一个单元格,单击【数据】,选择任意一个方式进行排序(升序与降序都行),如下图所示:

image.png



注意:此处的排序是相当地重要的一个步骤,如果不排序那么后面的步骤的结果就不能正常地显示。


Step-02:在C列建立一个辅助列,在C2单元格中输入公式:

=B2&IFERROR(","&VLOOKUP(A2,A3:C$17,3,0),""),按确定键后向下填充。

image.png


注意:上述公式中的A3:C$17一定在注意,就是在查询的区域一定是数据区域最后一行的下一行,那怕是多一行都行,多几行也无所谓,但是就是不能少,同时要对行标进行锁定,即在行标上加上"$"符号,如上述公式中的C$17。如果是第二行的公式,那么就从第三行的区域开始选取,如A3

解析:上述题目中使用VLOOKUP函数从当前行的下一次开始查找,如果有查找到的内容,就用”,“连接,如果没有就为空白。


Step-03:在F12单元格中正常使用公式:=VLOOKUP(E7,A:C,3,0),按确定键后向下填充即可得到。

image.png


温馨提示:除了VLOOKUP函数,LOOKUP函数也能完成上述的问题。




02

计数



对于这一部分计算姓名的个数。使用的函数组合是”LEN函数+SUBSTITUTE函数“。

在G7单元格中输入公式:=LEN(F7)-LEN(SUBSTITUTE(F7,",",""))+1,按确定键后向下填充。如下图所示:

image.png


注意:上述题目中的逗号是在中文状态下的逗号。

解析:LEN函数是计算一个单元格中或者一个字符串的长度,LEN(F7)是先计算出F7单元格中字符的长度;SUBSTITUTE(F7,",","")是将F7单元格中的逗号替换成空白;然后使用LEN函数测算出替换掉逗号的长度是多少,其公式为LEN(SUBSTITUTE(F7,",",""))最后使用其原有的长度减去替换后的长度。需要说明的是如果有四个人那么就有三个逗号,所以在计算人数的时候还在加上1.本公式的实质就是计算单元格中的逗号有多少个。




03

附录-其他参考方法



上述问题中呢,会使得到VLOOKUP函数以及辅助列的使用,接下来呢,世杰老师再给大家演示两种方法,一种是使用PQ的方法,一种是使用PP的方法,但是都是作为参考,大家只要把上面的VLOOKUP方法学会就行。

方法1:PQ法

image.png


注意:该方法的好处就是如果有新的数据增加或者减少的时候可以自动刷新一劳永逸的方法。上面用到了PQ的专属函数即M函数。



方法2:PP法

除了上面给大家介绍的Power Query的方法以外呢,也可以使用Power Pivot来解决这个问题。

image.png


上面用到了PQ的函数DAX,皆属于Excel及PBI中的高端操作,小伙伴们可以朝这个方向发展哦~


作者:我是世杰,财务excel深度玩家,坚持每天分享财务excel干货,微信公众号:24财务excel

赞 0