使用高级条件筛选

注意: 我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。 我们的目的是使此内容能对你有所帮助。 可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的英文版本以便参考。

如果要筛选的数据需要复杂条件 (如类型 = "农产品" OR 销售人员 = "李小明"), 则可以使用 "高级筛选" 对话框。

若要打开 "高级筛选" 对话框, 请单击 "数据>高级"。

“数据”选项卡上的“排序和筛选”组

示例

Overview

一列中有多个条件,任何条件为真

销售人员 = "赵强" OR 销售人员 = "林恪"

多列中有多个条件,所有条件都为真

类型 = "农产品" AND 销售额 > 1000

多列中有多个条件,任何条件为真

类型="农产品" OR 销售人员="林恪"

多组条件,所有组集中于一列中

(销售额 > 6000 AND 销售额 < 6500) OR (销售额 < 500)

多组条件,每组包含多列

(销售人员 = "李小明" 和 "销售额 >3000")或
(销售人员 = "林丹" 和销售额 > 1500)

通配符条件

销售人员 = 姓名中的第二个字为“恪”

概述

高级”命令的工作方式在几个重要方面与“筛选”命令有所不同。

  • 它显示了“高级筛选”对话框,而不是“自动筛选”菜单。

  • 可以在工作表以及要筛选的单元格区域或表格上的单独条件区域中键入高级条件。 Microsoft Office Excel 将“高级筛选”对话框中的单独条件区域用作高级条件的源。

示例数据

以下示例数据用于本文中的所有过程。

数据包括将用作条件区域 (A1: C4) 和列表区域 (A6: C10) 的列表区域上方四个空行。 条件区域具有列标签,并且在条件值与列表区域之间至少有一个空白行。

若要处理这些数据, 请在下表中选择它, 复制它, 然后将其粘贴到新 Excel 工作表的单元格 A1 中。

类型

销售人员

销售额

类型

销售人员

销售额

饮料

蔡耀明

¥51,220

肉类

刘英玫

¥4,500

农产品

郑建杰

¥63,280

农产品

彭德威

¥65,440

比较运算符

可以使用下列运算符比较两个值。 当使用这些运算符比较两个值时,结果为逻辑值  TRUE 或 FALSE。

比较运算符

含义

示例

=(等号)

等于

A1=B1

>(大于号)

大于

A1>B1

<(小于号)

小于

A1<B1

>=(大于或等于号)

大于等于

A1>=B1

<=(小于或等于号)

小于等于

A1<=B1

<>(不等号)

不等于

A1<>B1

使用等号键入文本或值

由于在单元格中键入文本或值时等号 (=) 用来表示一个公式,因此 Excel 会计算键入的内容;不过,这可能会产生意外的筛选结果。 为了表示文本或值的相等比较运算符,应在条件区域的相应单元格中键入作为字符串表达式的条件:

=''= 条目 ''

其中条目 是要查找的文本或值。 例如:

在单元格中键入的内容

Excel 计算和显示的内容

="=彭德威"

=彭德威

="=3000"

=3000

考虑大小写区别

Excel 在筛选文本数据时不区分大小写。 但是,你可以使用公式来执行区分大小写的搜索。 有关示例,请参阅通配符条件部分。

使用预定义的名称

可以将某个区域命名为“条件”,此时“条件区域”框中就会自动出现对该区域的引用。 也可以将要筛选的列表区域命名为“数据库”,并将要粘贴行的区域命名为“提取”,这样,这些区域就会相应地自动出现在“列表区域”和“复制到”框中。

使用公式创建条件

可以将公式的计算结果作为条件使用。 记住下列要点:

  • 公式必须计算为 TRUE 或 FALSE。

  • 因为您正在使用公式,请像您平常那样输入公式,而不要以下列方式键入表达式:

    =''= 条目 ''

  • 不要将列标签用作条件标签;请将条件标签保留为空,或者使用列表区域中并非列标签的标签(在下面的示例中,是“计算的平均值”和“精确匹配”)。

    如果在公式中使用列标签而不是相对单元格引用或区域名称, Excel 将显示错误值, 如 "#NAME"。 或 #VALUE! 在包含条件的单元格中。 您可以忽略此错误, 因为它不影响列表区域的筛选方式。

  • 用于创建条件的公式必须使用相对引用来引用第一行数据中的对应单元格。

  • 公式中的所有其他引用必须是绝对单元格引用。

一列中有多个条件,任何条件为真

布尔逻辑:    (销售人员 = "赵强" OR 销售人员 = "林恪")

  1. 在可以用作条件区域的列表区域上方插入至少三个空白行。 条件区域必须具有列标签。 确保条件值和列表区域之间至少有一个空白行。

  2. 要查找满足“一列中有多个条件”的行,请直接在条件区域的单独行中依次键入条件。 如果使用此示例,请输入:

    类型

    销售人员

    销售额

    ="=彭德威"

    ="=林恪"

  3. 在列表区域中单击一个单元格。 如果使用本示例,请单击区域 A6:C10 中的任意单元格。

  4. “数据”选项卡上的“排序和筛选”组中,单击“高级”

    “数据”选项卡上的“排序和筛选”组

  5. 请执行下列操作之一:

    • 若要通过隐藏不符合条件的行来筛选列表区域,请单击“在原有区域显示筛选结果”。

    • 若要通过将符合条件的行复制到工作表的其他区域来筛选列表区域,请单击“将筛选结果复制到其他位置”,然后在“复制到”编辑框中单击鼠标,再单击要在该处粘贴行的区域的左上角。

      提示    将筛选所得的行复制到其他位置时,可以指定复制操作中要包含的列。 筛选之前,请将所需列的列标签复制到计划粘贴筛选行的区域的首行。 而当筛选时,请在“复制到”框中输入对被复制列标签的引用。 这样,复制的行中将只包含已复制过标签的列。

  6. 在“条件区域”框中,输入条件区域(包括条件标签)的引用。 如果使用本示例,请输入 $A$1:$C$3。

    若要在选择条件区域时暂时删除 "高级筛选" 对话框, 请单击 "压缩对话框 按钮图像 "。

  7. 如果使用本示例,列表区域的筛选结果是:

    类型

    销售人员

    销售额

    肉类

    彭德威

    ¥4,500

    农产品

    黄雅玲

    ¥63,280

    农产品

    刘英玫

    ¥65,440

多列中有多个条件,所有条件都为真

布尔逻辑:    (类型 = "农产品" AND 销售额 > 1000)

  1. 在可以用作条件区域的列表区域上方插入至少三个空白行。 条件区域必须具有列标签。 确保条件值和列表区域之间至少有一个空白行。

  2. 若要查找满足多列中有多个条件的行,请在条件区域的同一行中键入所有条件。 如果使用此示例,请输入:

    类型

    销售人员

    销售额

    ="=农产品"

    >1000

  3. 在列表区域中单击一个单元格。 如果使用本示例,请单击区域 A6:C10 中的任意单元格。

  4. “数据”选项卡上的“排序和筛选”组中,单击“高级”

    “数据”选项卡上的“排序和筛选”组

  5. 请执行下列操作之一:

    • 若要通过隐藏不符合条件的行来筛选列表区域,请单击“在原有区域显示筛选结果”。

    • 若要通过将符合条件的行复制到工作表的其他区域来筛选列表区域,请单击“将筛选结果复制到其他位置”,然后在“复制到”编辑框中单击鼠标,再单击要在该处粘贴行的区域的左上角。

      提示    将筛选所得的行复制到其他位置时,可以指定复制操作中要包含的列。 筛选之前,请将所需列的列标签复制到计划粘贴筛选行的区域的首行。 而当筛选时,请在“复制到”框中输入对被复制列标签的引用。 这样,复制的行中将只包含已复制过标签的列。

  6. 在“条件区域”框中,输入条件区域(包括条件标签)的引用。 如果使用本示例,请输入 $A$1:$C$2。

    若要在选择条件区域时暂时删除 "高级筛选" 对话框, 请单击 "压缩对话框 按钮图像 "。

  7. 如果使用本示例,列表区域的筛选结果是:

    类型

    销售人员

    销售额

    农产品

    黄雅玲

    ¥63,280

    农产品

    刘英玫

    ¥65,440

多列中有多个条件,任何条件为真

布尔逻辑:    (类型="农产品" OR 销售人员="林恪")

  1. 在可以用作条件区域的列表区域上方插入至少三个空白行。 条件区域必须具有列标签。 确保条件值和列表区域之间至少有一个空白行。

  2. 若要查找满足多列中有多个条件,其中任何条件都可以为真的行,请在条件区域的不同列和行中键入条件。 如果使用此示例,请输入:

    类型

    销售人员

    销售额

    ="=农产品"

    ="=林恪"

  3. 在列表区域中单击一个单元格。 如果使用本示例,请单击列表区域 A6:C10 中的任意单元格。

  4. “数据”选项卡上的“排序和筛选”组中,单击“高级”

    “数据”选项卡上的“排序和筛选”组

  5. 请执行下列操作之一:

    • 若要通过隐藏不符合条件的行来筛选列表区域,请单击“在原有区域显示筛选结果”。

    • 若要通过将符合条件的行复制到工作表的其他区域来筛选列表区域,请单击“将筛选结果复制到其他位置”,然后在“复制到”编辑框中单击鼠标,再单击要在该处粘贴行的区域的左上角。

    提示: 将筛选所得的行复制到其他位置时,可以指定复制操作中要包含的列。 筛选之前,请将所需列的列标签复制到计划粘贴筛选行的区域的首行。 而当筛选时,请在“复制到”框中输入对被复制列标签的引用。 这样,复制的行中将只包含已复制过标签的列。

  6. 在“条件区域”框中,输入条件区域(包括条件标签)的引用。 如果使用本示例,请输入 $A$1:$B$3。

    若要在选择条件区域时暂时删除 "高级筛选" 对话框, 请单击 "压缩对话框 按钮图像 "。

  7. 如果使用本示例,列表区域的筛选结果是:

    类型

    销售人员

    销售额

    农产品

    黄雅玲

    ¥63,280

    农产品

    刘英玫

    ¥65,440

多组条件,所有组集中于一列中

布尔逻辑:     ( (销售额 > 6000 AND 销售额 < 6500 ) OR (销售额 < 500) )

  1. 在可以用作条件区域的列表区域上方插入至少三个空白行。 条件区域必须具有列标签。 确保条件值和列表区域之间至少有一个空白行。

  2. 若要查找满足多组条件,每组包含用于一列的条件的行,请在多个列中包括同一个列标题。 如果使用此示例,请输入:

    类型

    销售人员

    Sales

    销售额

    >6000

    <6500

    <500

  3. 在列表区域中单击一个单元格。 如果使用本示例,请单击列表区域 A6:C10 中的任意单元格。

  4. “数据”选项卡上的“排序和筛选”组中,单击“高级”

    “数据”选项卡上的“排序和筛选”组

  5. 请执行下列操作之一:

    • 若要通过隐藏不符合条件的行来筛选列表区域,请单击“在原有区域显示筛选结果”。

    • 若要通过将符合条件的行复制到工作表的其他区域来筛选列表区域,请单击“将筛选结果复制到其他位置”,然后在“复制到”编辑框中单击鼠标,再单击要在该处粘贴行的区域的左上角。

      提示: 将筛选所得的行复制到其他位置时,可以指定复制操作中要包含的列。 筛选之前,请将所需列的列标签复制到计划粘贴筛选行的区域的首行。 而当筛选时,请在“复制到”框中输入对被复制列标签的引用。 这样,复制的行中将只包含已复制过标签的列。

  6. 在“条件区域”框中,输入条件区域(包括条件标签)的引用。 如果使用本示例,请输入 $A$1:$D$3。

    若要在选择条件区域时暂时删除 "高级筛选" 对话框, 请单击 "压缩对话框 按钮图像 "。

  7. 如果使用本示例,列表区域的筛选结果是:

    类型

    销售人员

    Sales

    肉类

    彭德威

    ¥4,500

    农产品

    黄雅玲

    ¥63,280

多组条件,每组包含多列

布尔逻辑:    ( (销售人员 = "赵强" AND 销售额 >3000) OR (销售人员 = "林恪" AND 销售额 > 1500) )

  1. 在可以用作条件区域的列表区域上方插入至少三个空白行。 条件区域必须具有列标签。 确保条件值和列表区域之间至少有一个空白行。

  2. 若要查找满足多组条件,其中每组包括用于多列的条件的行,请在单独的列和行中键入每组条件。 如果使用此示例,请输入:

    类型

    销售人员

    Sales

    ="=彭德威"

    >3000

    ="=林恪"

    >1500

  3. 在列表区域中单击一个单元格。 如果使用本示例,请单击列表区域 A6:C10 中的任意单元格。

  4. “数据”选项卡上的“排序和筛选”组中,单击“高级”

    “数据”选项卡上的“排序和筛选”组

  5. 请执行下列操作之一:

    • 若要通过隐藏不符合条件的行来筛选列表区域,请单击“在原有区域显示筛选结果”。

    • 若要通过将符合条件的行复制到工作表的其他区域来筛选列表区域,请单击“将筛选结果复制到其他位置”,然后在“复制到”编辑框中单击鼠标,再单击要在该处粘贴行的区域的左上角。

      提示    将筛选所得的行复制到其他位置时,可以指定复制操作中要包含的列。 筛选之前,请将所需列的列标签复制到计划粘贴筛选行的区域的首行。 而当筛选时,请在“复制到”框中输入对被复制列标签的引用。 这样,复制的行中将只包含已复制过标签的列。

  6. 在“条件区域”框中,输入条件区域(包括条件标签)的引用。 使用该示例, 输入 $A $1: $C $ 3.To 在选择条件区域时暂时将 "高级筛选" 对话框移出, 请单击 "折叠对话框" 按钮图像

  7. 如果使用本示例,列表区域的筛选结果将为:

    类型

    销售人员

    销售额

    农产品

    黄雅玲

    ¥63,280

    农产品

    刘英玫

    ¥65,440

通配符条件

布尔逻辑:    销售人员 = 姓名中的第二个字为“恪”

  1. 要查找共享某些字符而非其他字符的文本值,请执行下面一项或多项操作:

    • 键入一个或多个不带等号 (=) 的字符,以查找列中文本值以这些字符开头的行。 例如,如果键入文本“”作为条件,则 Excel 将找到“赵强”、“赵威”和“赵新”。

    • 使用通配符。

      用途

      若要查找

      ? (问号)

      任何单字符
      例如, sm?th 将找到 "smith" 和 "smyth"

      *(星号)

      任意数量的字符
      例如, * 东将找到 "东北" 和 "东南"

      ~(波形符)后跟 ?、* 或 ~

      问号、星号或波形符
      例如, fy91 ~? 可找到“fy91?”

  2. 在可以用作条件区域的列表区域上方插入至少三个空白行。 条件区域必须具有列标签。 确保条件值和列表区域之间至少有一个空白行。

  3. 在列标签下方的行中,键入要匹配的条件。 如果使用此示例,请输入:

    类型

    销售人员

    销售额

    ="=Me*"

    ="=?恪*"

  4. 在列表区域中单击一个单元格。 如果使用本示例,请单击列表区域 A6:C10 中的任意单元格。

  5. “数据”选项卡上的“排序和筛选”组中,单击“高级”

    “数据”选项卡上的“排序和筛选”组

  6. 请执行下列操作之一:

    • 若要通过隐藏不符合条件的行来筛选列表区域,请单击“在原有区域显示筛选结果

    • 若要通过将符合条件的行复制到工作表的其他区域来筛选列表区域,请单击“将筛选结果复制到其他位置”,然后在“复制到”编辑框中单击鼠标,再单击要在该处粘贴行的区域的左上角。

      提示: 将筛选所得的行复制到其他位置时,可以指定复制操作中要包含的列。 筛选之前,请将所需列的列标签复制到计划粘贴筛选行的区域的首行。 而当筛选时,请在“复制到”框中输入对被复制列标签的引用。 这样,复制的行中将只包含已复制过标签的列。

  7. 在“条件区域”框中,输入条件区域(包括条件标签)的引用。 如果使用本示例,请输入 $A$1:$B$3。

    若要在选择条件区域时暂时删除 "高级筛选" 对话框, 请单击 "压缩对话框 按钮图像 "。

  8. 如果使用本示例,列表区域的筛选结果是:

    类型

    销售人员

    销售额

    饮料

    蔡耀明

    ¥51,220

    肉类

    刘英玫

    ¥4,500

    农产品

    黄雅玲

    ¥63,280

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×