四时宝库

程序员的知识宝库

提取指定条件的数据,三斧子定乾坤

表亲好!今天和大家说说按条件提取数据的几种方法:

下图中,有两组人员名单。

需要提取出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来实现,哪位同学来分享一下呢?

图文制作:祝洪忠

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接