本文介绍 Microsoft Excel 中 DAVERAGE 函数的公式语法和用法。

说明

对列表或数据库中满足指定条件的记录字段(列)中的数值求平均值。

语法

DAVERAGE(database, field, criteria)

DAVERAGE 函数语法具有下列参数:

  • Database     构成列表或数据库的单元格区域。 数据库是包含一组相关数据的列表,其中包含相关信息的行为记录,而包含数据的列为字段。 列表的第一行包含每一列的标签。

  • Field     指定函数所使用的列。 输入两端带双引号的列标签,如 "使用年数" 或 "产量";或是代表列表中列位置的数字(不带引号):1 表示第一列,2 表示第二列,依此类推。

  • Criteria     为包含指定条件的单元格区域。 可以为参数指定 criteria 任意区域,只要此区域包含至少一个列标签,并且列标签下至少有一个在其中为列指定条件的单元格。

备注

  • 可以为参数 criteria 指定任意区域,只要此区域包含至少一个列标签,并且列标签下方包含至少一个用于指定条件的单元格。

    例如,如果区域 G1:G2 在 G1 中包含列标志 Income,在 G2 中包含数量 10,000,可将此区域命名为 MatchIncome,那么在数据库函数中就可使用该名称作为参数 criteria。

  • 虽然条件区域可以位于工作表的任意位置,但不要将条件区域置于列表的下方。 如果向列表中添加更多信息,新的信息将会添加在列表下方的第一行上。 如果列表下方的行不是空的,Excel 将无法添加新的信息。

  • 确定条件区域没有与列表相重叠。

  • 若要对数据库中的一个完整列执行操作,请在条件区域中的列标签下方加入一个空行。

示例

复制下表中的示例数据,然后将其粘贴进新的 Excel 工作表的 A1 单元格中。 要使公式显示结果,请选中它们,按 F2,然后按 Enter。 如果需要,可调整列宽以查看所有数据。

树种

高度

年数

产量

利润

高度

=苹果树

>10

<16

=梨树

树种

高度

年数

产量

利润

苹果树

18

20

14

105

梨树

1.2

1.2

10

96

樱桃树

1.3

14

9

105

苹果树

14

15

10

75

梨树

9

8

8

76.8

苹果树

8

9

6

45

公式

说明

结果

=DAVERAGE(A4:E10,"产量",A1:B2)

此函数计算高度在 10 英尺以上的苹果树的平均产量。

1.2

=DAVERAGE(A4:E10, 3, A4:E10)

此函数计算数据库中所有树种的平均使用年数。

1.3

条件示例

  • 在单元格中键入一个等号表示要输入公式。 要显示包括等号的文本,将文本和等号用双引号括起,如下所示:

    "=彭德威"

    如果您在输入表达式(公式、运算符和文本的组合)且要显示等号而不是使 Excel 在计算中使用等号,也可以这样操作。 例如:

    =''= 条目 ''

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

在单元格中键入的内容

Excel 计算和显示的内容

="=彭德威"

=彭德威

="=3000"

=3000

  • Excel 在筛选文本数据时不区分大小写字符。 但是,您可以使用公式来执行区分大小写的搜索。 有关示例,请参阅本文后面的使用区分大小写的搜索筛选文本

以下各节提供了复杂条件的示例。

一列中有多个条件

布尔逻辑:     (销售人员 = "李小明" OR 销售人员 = "郑建杰")

要查找满足“一列中有多个条件”的行,请直接在条件区域的单独行中依次键入条件。

在下面的数据区域 (A6:C10) 中,条件区域 (B1:B3) 显示“销售人员”列 (A8:C10) 中包含“李小明”或“郑建杰”的行。

 

A

B

C

1

类型

销售人员

销售额

2

=彭德威

3

=郑建杰

4

5

6

类型

销售人员

销售额

7

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥65,440

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

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

要查找满足“多列中有多个条件”的行,请在条件区域的同一行中键入所有条件。

在下面的数据区域 (A6:C10) 中,条件区域 (A1:C2) 显示“类型”列中包含“农产品”并且“销售额”列 (A9:C10) 中值大于 ¥1,000 的所有行。

 

A

B

C

1

类型

销售人员

销售额

2

=农产品

>1000

3

4

5

6

类型

销售人员

销售额

7

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥65,440

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

布尔逻辑:     (类型 = "农产品" OR 销售人员 = "李小明")

要查找满足“多列中有多个条件,其中所有条件都必须为真”的行,请在条件区域的不同行中键入条件。

在下面的数据区域 (A6:C10) 中,条件区域 (A1:B3) 显示“类型”列中包含“农产品”或“销售人员”列 (A8:C10) 中包含“李小明”的所有行。

 

A

B

C

1

类型

销售人员

销售额

2

=农产品

3

=彭德威

4

5

6

类型

销售人员

销售额

7

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥65,440

多个条件集,其中每个集包括用于多个列的条件

布尔逻辑:     ( (销售人员 = "李小明" 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

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥65,440

多个条件集,其中每个集包括用于一个列的条件

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

要查找满足“多个条件集,其中每个集包括用于一个列的条件”的行,请在多个列中包括同一个列标题。

在下面的数据区域 (A6:C10) 中,条件区域 (C1:D3) 显示“销售额”列 (A8:C10) 中值在 6,000 和 6,500 之间以及值小于 500 的行。

 

A

B

C

D

1

类型

销售人员

销售额

销售额

2

>6000

<6500

3

<500

4

5

6

类型

销售人员

销售额

7

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥6544

查找共享某些字符而非其他字符的文本值的条件

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

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

  • 使用通配符。

    可以使用下面的通配符作为比较条件。

用途

若要查找

? (问号)

任意单个字符
例如,sm?th 可找到“smith”和“smyth”

*(星号)

任意数量的字符
例如,*east 可找到“Northeast”和“Southeast”

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

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

在以下数据区域 (A6:C10) 中,条件区域 (A1:B3) 显示“类型”列中以“肉”开头的行或“销售人员”列 (A7:C9) 中第二个字符为“建”的行。

 

A

B

C

1

类型

销售人员

销售额

2

3

=?u*

4

5

6

类型

销售人员

销售额

7

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥6544

将公式结果用作条件

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

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

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

    =''= 条目 ''

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

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

  • 用作条件的公式必须使用相对引用来引用第一行中相应的单元格(在下面的示例中,是 C7 和 A7)。

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

下列各子部分提供将公式结果用作条件的具体示例。

筛选大于数据区域中所有值的平均值的值

在以下数据区域 (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

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥65,440

使用区分大小写的搜索筛选文本

在数据区域 (A6:D10) 中,通过使用 EXACT 函数执行区分大小写的搜索,条件区域 (D1:D2) 显示“类型”列 (A10:C10) 中包含“Produce”的行。 在公式中,“A7”引用数据区域 (7) 中首行的筛选列 (A)。

 

A

B

C

D

1

类型

销售人员

销售额

完全匹配项

2

=EXACT(A7, "Produce")

3

4

5

6

类型

销售人员

销售额

7

饮料

蔡耀明

¥51,220

8

肉类

刘英玫

¥4,500

9

农产品

郑建杰

¥63,280

10

农产品

彭德威

¥65,440

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Office Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×