用公式从 Excel 数据区域中提取出另一列中没出现过的值

很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

回应一下前阵子讲解过几次的从母区域中找出子区域中没有出现过的值,几种方法还没尽兴,365 公式那么厉害,明明有好多都可以实现需求。


所以今天再奉上一个公式。


案例:


从下图 1 的 A、B 列中提取出没有在 D 列中出现过的唯一姓名,效果如下图 2 所示。


解决方案:


1. 在 E2 单元格内输入以下公式 --> 回车:

=UNIQUE(FILTER(TOCOL(A2:B11),TOCOL(COUNTIF(D2:D10,A2:B11)=0)))


公式释义:

  • FILTER(...,...):filter 函数的作用是基于定义的条件筛选数据,语法为 FILTER(筛选区域,布尔值筛选条件);
    • TOCOL(A2:B11):将参数中的区域转换成一列,作为筛选区域;
    • TOCOL(COUNTIF(D2:D10,A2:B11)=0):如果 D2:D10 在 A2:B11中没有出现过,即 COUNTIF 函数结果为 0,则为 true,否则为 false;用 tocol 将结果转换成一列,作为筛选条件;
    • 从第一个参数区域中筛选出第二个参数中为 true 的元素;也就是挑选出没有在“组1”中出现过的姓名;
  • UNIQUE(...):最后用 UNIQUE 函数将结果去重