表亲好!今天和大家说说按条件提取数据的几种方法:
下图中,有两组人员名单。
需要提取出A列有,而D列没有的姓名。
提取效果如下图所示:
以下是几种常用的方法:
一、辅助列法。
建立辅助列,先使用公式判断:
=COUNTIF(D:D,A2)
这里的用到的公式也不尽相同,除了COUNTIF函数,还可以VLOOKUP、MATCH函数等等,总之就是判断A列的内容是否在D列存在。
然后再对B列升序排序(也可筛选0值),将B列为0的对应的A列内容复制到空白单元格中,实现提取目的。
二、数组公式法。
J2单元格输入以下数组公式,向下复制。
=INDEX(A:A,SMALL(IF(COUNTIF(D$2:D$140,A$2:A$332),4^8,ROW($2:$332)),ROW(A1)))&""
这是提取数据的常用公式套路,具体解释可参考这里:点击阅读
三、高级筛选法。
F2单元格输入公式:
=COUNTIF(D:D,A2)=0
单击A列任意单元格,执行高级筛选。
条件区域选择F1:F2单元格。
单击确定按钮,就会在J列得到需要的结果。
三种方法各有利弊:
高级筛选法
优点:运算速度快,在数据量比较大的情况下,尤其明显。
缺点:数据源更新后,结果不能自动更新,需要重新操作。
数组公式法
优点:数据源更新可以自动计算,得到最新的结果。
缺点:在数据量比较大的情况下,处理速度慢,还有可能造成程序假死。
辅助列法
优点:数据源更新可以自动计算,得到最新的结果。数据量对处理速度的影响不大。
缺点:操作时用到了辅助列,影响表格结构,不够简洁。
除了以上三种方法,还可以使用VBA和SQL来实现,哪位同学来分享一下呢?
Word高效应用一日通 - 第4期
公开课时间:2017-5-12(晚20:00~21:00)
正式课时间:2017-5-20 — 5-27
讲师:郑志泽
课程详情:http://t.excelhome.net/thread-44994-1-1.html
免费报名公开课:http://t.excelhome.net/thread-44995-1-1.html