Excel数据筛选的技巧对于Office一族来说,最常用也是最困扰他们的工作有两个:一个是在浩如烟海的众多数据中,如何快速找到和检索出所需的信息;另一个则是如何轻松得到分类汇总的结果和统计报表数据。下面,我们将向大家介绍用Excel对数据信息进行筛选、检索的一些操作技巧和经验。日前,在北京召开了第29届奥林匹克运动盛会,来北京参赛旅游的中外宾客络绎不绝,为了更好的了解北京的特色小吃和各式美食,所以在网络中非常流行一个“吃在北京”的文档。该文档是用Excel制作的,文档的标题行中从“店名”到“菜系”,从“地址”到“电话”,从“招牌菜”到“人均消费”可谓一应俱全。为了查询方便,该数据表还设置了“自动筛选”功能,可通过标题右侧的下拉列表来对“餐厅”、“菜系”或“消费价格”等按照条件进行筛选查看,如图1所示这种通过下拉列表设置条件的筛选在Excel中被称作“自动筛选”,这种筛选可以将列表中的数据直接当作条件,也可以通过“自定义”条件的设置进行某个字段“与”、“或”查询,由于自动筛选的应用较为简单,在此,不再做赘述和讲解。现在,我们要探讨的是自动筛选的兄弟——高级筛选。虽然自动筛选或高级筛选,在Excel中都可以起到根据条件查询数据的作用,是数据分析必不可少的工具和手段,但是高级筛选才是最好的数据查询方式。因为它不仅包含了所有自动筛选的操作,而且还有很多自动筛选望尘莫及的功能,如:多字段复杂条件的“与”、“或”关系查询;将查询结果复制到其他表;实现条件的“模糊查询”;与“宏”和“窗体控件”结合等等。多字段复杂条件的“与”、“或”关系查询并将结果复制到其他数据表用Excel的“自动筛选”功能来对数据表进行筛选查询,若对多字段设置了筛选条件,那么结果一定是多字段的条件同时满足,只能做到多字段间条件“与”的查询。在如图2所示的人事表中,若设置了“年龄”的筛选条件为“40”,又设置了文化程度为“大学本科”,那么筛选的结果就一定是年龄大于40岁的大学本科生职工,如图2所示。下面我们对该人事表设置一个复杂的查询条件,并将查询结果复制到一个新的数据表之中,让大家感受一下Excel高级筛选功能的强大之处。查询条件有三个,第1个是查找到“20至30岁之间的研究生”;第2个是查找到“本科学历的编审”;第3个是查找到“本科学历的副编审”。这3个条件只要满足一个就将它筛选出来。很显然,这是一个多字段间复杂的“与”、“或”关系查询,这种情况只能使用Execl的高级筛选才能实现,下面就来看看操作过程:设置筛选条件区高级筛选的前提是在数据表的空白处设置一个带有标题的条件区域,这个条件区有3个注意要点:·条件的标题要与数据表的原有标题完全一致;·多字段间的条件若为“与”关系,则写在一行;·多字段间的条件若为“或”关系,则写在下一行。根据这个特点,所以应在数据表旁将条件区域设置完成,如图3所示。提示:本例要查找的人员有3类,这3类人员是“或”关系,所以将条件写在了3行。每行的字段条件就是“与”关系,第1行要查找的是年龄在20至30之间的研究生;第2行要查找的是学历为大学本科的编审;第3行要查找的则是学历为大学本科的副编审。设置“高级筛选”对话框高级筛选的条件区创建完成后,就可以进行“高级筛选”的操作了。由于要将筛选结果复制到新的数据表,所以先要新建一个数据表,并将光标定在该数据表之中;然后选择【数据】菜单【筛选】命令下的【高级筛选】命令,打开“高级筛选”对话框。在对话框中要做3个设置:·“列表区域”是待筛选查询的人事表所有数据区域;·“条件区域”是刚刚创建的“与”、“或”条件区域;·“复制到”则是筛选结果所要放入的新建数据表。设置完成后的“高级筛选”对话框,如图4所示。查看“高级筛选”结果“高级筛选”对话框设置完成后,便可单击【确定】按钮来查看筛选的结果了,如图5所示。在这个结果中,一共有3类人员,一类是年龄在20至30之间的研究生;第2类是学历为大学本科的编审;第3类则是学历为大学本科的副编审。至此,通过以上3步,我们对这个人事表进行了多字段复杂条件的“与”、“或”关系查询,并将结果复制到了其他数据表之中。实现条件的“模糊查询”高级筛选不仅可以设置多字段复杂条件的“与”、“或”关系查询,而且还可以配合“通配符”实现筛选条件的“模糊查询”模式。在“高级筛选”中,通配符主要使用的是键盘的【*】符号。“*”表示任意字符,所以若将“*”使用在高级筛选的条件中,便可以实现模糊查询的效果。例如在上例人事表中,若想查询“籍贯”为“山东”籍的职员,也就是在“籍贯”字段中起始文字是“山东”的职员,那么就应将筛选条件区的条件设定成“山东*”。右侧表数据是按照“模糊查询”的方式筛选出的查询结果,如图6所示。与“宏”和“窗体控件”结合制作交互效果Excel的高级筛选操作,事先都会创建条件区,利用这个条件区与窗体控件和宏配合,就可以制作出带有交互功能的数据查询效果。所谓交互功能的数据查询,是在创建的条件区旁,用“窗体控件”为数据表添加两个按钮,分别是显示【全部】按钮和【筛选】按钮。当单击【筛选】按钮后,便可以根据条件区的条件筛选出结果,如图7所示。当单击【全部】按钮后,便会显示原数据表的所有数据信息,如图8所示。要想实现这种效果,需要用窗体控件按钮和“宏”或“VBA”配合。可以事先先录制两个宏,一个宏是根据条件区域进行“高级筛选”,另一个宏则是显示所有数据信息,然后将窗体控件的两个按钮分别指定这两个宏即可。当然也可以使用“VBA”的编辑,若使用VBA编程,则“筛选”用的宏代码为:SubFilterA()Range(A5:I235).AdvancedFilterAction:=xlFilterInPlace,CriteriaRange:=_Range(k2:o4),Unique:=FalseEndSub“全部”显示的宏代码为:SubShowAll()OnErrorGoToErrlineActiveSheet.ShowAllDataErrline:ExitSub“高级筛选”是Excel中一种非常有效的数据分析方法和数据查询方式。在Office的大家庭中,还有一个与Excel非常有关系的软件就是Access数据库。在Access数据库中,单一表查询用的就是“高级筛选”功能,单从这点就可以佐证,像Excel这种以表为单位存放数据的软件,数据查询最好的方式其实就是“高级筛选”。Excel的高级筛选在使用上并不复杂,只要把握好条件区的设置,就能查询和检索到符合条件的数据信息。