【问题标题】:AVERAGEIFS seems to consider only single value in rangeAVERAGEIFS 似乎只考虑范围内的单个值
【发布时间】:2014-12-15 20:47:12
【问题描述】:

我的 AVERAGEIFS 公式似乎只考虑了理论上应该选择的两个元素中的一个元素。例如,在下面的例子中,如果我问说是的披头士成员的平均年龄是多少,我只得到 32 岁,在这种情况下是约翰的年龄。我坚持必须“手动选择”名称(使用列表)。

我的公式如下:

=AVERAGEIFS(C1:C9,A1:A9,"yes",B1:B9,{"john","paul","ringo","george"})

我错过了什么?

还有 STDEVIFS 这样的东西吗?因为我想计算符合上述公式中标准的数据的标准偏差(当然编辑过)。

【问题讨论】:

  • 您的公式正在返回一个值数组,其中一些是 div/0 错误。你需要对此进行补偿。 pNuts 答案是一种方法

标签: excel if-statement excel-formula average array-formulas


【解决方案1】:

编辑:更正了公式,将“是”作为标准:

以下内容应使用ctrl-shift-enter

输入
=STDEV(IF((A1:A9="YES")*(B1:B9={"john","paul","ringo","george"}),C1:C9))

【讨论】:

    【解决方案2】:

    也许:

    =SUMPRODUCT((A1:A9="YES")*(B1:B9={"JOHN","GEORGE","RINGO","PAUL"})*(C1:C9))/SUM(COUNTIFS(A1:A9,"YES",B1:B9,{"JOHN","GEORGE","RINGO","PAUL"}))
    

    【讨论】:

    • 是的!谢谢!标准差呢?有可能以任何方式实现吗?
    【解决方案3】:

    如果您使用类似于 Ron 建议的数组公式,那么您可以对 AVERAGESTDEV 使用完全相同的语法,即此公式用于平均包含 yes 和 Beatle 的行

    =AVERAGE(IF(A1:A9="Yes",IF(B1:B9={"John","Paul","Ringo","George"},C1:C9)))

    CTRL+SHIFT+ENTER

    确认

    将 AVERAGE 替换为 STDEV 以获得相同条件下的标准差。您还可以对多个其他函数使用相同的语法,例如MIN/MAX/MEDIAN/SUM

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-19
      • 2021-08-05
      • 2022-01-05
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多