全部显示全部隐藏 将列表或数据库的列中满足指定条件的数字作为一个样本,估算样本总体的方差。 语法 dvar(database,field,criteria) database: 构成列表或数据库的单元格区域。数据库是包含一组相关数据的列表,其中包含相关信息的行为记录,而包含数据的列为字段。列表的第一行包含每一列的标签。 field: 指定函数所使用的列。输入列标签,并将其包括在双引号中,例如“树龄”或“产量”;此外,也可以输入代表列表中列位置的数字(不加引号):1 表示第一列,2 表示第二列,依此类推。 criteria: 为包含指定条件的单元格区域。可以为参数 criteria 指定任意区域,只要它至少包含一个列标签并且在列标签下方至少有一个用于为该列指定条件的单元格。 条件示例 要点 - 由于在单元格中键入文本或值时等号用来表示一个公式,因此 microsoft excel 会计算您键入的内容;不过,这可能会产生意外的筛选结果。为了表示文本或值的相等比较运算符,应在条件区域的相应单元格中键入作为字符串表达式的条件:
=''=entry'' 其中 entry 是要查找的文本或值。例如: 在单元格中键入的内容 | excel 计算和显示的内容 | ="=李小明" | =李小明 | ="=3000" | =3000 | - excel 在筛选文本数据时不区分大小写。不过,您可以使用公式来执行区分大小写的搜索。有关示例,请参阅使用区分大小写的搜索筛选文本。
以下各节提供了复杂条件的示例。 - 一列中有多个条件
- 多列中有多个条件,其中所有条件都必须为 true
- 多列中有多个条件,其中任何条件都可能为 true
- 多个条件集,其中每个集包括用于多个列的条件
- 多个条件集,其中每个集包括用于某一列的条件
- 查找共享某些字符而非其他字符的文本值的条件
- 将公式结果用作条件
- 筛选大于数据区域中所有值的平均值的值
- 使用区分大小写的搜索筛选文本
一列中有多个条件 布尔逻辑: (销售人员 = "李小明" or 销售人员 = "林丹") 要查找满足“一列中有多个条件”的行,请直接在条件区域的各行中依次键入条件。 在下面的数据区域 (a6:c10) 中,条件区域 (b1:b3) 显示“销售人员”列中包含“李小明”或“林丹”的行 (a8:c10)。 | a | b | c | 1 | 类型 | 销售人员 | 销售额 | 2 | | =李小明 | | 3 | | =林丹 | | 4 | | | | 5 | | | | 6 | 类型 | 销售人员 | 销售额 | 7 | 饮料 | 苏术平 | ¥5122 | 8 | 肉类 | 李小明 | ¥450 | 9 | 农产品 | 林丹 | ¥6328 | 10 | 农产品 | 李小明 | ¥6544 | 返回页首 多列中有多个条件,其中所有条件都必须为 true 布尔逻辑: (类型 = "农产品" and 销售额 > 1000) 要查找满足“多列中有多个条件”的行,请在条件区域的同一行中键入所有条件。 在下面的数据区域 (a6:c10) 中,条件区域 (a1:c2) 显示“类型”列中包含“农产品”且“销售额”列中的值大于 ¥1,000 的所有行 (a9:c10)。 | a | b | c | 1 | 类型 | 销售人员 | 销售额 | 2 | =农产品 | | >1000 | 3 | | | | 4 | | | | 5 | | | | 6 | 类型 | 销售人员 | 销售额 | 7 | 饮料 | 苏术平 | ¥5122 | 8 | 肉类 | 李小明 | ¥450 | 9 | 农产品 | 林丹 | ¥6328 | 10 | 农产品 | 李小明 | ¥6544 | 返回页首 多列中有多个条件,其中任何条件都可能为 true 布尔逻辑: (类型 = "农产品" or 销售人员 = "李小明") 要查找满足“多列中有多个条件,其中任何条件都可能为 true”的行,请在条件区域的不同行中键入条件。 在下面的数据区域 (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 的行,或者显示“销售人员”列中包含“林丹”且“销售额”列中的值大于 ¥1,500 的行 (a9:c10)。 | 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) 显示“销售额”列中值在 5,000 和 8,000 之间以及值小于 500 的行 (a8:c10)。 | a | b | c | d | 1 | 类型 | 销售人员 | 销售额 | 销售额 | 2 | | | >6000 | <6500 | 3 | | | <500 | | 4 | | | | | 5 | | | | | 6 | 类型 | 销售人员 | 销售额 | | 7 | 饮料 | 苏术平 | ¥5122 | | 8 | 肉类 | 李小明 | ¥450 | | 9 | 农产品 | 林丹 | ¥6328 | | 10 | 农产品 | 李小明 | ¥6544 | | 返回页首 查找共享某些字符而非其他字符的文本值的条件 要查找共享某些字符而非其他字符的文本值,请执行下面一项或多项操作: - 键入一个或多个不带等号 (=) 的字符,以查找列中文本值以这些字符开头的行。例如,如果键入文本“李”作为条件,则 excel 将找到“李小明”、“李威”和“李新”。
- 使用通配符。
操作方法 可以使用下面的通配符作为比较条件。 请使用 | 查找 | ?(问号) | 任何单个字符 例如,“sm?th”可找到“smith”和“smyth” | *(星号) | 任何数量的字符 例如,“*east”可找到“northeast”和“southeast” | ~(波形符)后跟 ?、* 或 ~ | 问号、星号或波形符 例如,“fy91~?”可找到“fy91?” | 在下面的数据区域 (a6:c10) 中,条件区域 (a1:b3) 显示“类型”列中以“肉”开头的行或“销售人员”列中第二个字为“术”的行 (a7:c9)。 | a | b | c | 1 | 类型 | 销售人员 | 销售额 | 2 | 肉 | | | 3 | | =?术* | | 4 | | | | 5 | | | | 6 | 类型 | 销售人员 | 销售额 | 7 | 饮料 | 苏术平 | ¥5122 | 8 | 肉类 | 李小明 | ¥450 | 9 | 农产品 | 林丹 | ¥6328 | 10 | 农产品 | 李小明 | ¥6544 | 返回页首 将公式结果用作条件 可以将公式 (公式:单元格中的一系列值、单元格引用、名称或运算符的组合,可生成新的值。公式总是以等号 (=) 开始。)的计算结果作为条件使用。请记住下列要点: - 公式的计算结果必须为 true 或 false。
- 由于您使用的是公式,请按常规方式输入公式,而不要以下列方式键入表达式:
=''=entry'' - 不要将列标签作为条件标签使用;应该将条件标签置空,或者使用区域中非列标签的标签(在以下示例中,即为“计算的平均值”和“精确匹配值”)。
如果在公式中使用列标签,而不是相对单元格引用或区域名称,则 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) 中,条件区域 (d1:d2) 通过使用 exact 函数执行区分大小写的搜索显示“类型”列中包含“农产品”的行 (a10:c10)。在公式中,“a7”引用了数据区域第一行 (7) 的筛选列 (a)。 | a | b | c | d | 1 | 类型 | 销售人员 | 销售额 | 精确匹配值 | 2 | | | | =exact(a7, "农产品") | 3 | | | | | 4 | | | | | 5 | | | | | 6 | 类型 | 销售人员 | 销售额 | | 7 | 饮料 | 苏术平 | ¥5122 | | 8 | 肉类 | 李小明 | ¥450 | | 9 | 农产品 | 林丹 | ¥6328 | | 10 | 农产品 | 李小明 | ¥6544 | | 说明 - 可以为参数 criteria 指定任意区域,只要它至少包含一个列标签并且在列标签下方至少有一个用于指定条件的单元格。
例如,如果区域 g1:g2 在 g1 中包含列标签“收入”,在 g2 中包含金额 ¥10,000,则可将此区域命名为“匹配收入”,并在数据库函数中使用该名称作为参数 criteria。 - 虽然条件区域可以在工作表的任意位置,但不要将条件区域置于列表的下方。如果使用“数据”菜单中的“记录单”命令向列表中添加更多信息,新的信息将被添加在列表下方的第一行上。如果列表下方的行非空,microsoft excel 将无法添加新的信息。
- 确保条件区域没有与列表相重叠。
- 若要对数据库的整个列进行操作,请在条件区域的相应列标签下方保留一个空行。
示例 如果将示例复制到一个空白工作表中,可能会更容易理解该示例。 如何复制示例 - 创建一个空白工作簿或工作表。
- 选择“帮助”主题中的示例。
注释 不要选择行或列标题。 从“帮助”中选择示例 - 按 ctrl+c。
- 在工作表中,选择单元格 a1,然后按 ctrl+v。
- 要在查看结果和查看返回结果的公式之间进行切换,请按 ctrl+`(重音符),或在“公式”选项卡上的“公式审核”组中,单击“显示公式”按钮。
| a | b | c | d | e | f | 树种 | 高度 | 树龄 | 产量 | 利润 | 高度 | ="=苹果树" | >10 | | | | <16 | ="=梨树" | | | | | | 树种 | 高度 | 树龄 | 产量 | 利润 | | 苹果树 | 18 | 20 | 14 | 105.00 | | 梨树 | 12 | 12 | 10 | 96.00 | | 樱桃树 | 13 | 14 | 9 | 105.00 | | 苹果树 | 14 | 15 | 10 | 75.00 | | 梨树 | 9 | 8 | 8 | 76.80 | | 苹果树 | 8 | 9 | 6 | 45.00 | | 公式 | 说明(结果) | | | | | =dcount(a4:e10,"树龄",a1:f2) | 此函数查找高度在 10 到 16 英尺之间的苹果树的记录,并且计算这些记录中“树龄”字段包含数字的单元格数目。(1) | | | | | =dcounta(a4:e10,"利润",a1:f2) | 此函数查找高度为 10 到 16 英尺之间的苹果树记录,并计算这些记录中“利润”字段为非空的单元格数目。(1) | | | | | =dmax(a4:e10,"利润",a1:a3) | 此函数查找苹果树和梨树的最大利润。(105) | | | | | =dmin(a4:e10,"利润",a1:b2) | 此函数查找高度在 10 英尺以上的苹果树的最小利润。(75) | | | | | =dsum(a4:e10,"利润",a1:a2) | 此函数计算苹果树的总利润。(225) | | | | | =dsum(a4:e10,"利润",a1:f2) | 此函数计算高度在 10 到 16 英尺之间的苹果树的总利润。(75) | | | | | =dproduct(a4:e10,"产量",a1:b2) | 此函数计算高度大于 10 英尺的苹果树产量的乘积。(140) | | | | | =daverage(a4:e10,"产量",a1:b2) | 此函数计算高度在 10 英尺以上的苹果树的平均产量。(12) | | | | | =daverage(a4:e10,3,a4:e10) | 此函数计算数据库中所有树种的平均树龄。(13) | | | | | =dstdev(a4:e10,"产量",a1:a3) | 如果数据库中的数据只是整个果园的一个样本,则此值是苹果树和梨树产量的估算标准偏差。(2.97) | | | | | =dstdevp(a4:e10,"产量",a1:a3) | 如果数据库中的数据为整个果园的样本总体,则此值是苹果树和梨树产量的真实标准偏差。(2.65) | | | | | =dvar(a4:e10,"产量",a1:a3) | 如果数据库中的数据只是整个果园的一个样本,那么此值是苹果树和梨树产量的估算方差。(8.8) | | | | | =dvarp(a4:e10,"产量",a1:a3) | 如果数据库中的数据为整个果园的样本总体,则此值是苹果树和梨树产量的真实方差。(7.04) | | | | | =dget(a4:e10,"产量",a1:a3) | 返回错误值 #num!,因为有多个记录符合给定的条件。 | | |