
要点
由于在单元格中键入文本或值时等号用来表示一个公式,因此 Microsoft Excel 会评估您键入的内容;不过,这可能会产生意外的筛选结果。为了表示文本或值的相等比较运算符,应在条件区域的相应单元格中键入作为字符串表达式的条件:
=''=条目''
其中“条目”是要查找的文本或值。例如:
| 在单元格中键入的内容 | Excel 评估和显示的内容 |
| ="=李小明" | =李小明 |
| ="=3000" | =3000 |
以下各节提供了复杂条件的示例。
一列中有多个条件
多列中有多个条件,其中所有条件都必须为真
多列中有多个条件,其中所有条件都必须为真
多个条件集,其中每个集包括用于多个列的条件
多个条件集,其中每个集包括用于一个列的条件
查找共享某些字符而非其他字符的文本值的条件
将公式结果用作条件
筛选大于数据区域中所有值的平均值的值
使用区分大小写的搜索筛选文本
一列中有多个条件
布尔逻辑: (销售人员 = "李小明" OR 销售人员 = "林丹")
要查找满足“一列中有多个条件”的行,请直接在条件区域的单独行中依次键入条件。
在下面的数据区域 (A6:C10) 中,条件区域 (B1:B3) 显示“销售人员”列 (A8:C10) 中包含“李小明”或“林丹”的行。
| A | B | C | |
| 1 | 类型 | 销售人员 | 销售额 |
| 2 | =李小明 | ||
| 3 | =林丹 | ||
| 4 | |||
| 5 | |||
| 6 | 类型 | 销售人员 | 销售额 |
| 7 | 饮料 | 苏术平 | ¥5122 |
| 8 | 肉 | 李小明 | ¥450 |
| 9 | 特制品 | 林丹 | ¥6328 |
| 10 | 特制品 | 李小明 | ¥6544 |
布尔逻辑: (类型 = "特制品" AND 销售额 > 1000)
要查找满足“多列中有多个条件”的行,请在条件区域的同一行中键入所有条件。
在下面的数据区域 (A6:C10) 中,条件区域 (A1:C2) 显示“类型”列中包含“特制品”和“销售额”列 (A9:C10) 中值大于 ¥1,000 的所有行。
| A | B | C | |
| 1 | 类型 | 销售人员 | 销售额 |
| 2 | =特制品 | >1000 | |
| 3 | |||
| 4 | |||
| 5 | |||
| 6 | 类型 | 销售人员 | 销售额 |
| 7 | 饮料 | 苏术平 | ¥5122 |
| 8 | 肉 | 李小明 | ¥450 |
| 9 | 特制品 | 林丹 | ¥6328 |
| 10 | 特制品 | 李小明 | ¥6544 |
布尔逻辑: (类型 = "特制器" OR 销售人员 = "李小明")
要查找满足“多列中有多个条件,其中所有条件都必须为真”的行,请在条件区域的不同行中键入条件。
在下面的数据区域 (A6:C10) 中,条件区域 (A1:B3) 显示“类型”列中包含“特制品”或“销售人员”列 (A8:C10) 中包含“李小明”的所有行。
| A | B | C | |
| 1 | 类型 | 销售人员 | 销售额 |
| 2 | =特制品 | ||
| 3 | =李小明 | ||
| 4 | |||
| 5 | |||
| 6 | 类型 | 销售人员 | 销售额 |
| 7 | 饮料 | 苏术平 | ¥5122 |
| 8 | 肉 | 李小明 | ¥450 |
| 9 | 特制品 | 林丹 | ¥6328 |
| 10 | 特制品 | 李小明 | ¥6544 |
布尔逻辑: ( (销售人员 = "李小明" AND 销售额 >3000) OR (销售人员 = "林丹" AND 销售额 > 1500) )
要查找满足“多个条件集,其中每个集包括用于多个列的条件”的行,请在单独的行中键入每个条件集。
在下面的数据区域 (A6:C10) 中,条件区域 (B1:C3) 显示“销售人员”列中包含“李小明”并且“销售额”列中值大于 ¥3,000 的行,或者显示“销售人员”列中包含“林丹”并且“销售额”列 (A9:C10) 中值大于 ¥1,500 的行。
| A | B | C | |
| 1 | 类型 | 销售人员 | 销售额 |
| 2 | =李小明 | >3000 | |
| 3 | =林丹 | >1500 | |
| 4 | |||
| 5 | |||
| 6 | 类型 | 销售人员 | 销售额 |
| 7 | 饮料 | 苏术平 | ¥5122 |
| 8 | 肉 | 李小明 | ¥450 |
| 9 | 特制品 | 林丹 | ¥6328 |
| 10 | 特制品 | 李小明 | ¥6544 |
布尔逻辑: ( (销售额 > 6000 AND 销售额 < 6500 ) OR (销售额 < 500) )
要查找满足“多个条件集,其中每个集包括用于一个列的条件”的行,请在多个列中包括同一个列标题。
在下面的数据区域 (A6:C10) 中,条件区域 (C1:D3) 显示“销售额”列 (A8:C10) 中值在 5,000 和 8,000 之间以及值小于 500 的行。
| A | B | C | D | |
| 1 | 类型 | 销售人员 | 销售额 | 销售额 |
| 2 | >6000 | <6500 | ||
| 3 | <500 | |||
| 4 | ||||
| 5 | ||||
| 6 | 类型 | 销售人员 | 销售额 | |
| 7 | 饮料 | 苏术平 | ¥5122 | |
| 8 | 肉 | 李小明 | ¥450 | |
| 9 | 特制品 | 林丹 | ¥6328 | |
| 10 | 特制品 | 李小明 | ¥6544 |
要查找共享某些字符而非其他字符的文本值,请执行下面一项或多项操作:
键入一个或多个不带等号 (=) 的字符,以查找列中文本值以这些字符开头的行。例如,如果键入文本“Dav”作为条件,则 Excel 将找到“Davolio”、“David”和“Davis”。
使用通配符
操作方法
可以使用下面的通配符作为比较条件。
| 使用 | 查找 |
| ?(问号) | 任何单字符 例如,sm?th 可找到“smith”和“smyth” |
| *(星号) | 任何数量的字符 例如,*east 可找到“Northeast”和“Southeast” |
| ~(波形符)后跟 ?、* 或 ~ | 问号、星号或波形符 例如,fy91~? 可找到“fy91?” |
| A | B | C | |
| 1 | 类型 | 销售人员 | 销售额 |
| 2 | Me | ||
| 3 | =?u* | ||
| 4 | |||
| 5 | |||
| 6 | 类型 | 销售人员 | 销售额 |
| 7 | Beverages | Suyama | ¥5122 |
| 8 | Meat | Davolio | ¥450 |
| 9 | produce | Buchanan | ¥6328 |
| 10 | Produce | Davolio | ¥6544 |
可以将公式 (公式:单元格中的一系列值、单元格引用、名称或运算符的组合,可生成新的值。公式总是以等号 (=) 开始。)的计算结果作为条件使用。请记住以下要点:
公式必须能够评估为 TRUE 或 FALSE。
由于是使用公式,请按通常方式输入公式,不要按下面的方式键入表达式:
=''=条目''
对于条件标志请不要使用列标志;要么保持条件标志为空,要么使用不是区域中列标志的标志(在下面的示例中,为“计算的平均值”和“精确匹配”)。
如果在公式中使用列标志而不使用相对单元格引用或区域名称,Excel 将在包含条件的单元格中显示错误值(如 #NAME? 或 #VALUE!),您可以忽略这些错误,因为它不影响区域的筛选方式。
所使用的条件公式必须使用相对引用 (相对单元格引用:在公式中,基于包含公式的单元格与被引用的单元格之间的相对位置的单元格地址。如果复制公式,相对引用将自动调整。相对引用采用 A1 样式。)来引用第一行中的相应单元格(在下例中为 C7 和 A7)。
公式中的所有其他引用必须是绝对引用 (绝对单元格引用:公式中单元格的精确地址,与包含公式的单元格的位置无关。绝对引用采用的形式为 $A$1。)。
下面的小节提供了将公式结果作为条件的一些特定示例。
筛选大于数据区域中所有值的平均值的值
在下面的数据区域 (A6:D10) 中,条件区域 (D1:D2) 显示“销售额”列中值大于所有“销售额”值 (C7:C10) 的平均值的行。在公式中,“C7”引用数据区域 (7) 中筛选列 (C) 的第一行。
| A | B | C | D | |
| 1 | 类型 | 销售人员 | 销售额 | 计算的平均值 |
| 2 | =C7>AVERAGE($C$7:$C$10) | |||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | 类型¥ | 销售人员 | 销售额 | |
| 7 | 饮料 | 苏术平 | ¥5122 | |
| 8 | 肉 | 李小明 | ¥450 | |
| 9 | 特制品 | 林丹 | ¥6328 | |
| 10 | 特制品 | 李小明 | ¥6544 |
在数据区域 (A6:D10) 中,通过使用 EXACT 函数执行区分大小写的搜索 (A10:C10),条件区域 (D1:D2) 将显示“类型”列中包含“特制品”的行。在公式中,“A7”引用数据区域 (7) 中筛选列 (A) 的第一行。
| A | B | C | D | |
| 1 | 类型 | 销售人员 | 销售额 | 精确匹配 |
| 2 | =EXACT(A7, "特制品") | |||
| 3 | ||||
| 4 | ||||
| 5 | ||||
| 6 | 类型 | 销售人员 | 销售额 | |
| 7 | 饮料 | 苏术平 | ¥5122 | |
| 8 | 肉 | 李小明 | ¥450 | |
| 9 | 特制品 | 林丹 | ¥6328 | |
| 10 | 特制品 | 李小明 | ¥6544 |
| [日期:2008-09-26] | 来源: 作者: | [字体:大 中 小] |
虽然“自动筛选”操作简单,但是可供使用的筛选条件有限。为此,Excel提供了“高级筛选”功能。它能够使用各种条件对数据清单进行筛选,其功能强大和使用灵活远非“自动筛选”可比。
(1)条件区域:
使用高级筛选必须在工作表中构造区域,它由条件标记和条件值构成。条件标记和数据清单的列标记相同,可以从数据清单中直接复制过来;条件值则须根据筛选需要在条件标记下方构造,是执行高级筛选的关键部分。
构造高级筛选的条件区域需要注意:如果条件区域放在数据清单的下方,那么两者之间应至少有一个空白行。如果条件区域放在数据清单的上方,则数据清单和条件区域之间也应剩余一个或几个空白行(一般不要这样设计,这样影响其他功能使用数据清单)。
(2)单列多条件:
如果某一个条件标记下面输入了两个或多个筛选条件,我们将其称为单列多条件,你只要在条件标记下自上而下依次输入筛选条件即可。例如你需要列出图1中年龄大于17和年龄小于17的学生名单,只需在图1条件标记“年龄”的下方D10和D11单元格输入“>17”和“<17”即可。
(3)多列单条件:
多列单条件是指筛选条件由多个条件标记构成,但每个条件标记下面只有一个条件。如果你要列出图1中“性别”为“女”,且“语文”成绩大于等于85的学生,可以在图1条件区域的C10单元格内输入“女”,在G10单元格内输入“>=85”即可。
(4)多行单条件:
构造高级筛选条件有这样的要求:如果多个筛选条件需要同时满足,它们必须分布于条件区域的同一行,这就是所谓的“与”条件,否则筛选条件必须分布于条件区域的不同行,也就是“或”条件。假如你要在图1中找出“性别”是“男”,或“语文”成绩“>=80”,或“化学”成绩“>=90”的所有记录。可以在图1条件区域的C10单元格内输入“男”,然后在G11单元格内输入“>=80”,最后在J12单元格内输入“>=90”即可。
(5)两列两组条件:
如果你需要在图1中寻找物理成绩大于等于90的男生或者物理成绩大于等于80的女生,可以按照如下方法构造条件区域。C10、C11单元格内分别输入“男”和“女”,接着在H10、H11单元格内分别输入“>=90”和“>=80”即可。
(6)执行筛选操作:
数据清单和条件区域建立完毕,你就可以执行数据筛选任务了,具体操作方法是:点击“数据→筛选→高级筛选”菜单命令,在打开的对话框中首先选择筛选结果的显示方式,若选择“在原有区域显示筛选结果”,则像自动筛选那样在数据清单中显示结果;否则就要在“复制到”框内指定筛选结果的显示位置。接着点击“数据区域”框,选中数据清单所在的区域,使该区域的绝对引用进入框内;再用相同方法完成对“条件区域”的绝对引用。点击“确定”按钮,就会在你选择的位置显示筛选结果。
如果你选择“在原有区域显示筛选结果”,则筛选完成后只能看到结果而看不到原来的数据清单。此时点击“数据→筛选→全部显示”菜单命令,即可恢复原来的数据清单。
