Table of contents
本教程展示了如何使用Excel中的AVERAGEIF函数来计算有条件的算术平均值。
Microsoft Excel有几个不同的函数来计算数字的算术平均数。 当你想对满足某个条件的单元格进行平均时,AVERAGEIF是要使用的函数。
Excel中的AVERAGEIF函数
AVERAGEIF函数用于计算一个给定范围内所有满足某种条件的单元格的平均值。
AVERAGEIF(range, criteria, [average_range] )该函数总共有3个参数--前两个是必须的,最后一个是可选的。
- 范围 (required) - 要根据标准测试的单元格范围。
- 标准 (required)- 决定哪些单元格要进行平均化的条件。 它可以以数字、逻辑表达式、文本值或单元格引用的形式提供,例如:5、">5"、"cat "或A2。
- 平均值_范围 (可选) - 你实际想要平均的单元格。 如果省略,那么 范围 将被平均化。
AVERAGEIF函数在Excel 365 - 2007中可用。
提示:要对有两个或更多条件的单元格进行平均,请使用AVERAGEIFS函数。
Excel AVERAGEIF--需要记住的事情!
要在你的工作表中有效地使用AVERAGEIF函数,请注意这些关键点。
- 在计算平均数时。 空细胞 , 文本值 ,以及 逻辑值 TRUE和FALSE被忽略。
- 零值 包括在平均数中。
- 如果一个 标准 单元是空的,它被视为一个零值(0)。
- 如果 平均值_范围 只包含空白单元格或文本值,会发生#DIV/0!错误。
- 如果没有单元格在 范围 符合 标准 ,返回一个#DIV/0!的错误。
- ǞǞǞ 平均值_范围 参数的大小不一定要与 范围 然而,实际要被平均化的单元格是由 范围 换句话说,"我 "的左上角单元格在 平均值_范围 成为起点,并对其中包含的尽可能多的列和行进行平均化。 范围 争论。
基于另一个单元格的AVERAGEIF公式
利用Excel的AVERAGEIF函数,你可以根据一列数字的平均值。
- 适用于同一列的标准
- 适用于另一列的标准
如果 条件适用于同一列 应该是平均的,你只定义前两个参数。 范围 和 标准 例如,要找到B3:B15中大于120美元的销售额的平均值,公式为:。
=AVERAGEIF(B3:B15, ">120")
拟 基于另一个单元格的平均数 ,你定义了所有3个参数。 范围 (细胞来检查条件)。 标准 (条件)和 平均值_范围 (单元来计算)。
例如,要得到10月1日之后交付的销售额的平均值,公式为:。
=AVERAGEIF(C3:C15, ">1/10/2022", B3:B15)
其中C3:C15是要根据标准检查的单元格,B3:B15是要平均的单元格。
如何在Excel中使用AVERAGEIF函数--实例
现在,让我们看看如何在实际工作表中使用Excel AVERAGEIF来寻找符合你条件的单元格的平均值。
AVERAGEIF文本标准
要想在某一列中找到数字值的平均值,如果另一列包含某些文本,你可以用文本标准建立一个AVERAGEIF公式。 当文本值直接包含在公式中时,应该用双引号("")括住。
例如,如果A列包含 "苹果",要对B列中的数字进行平均,公式是:。
=AVERAGEIF(A3:A15, "apple", B3:B15)
或者,你可以在某个单元格中输入目标文本,例如F3,并使用该单元格的引用来进行 标准 在这种情况下,不需要双引号。
=averageif(a3:a15, f3, b3:b15)
这种方法的优点是,它可以让你通过简单地改变F3中的文本标准来平均任何其他项目的销售额,而不需要对公式进行任何调整。
提示:对 圆形的 一个平均数 到一定数量的小数点后,使用 增加小数 或 减少 十进制 命令在 首页 选项卡,在 数量 这将改变平均值的显示方式,但不会改变数值本身。 要对公式返回的实际数值进行四舍五入,请将AVERAGEIF与ROUND或其他四舍五入函数一起使用。 更多信息,请参见如何在Excel中对平均值进行四舍五入。
数字值的AVERAGEIF逻辑准则
要测试标准中的各种数值,可以与 "大于"(>)、"小于"(<)、等于(=)、不等于()和其他逻辑运算符一起使用。
当包括一个逻辑运算符和一个数字时,记得用双引号括住整个结构。 例如,为了平均小于或等于120的数字,公式是:。
=AVERAGEIF(B3:B15, "<=120")
请注意,运算符和数字都用引号括起来。
当使用 "等于 "标准时,平等符号(=)可以省略。
例如,要对2022年9月9日交付的销售额进行平均,公式如下。
=averageif(c3:c15, "9/9/2022", b3:b15)
使用带有日期的AVERAGEIF
与数字类似,你可以使用日期作为AVERAGEIF函数的标准。 日期标准可以用几种不同的方式构建。
让我们来看看你如何能在一个特定的日期之前交付的平均销售额,例如2022年11月1日。
最简单的方法是将逻辑运算符和日期一起用双引号括起来。
=AVERAGEIF(C3:C15, "<11/1/2022", B3:B15)
或者你可以将运算符和日期分别用引号括起来,然后用&符号将它们串联起来。
=AVERAGEIF(C3:C15, "<"& "11/1/2022", B3:B15)
为了确保日期是以Excel理解的格式输入的,你可以使用DATE函数与逻辑运算符相连接。
=AVERAGEIF(C3:C15, "<"&DATE(2022, 11, 1), B3:B15)
要对按今天的日期交付的销售额进行平均,请使用标准中的TODAY功能。
=AVERAGEIF(C3:C15, "<"&TODAY(), B3:B15)
下面的屏幕截图显示了结果。
AVERAGEIF 大于0
根据设计,Excel的AVERAGE函数会跳过空白单元格,但在计算中包括0值。 要想只计算大于0的平均值,请使用">0 "代表 标准 .
例如,要计算B3:B15中大于零的数字的平均值,E4中的公式是:。
=AVERAGEIF(B3:B15, ">0")
请注意结果与E3的正常平均值有什么不同。
平均值,如果不是0
上面的解决方案对一组正数很有效。 如果你有正数和负数,那么你可以用 "0 "来平均所有的数字,不包括零。 标准 .
例如,要对B3:B15中除零以外的所有数值进行平均,请使用这个公式。
=averageif(b3:b15, "0")
如果不是零或空白,则为Excel平均数
由于AVERAGEIF函数在设计上跳过了空单元格,你可以简单地使用 "非零 "标准("0")。 因此,零值和空白单元格都会被忽略。 为了确保这一点,在我们的样本数据集中,我们用空白替换了几个零值,得到的结果与前面的例子完全相同。
=averageif(b3:b15, "0")
如果另一个单元格为空白,则为平均数
如果同一行中另一列的单元格是空白的,要对某一列中的单元格进行平均,可使用 "=" 为 标准 这将包括包含以下内容的空单元格 绝无仅有 - 没有空格,没有零长度的字符串,没有非打印字符,等等。
对应的平均数值为 视觉上的空白单元格 包括那些由其他函数返回的包含空字符串("")的字符串,使用 "" 为 标准 .
为了测试,我们将使用这两个标准来平均B3:B15中的数字,这些数字在C3:C15中没有交货日期(即如果C列的一个单元格是空白的)。
=averageif(c3:c15, "=", b3:b15)
=averageif(c3:c15, "", b3:b15)
因为其中一个视觉上的空白单元格(C12)并不是真正的空--其中有一个零长度的字符串--公式会产生不同的结果。
如果另一个单元格不是空白,则为平均数
如果一个单元格在另一个单元格中不为空白,要对一个单元格区域进行平均,可以利用""来表示 标准 .
例如,下面的AVERAGEIF公式在同一行C列的单元格不为空白时,计算B3到B15单元格的平均值。
=averageif(c3:c15, "", b3:b15)
AVERAGEIF通配符(部分匹配)。
要根据部分匹配对单元格进行平均,在AVERAGEIF公式的条件中使用通配符。
- 一个问号(?)来匹配任何单一字符。
- 一个星号(*)来匹配任何字符序列。
假设你有3种不同的香蕉,你想找到它们的平均数。 下面的公式可以实现这一点。
=AVERAGEIF(A3:A15, "*香蕉", B3:B15)
如果需要,通配符可以和单元格引用一起使用。 假设目标项目在单元格В4中,公式是这样的。
=AVERAGEIF(A3:A15, "*"&D4, B3:B15)
如果你的关键词可能出现在单元格的任何地方(在开头、中间或结尾),请在两边都打上星号。
=AVERAGEIF(A3:A15, "*香蕉*", B3:B15)
要找到所有项目的平均数 不包括 任何 香蕉 ,使用这个公式。
=AVERAGEIF(A3:A15, "*香蕉*", B3:B15)
如何在Excel中排除某些单元格计算平均值
要从平均值中排除某些单元格,请使用 "不等于"()逻辑运算符。
例如,要对除 "苹果 "以外的所有项目的销售数字进行平均,请使用这个公式。
=AVERAGEIF(A3:A15, "apple", B3:B15)
如果排除的项目在一个预定义的单元格(D4)中,公式采取这种形式。
=AVERAGEIF(A3:A15, ""&D4, B3:B15)
要找到所有项目的平均值,不包括任何 "香蕉",使用 "不等于 "和通配符。
=AVERAGEIF(A3:A15, "*香蕉", B3:B15)
如果排除的通配符项目是在一个单独的单元格(D9)中,那么就用安培号将逻辑运算符、通配符和单元格引用连接起来。
=AVERAGEIF(A3:A15,""&"*"&D9, B3:B15)
如何使用有单元格参考的AVERAGEIF
你可以使用逻辑运算符结合单元格引用来构建标准,而不是直接在公式中输入标准,这样,你就可以通过改变标准单元格中的一个值来测试不同的条件,而无需编辑AVERAGEIF公式。
当条件默认为" 等于 ",你只需用一个单元格引用来表示 标准 下面的公式计算与F4单元格中的项目有关的B3:B15范围内所有销售额的平均值。
=averageif(a3:a15, f4, b3:b15)
当标准包括一个 逻辑运算符 你可以这样构建它:将逻辑运算符用引号括起来,用安培号(&)将其与单元格引用连接起来。
例如,要找到B3:B15中大于F9中数值的销售额的平均值,请使用以下公式。
=AVERAGEIF(B3:B15, ">"&F9)
以类似的方式,你可以使用一个 与另一个函数的逻辑表达式 在标准中。
在日期为C3:C15的情况下,下面的公式会返回到当前日期之前已经交付的销售额的平均值。
=AVERAGEIF(C3:C15, "<="&TODAY(), B3:B15)
这就是你如何使用Excel中的AVERAGEIF函数来计算有条件的算术平均数。 感谢你的阅读,希望下周在我们的博客上看到你的身影。
供下载的实践工作手册
Excel AVERAGEIF函数--实例(.xlsx文件)