Excel进行两张表的联结

类似于SQL中的left join 

问题:为销售员匹配对应的小组,并将小组-销售员-产品线组合到一个单元格

如上图所示,表2是每个成员对应的小组信息,要求为表1的销售员匹配上对应的小组信息。

说到“匹配”,很多人第一时间估计就会想到用vlookup函数。vlookup函数在查找匹配上,的确是一个利器,但vlookup函数在查询的时候只能从左往右查询,且查询对象所在的列,必须要在查询区域的第一列,也就是说,只能通过A列来查询B列或其它列,而不能通过B列来逆查询A列。

所以在这里,并不是用vlookup而是用index+match函数来实现需求。首先,用match函数来定位位置信息,查找出表1中的销售员,在表2中的位置。如在单元格D24中输入公式:

=match(B24,$K$24:$K$28,0)

 

意思是,对B24单元格的值,即“高小明”,在区域K24:K28中,也就是在表2的“成员”列中进行匹配,看他是位于第几。返回结果 是4。即高小明在成员列中,是第4个。

用match匹配出位置信息后,我们再嵌套index引用函数,将match匹配出来的位置信息作为index的第二个参数传回给index。公式如下:

=index($J$24:$J$28,match(B24,$K$24:$K$28,0))

 

意思是,在区域J24:J28中,也就是表2的“小组”列中进行查找引用,引用第几个值呢?就是根据match函数的结果来进行“扫描”。如本案例中,在前边的步骤已经用match函数定位到“高小明”位于第4行,所以,最终引用返回的是“小组”列中第4行的值,也就是“战无不胜组”。公式向下填充,即可返回所有销售员对应的组别信息。

第二个需求是将小组-销售员-产品线组合到一个单元格

合并文本,如果不想用函数,最简单的方式就是用文本连接符&,即把需要连接合并的文本用这个&连起来即可。如下:

但是,如果要连接比较多列的文本,用文本连接符来连,虽然简单,但容易出错,特别是中间还要连接分隔符。

所以,我们还可以用到文本连接函数textjoin,其语法如下:

=textjoin(文本分隔符,是否忽略空值,要连接的文本)

所以,我们的公式可以这样写:

=textjoin("-",,D24,B24,C24)

其中第2个参数,默认true,可以省略不写。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值