Excel单元格匹配应用——找补集和去交集

前言

本篇是Excel匹配的用法篇1,想法采自日常学生工作的需求:

一个工作需要学生都填一个信息,一个表是学生总表,一个表是已经填资料的人以及他们的信息,想要找出还没有填信息的人的名单,即:找小表补集。

还有一种情况不一定有大小表关系,例如:一个表是学院学生表,一个表是全体转专业学生表,想要从学院表中剔除已经从本学院转走的学生,即去交集。

文章重在讲解思路,核心采用Excel单元格匹配,先行篇传送门:

Excel单元格匹配二(index与match搭配应用)

Excel单元格匹配一(借助加载项工具)

话不多说,直接开始

表格介绍

表格继续使用前面的表格

小表.xlsx

大表.xlsx

情况一:找补集

从大表中找出小表的补集,即查看谁不在表格中,实例表格数据比较少为了演示方便,如果当你数据很多在明知道人少了多少个的时候,不用一些方法很难找到,今天提供Excel匹配的方法。

方法步骤

  1. 在小表中插入一列“是否在”(为了易懂,实际上名字随意甚至可以没有名字),并且把一列都填充成“1”

  2. 大表也插入一列“是否在”

  3. 对大表使用公式或者小工具填充“是否在”这一列,匹配关键字要选“主键”类的列(即唯一、非空的列:学号、身份证号等)

    公式实例:

    =INDEX([小表.xlsx]Sheet1!$E:$E,MATCH(C2,[小表.xlsx]Sheet1!$C:$C,0))
  4. 查看结果,正常的话只有两种值:1和#N/A,1代表匹配到了,说明小表有这个人;#N/A是公式出错,为什么会出错了,因为小表中没找到这个人,筛选之后就找到了小表在大表中的补集

情况二:去除交集

从表一去除表二有的信息,在集合关系中属于减法,即减掉交集部分。

现假设小表.xlsx是转专业名单,大表.xlsx是学院表,现在需要在大表中去除既在大表也在小表的同学,因为他们已经不属于这个学院。

正常情况下转专业表应该有很多其他学院的人,即应该有很多大表.xlsx中没有的人,为了演示方便,并没有再修改表格,具体情况应随机应变。

方法步骤

其实这个情形恰好和情况1的步骤一模一样。就不再详细说明。

核心还是把小表里的人是否在大表中这一信息,匹配填充到大表。

思考

如果想要从转专业表中筛选这个学院的人呢

答:只需要反过来匹配,在大表填1,小表匹配即可

总结

上述两种情况都是在实际应用中频繁用到的,故稍微讲解一下,我是因为工作需求临时想到的方法,就一直沿用了下来,也是对index-match方法的复习。可能这些情况会有更简单的方法,希望读者能给出建议。如果有不懂的地方可以下方留言。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注