excel 多行筛选的方法

A B C
3 2 1
2 2 -

2 -2
1 1
表内三列数据,第三列为前两列的差值,现在想将前两列中所有有数值的单元格筛选出来,如何操作请高手解答。

  第一,用高级筛选多条件完成多个条件筛选

  下图是有两张工作表,“表一”是数据源,“表二”如下图。案例要求:筛选“表一”中性别为“女”或者工资大于6000的记录,将筛选结果放在“表二”中。

  下面是具体的操作步骤:

  1.首先激活“表二”,此表为当前活动工作表。

  2.建立条件区域:在空白地方,比如E1:F3单元格输入条件。

  提示:因为筛选条件是“或”的关系,只要性别为“女”或者工资大于6000都可以,因此E2放置一个条件,F3放置另外一个条件。如果将F3的条件放在F2,两个条件就是并列关系,只有同时满足两个条件才可以。

  3.单击“数据”——“排序和筛选”——“高级”,打开“高级筛选”对话框,按照如下图设置,单击“确定”,即可完成。

  vba多条件筛选

  第二,使用函数公式实现excel多个条件筛选

  “表二”工作表的A2单元格输入公式:=INDEX(表一!B:B,SMALL(IF(((表一!$C$2:$C$16="女")+(表一!$G$2:$G$16>6000)),ROW($2:$16),4^8),ROW(A1)))&"",按ctrl+shfit+enter三键结束,然后下来,直到出现空白为止。

  第三,使用VBA代码实现excel多个条件筛选

  按ALT+F11,打开VBE编辑器,插入——模块,然后复制粘贴下面的代码,按F5键运行。

  Sub 多个条件筛选()

  Range("A2:C65536").ClearContents

  Sheets("表一").Range("A1:G16").AdvancedFilter Action:=xlFilterCopy, _

  CriteriaRange:=Range("E1:F3"), CopyToRange:=Range("表二!A1:C1"), Unique:= _

  False

  End Sub

  思路提示:可以将方法一介绍的高级筛选录制宏操作一遍,然后再适当修改代码得到。

  其中:Sheets("表一").Range("A1:G16"):表示查找的范围。

  CriteriaRange:=Range("E1:F3"):表示查询条件,包括字段名称。

  CopyToRange:=Range("表二!A1:C1"):表示结果的保存范围,包括字段名称。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-04

        用高级筛选多条件完成多个条件筛选:下图是有两张工作表,“表一”是数据源,“表二”如下图。案例要求:筛选“表一”中性别为“女”或者工资大于6000的记录,将筛选结果放在“表二”中。

    下面是具体的操作步骤:

  1、首先激活“表二”,此表为当前活动工作表。

  2、建立条件区域:在空白地方,比如E1:F3单元格输入条件。

  提示:因为筛选条件是“或”的关系,只要性别为“女”或者工资大于6000都可以,因此E2放置一个条件,F3放置另外一个条件。如果将F3的条件放在F2,两个条件就是并列关系,只有同时满足两个条件才可以。

  3.单击“数据”——“排序和筛选”——“高级”,打开“高级筛选”对话框,按照如下图设置,单击“确定”,即可完成。

第2个回答  2010-10-02
这得借助辅助列来完成,否则直接用筛选的方法,选A列非空,则A列空而B列非空被筛选丢了,选B列非空,则A列非空被选丢了。
借助补助的操作方法:以D列为辅助列为列,在D1输入公式=IF(A1<>"",1,IF(B1<>"",1,"")),复制公式往下粘贴,然后筛选,选1,或者非空都可以,筛选出的就是你要的条件。本回答被提问者采纳
第3个回答  2010-10-02
数据---筛选---自动筛选
点击每一列的第一行出现的下拉箭头,按照要求筛选就可以
第4个回答  2010-10-02
在第一行点下行标1,然后点数据---筛选---自动筛选
点击每一列的第一行出现的下拉箭头选非空白。
相似回答