Excel AVERAGEIF函数为有条件的单元格取平均值

  • Share This
Michael Brown

本教程展示了如何使用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文件)

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.