Excel 高级筛选

2025年3月17日 | 阅读 10 分钟

如果您使用 Excel,筛选器是经常使用的功能之一,可以根据给定的选择、字符串、数字或其他条件快速分隔数据。但您知道 Microsoft Excel 提供了高级筛选选项,可以彻底改变您的 Excel 使用体验吗?在许多情况下,标准的自动筛选器无法满足您的需求,而高级筛选器则能起到奇妙的作用。听起来很棒,对吧!

因此,本教程将介绍一些使用 Excel 高级筛选可以完成的酷炫功能。以下是主题列表:

  1. Excel 高级筛选是什么?
  2. 自动筛选器和高级筛选器之间的区别
  3. 在 Excel 中创建高级筛选
    • 高级筛选的条件范围
    • 数字和日期值的条件
    • 文本值的条件
    • 带通配符的高级筛选选项
    • 高级筛选条件和公式
  4. 使用高级筛选的 AND 和 OR 逻辑门
  5. 提取特定列
  6. 将筛选后的数据复制到另一个工作表

让我们开始吧!

Excel 高级筛选是什么?

顾名思义,“Excel 高级筛选包含比常规筛选版本更广泛、更高级的功能。它通常用于用户需要实现更复杂的条件来筛选其数据时。

当您想查找满足两个或多个复杂条件的数据时,高级筛选非常有用?例如,通过匹配和查看不同行之间的差异来提取数据,筛选与另一个列表中的值匹配的列,以及捕获精确匹配(包括区分大小写和不区分大小写)等等。

Excel 高级筛选是在 Excel 2003 版本中引入的,此后在所有后续版本中都可用,包括 Excel 2007、Excel 2010、Excel 2013、Excel 2106、Excel 2019 和 Excel 365。

常规筛选器与高级筛选器

Excel 已经包含了一个非常好用的自动筛选器,可以解决您的大部分问题。很多人可能会想,有必要引入 Excel 高级筛选器吗?以下是自动筛选器和高级筛选器之间的区别:

序号Excel 自动筛选器Excel 高级筛选器
1.Excel 自动筛选器易于使用且快速,因为它内置了单击按钮即可筛选数据的能力。您需要做的就是单击 Excel 功能区上的“筛选”按钮,筛选器将自动应用于选定的数据集。Excel 高级筛选器比较复杂,涉及多个步骤和条件。它没有使用自动筛选器预定义的设置,因此无法自动应用。它要求手动配置选定范围和条件范围。
2.自动筛选器允许在标准自动筛选器对话框窗口中直接设置最多两个条件范围来筛选数据值。高级筛选器可以查找满足多列多个条件的行,其中高级条件必须输入到 Excel 工作表的不同区域。

如何在 Excel 中创建高级筛选

Excel 高级筛选器比较复杂,因为它涉及许多高级步骤,但它肯定会为您提供更精细、更定制化的结果。要创建高级筛选器,请确保在工作表中执行以下步骤:

1. 组织选定的数据

  1. 始终为您的行添加标题。因此,您的每列都会有一个唯一的标题,因为重复的标题会使高级筛选器感到困惑。
  2. 空白行将影响高级筛选器的正常工作。请务必确保所选数据范围内没有空白行。

参考下图以了解我们的表格外观

Excel Advance Filters

2. 创建条件范围

对于高级筛选器,请始终在工作表的顶部创建一个单独的范围。虽然不是强制性的,但您可以将条件范围放在工作表的任何位置。但是,如果将其放在工作表的顶部,并用一两个空白行与主要数据隔开,会更方便、更容易访问。

例如,要筛选出北部省份总值大于 20000 的记录,我们将设置以下条件范围:

区域:北部

总计:> 20000

Excel Advance Filters

3. 应用 Excel 高级筛选

既然我们已经创建了条件范围,下一步就是应用高级筛选。以下是步骤:

  • 选择数据范围中的任意单元格。
  • 从 Excel 功能区,转到“数据”选项卡,选择“排序和筛选”组,然后在对话框窗口中单击“高级”。
  • Excel Advance Filters
  • 单击上述选项后,将立即显示筛选对话框窗口。现在我们需要设置和配置筛选参数。
  • Excel Advance Filters

4. 配置筛选参数

在“高级筛选”对话框中,我们将在参数中输入以下值:

  1. 操作:此参数将指定我们是想在各自的位置筛选选定数据,还是复制输出并将其放置在另一个位置。
    • 如果选择“在原位筛选列表”选项,它将隐藏不符合您条件的行。
    • 选择“将结果复制到其他位置”选项,将引导您选择可以复制和粘贴筛选出的行的范围的左上角单元格。切勿在目标范围内选择空白单元格,否则将清除复制范围下方所有单元格的内容。
  2. 列表区域:它表示要筛选的单元格范围,并且应包含列标题。
    • 如果您在单击“高级”选项之前已选择了数据范围,Excel 将自动选择该范围并为您填写列表。
    • 如果您对列出的范围不满意,请单击“折叠对话框”图标,它将带您回到工作表,您可以在其中使用光标选择所需的范围。
    • Excel Advance Filters
  3. 条件区域:在此字段中,我们将提供我们在工作表中指定了条件的单元格范围。
    • 在本例中,我们将在原位筛选列表,单击“折叠对话框”图标,它将带您回到工作表,您可以在其中使用光标选择条件范围。
    • Excel Advance Filters
  4. 唯一记录:如果您只需要唯一数据,请单击“高级筛选”对话框左侧角的“仅唯一记录”复选框。它将仅筛选唯一的数据条目。
Excel Advance Filters

最后,单击“确定”,您将获得以下筛选输出,其中仅显示区域为北部且总销售额大于 20000 的条目。

Excel Advance Filters

在另一列中筛选和复制

在上一节中,我们学习了如何在包含实际数据的工作表中应用高级筛选工具。现在,如果我们想将筛选后的数据复制到另一个工作表怎么办?您可能会认为最简单的方法是选择“复制到其他位置”选项,然后在另一个工作表中选择要粘贴数据的范围。但这种方法的讽刺之处在于它会显示一个错误:“只能将筛选后的数据复制到活动工作表”。

Excel 提供了一个选项,可以快速将数据复制到另一个位置。这样,您可以同时保留原始数据和筛选后的数据。假设您的数据保存在 sheet1 中,而您想将筛选后的数据复制到 sheet3。以下是筛选并复制到不同列数据的步骤:

  1. 再次,我们将在 worksheet1 的顶部行设置一个条件范围。
    条件范围
    地区总销售额
    北部>=10000
  2. 手动转到 sheet3,然后使用光标选择任何空白单元格。请确保它不包含任何文本。否则,它将被覆盖。
  3. 从 Excel 功能区,转到“数据”选项卡,选择“排序和筛选”组,然后在对话框窗口中单击“高级”。
  4. 将显示筛选对话框窗口;选择以下选项:
    • 对于“操作”字段,您会找到两个选项。选择“复制到其他位置”选项。
    • 下一个字段是“列表区域”;单击“折叠对话框”图标,它将带您到 sheet2,切换到 sheet one 并使用光标选择您要筛选的范围。
    • 在“条件范围”框中,选择要应用的条件。
    • 最后一步是单击“复制到”框,然后在 sheet2 中选择要放置数据的单元格范围。
    • 如果您想要唯一数据,请单击“高级筛选”对话框左侧角的“仅唯一记录”复选框。
    • 最后,单击“确定”。
  5. Excel Advance Filters
  6. 您将获得以下筛选输出。
Excel Advance Filters

Excel 高级筛选条件范围

到目前为止,我们已经创建了一个高级筛选,并且我们知道这并非难事。我们可以轻松地通过几个步骤根据我们的要求创建筛选器。但是,了解更多一点可以增加您的筛选选项。

比较运算符

在高级筛选条件中,您可以使用以下比较运算符来比较不同的数值。

比较运算符说明示例
=等于X = = Y
>大于X > Y
<小于X < y
>=大于等于X >= Y
<=小于等于X <= Y
<>不等于X <> Y

到目前为止,我们已经使用了以下条件范围,其中我们一直使用 `>=10000` 条件来筛选大于或等于 10000 的记录。

条件范围
地区总销售额
北部>=10000

现在,假设您想筛选北部地区的 1 月份数据,其中总销售额大于 3000。为此,我们将使用以下运算符创建一个条件范围:

区域:北部

订购日期:>=2022-07-01

订购日期:<=2022-07-31

总销售额:>3000

Excel Advance Filters

Excel 将显示以下输出:

Excel Advance Filters

文本高级筛选

在上一节中,我们介绍了帮助我们对数字和日期应用条件的运算符。除此之外,您还可以使用逻辑运算符来比较文本值。下表包含所有规则:

标准描述
="=txt"筛选值完全等于“文本”的单元格。
text筛选“文本”开头的文本。
<>text筛选内容不等于“文本”的数据。
>text它用于筛选按字母顺序排列在“文本”之后的文本。
< text它筛选按字母顺序排列在“文本”之前的所有文本。

示例 1. 筛选完全匹配的文本

很多时候,我们只想显示包含与特定文本或字符完全匹配的单元格,包括大写、小写、等号或逗号。

例如,如果我们只想筛选 Excel 列表中的 Apple 产品,我们将使用以下条件:="=Apple "。按下 Enter 后,Microsoft 将自动将条件显示为 =Apple,但您可以在公式栏中查看完整的公式。

正如您在下图中所见,条件 ="=Apple" 仅显示总销售额大于 3000 的 Apple 记录,而忽略 Green Apple 和 Pineapple。条件如下:

产品:="=Apple"

总销售额:>3000

Excel Advance Filters

示例 2. 筛选以特定文本开头的数据

要筛选所有文本以指定值开头的单元格。我们需要在条件范围中键入该文本,而无需提及等号 (=) 或双引号 ("")。

例如,要筛选出所有包含“green”文本且总销售额大于 10000 的产品,我们将使用以下条件:

产品:绿色

小计:>10000

Excel Advance Filters

Excel 高级筛选器与通配符

到目前为止,在本教程中,我们已经学习了如何筛选精确匹配。如果您只想筛选部分匹配的文本记录该怎么办?是的,也可以使用通配符。以下是 Excel 中最常用的通配符:

  • 问号 (?):此字符与任何单个字符匹配指定的内容。
  • 星号 (*):此通配符匹配任何字符序列。
  • 波浪号 (~) 后跟 \*、? 或 ~:此字符用于筛选包含 ?(问号)、*(星号)或波浪号 (~) 的文本。

除了上述条目外,您还可以参考下表来理解一些带有通配符的条件范围示例。--

标准描述示例
*val*筛选包含文本 val 的值示例:* apple *,将返回 green apples、pineapple
??val筛选文本以 val 之后的任意两个字符开头的值示例:??apple,将返回“//apple”、“12apple”
val*val筛选以“文本”开头并且在单元格中的任何位置都包含第二个“文本”的文本。示例:apple*apple 将返回 apple my red apple
="=val*val"此字符用于筛选“val”开头以“val”结尾的文本。示例:="=apple?Orange" 将返回“Appple my Orange”
="=val1?val1"它用于筛选以“val1”开头,“val2”结尾,并且中间只包含一个字符的值。示例:="=apple?orange" 将返回“=Apple?Orange”
val~**它用于筛选以“val”开头,后面跟任何其他文本的单元格。示例:apple~** 将返回 apple*banana
="=?????"它用于筛选包含 5 个字符值的单元格。它将返回 apple、lemon 等字符

要获取包含 apple 一词的产品,我们将使用以下条件:

产品:* Apple*

总销售额:>10000

Excel Advance Filters

使用 AND 与 OR 逻辑的高级筛选

Excel 高级筛选器可以很好地与 AND 和 OR 逻辑配合使用,以设置更高级的条件范围并筛选更复杂的数据。

  • 应用于同一行的条件使用 AND 运算符链接。
  • 应用于不同行的条件使用 OR 运算符链接。

让我们通过以下示例来理解上述概念:

AND 逻辑的 Excel 高级筛选

创建筛选器(总销售额大于等于 10000)>=10000 并且 3 月销售额 >=1000。现在您可能会想,是否可以同时应用这两个条件。是的,通过使用 AND 逻辑,我们可以在 Excel 工作表中同时应用这两个条件。

Excel Advance Filters

OR 逻辑的 Excel 高级筛选

要创建条件,其中总销售额 >=3000 或 3 月销售额 >=600,我们将把每个条件放在单独的行上。

Excel Advance Filters

Excel 高级筛选同时使用 AND 和 OR 逻辑

要创建条件,其中产品为 Apple,总销售额大于或等于 30000,或平均值大于或等于 1000,我们将应用以下条件范围:

Excel Advance Filters