google-sheets - 如何在 ARRAYFORMULA 中使用 AVERAGEIFS

标签 google-sheets average google-sheets-formula array-formulas google-sheets-query

我正在尝试在 ARRAYFORMULA 中使用 AVERAGEIFS。查看其他问题,我得出的结论是,如果不使用 QUERY 函数是不可能的。

我的意图是对共享相同 ID 的列的值进行平均。

我认为this question非常接近我的需要,但我无法在自己的工作表上复制和调整它的解决方案。

In this sheet我显示我期望的结果(我通过拖动公式得到它)。我还查看了 Query Language Reference , 未成功。

非常感谢您的时间和精力。

最佳答案

所以公式应该是

=ArrayFormula(iferror(sumif(A2:A,A2:A,B2:B)/countif(A2:A,A2:A)))

this

请注意,如果 points 列中有任何文本值,这仍会返回结果(因为 count 会大于零)- 您可以改用

=ArrayFormula(if(isnumber(B2:B),(sumif(A2:A,A2:A,B2:B)/countif(A2:A,A2:A)),""))

如果对于任何 ID,您混合使用带有文本的行和带有数字的行,这将返回比 avg 或 average 公式更小的结果。这是此方法的局限性。您不能在其中添加额外条件(B 列必须包含一个数字),因为您需要 countifs,而 countifs 不是数组友好的。似乎仍然很奇怪,AFAIK countif 和 sumif 是这个家族中唯一对数组友好的函数,而 countifs、sumifs、averageif 等不是。

关于google-sheets - 如何在 ARRAYFORMULA 中使用 AVERAGEIFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58542625/

相关文章:

postgresql - 为什么我在临时表列上应用时会得到错误的平均值

python - 如何将字符串列表转换为数字 numpy 数组?

python - 从许多文本文件中读取数字并对它们进行平均 Python

google-apps-script - Google Sheet 中的 Google Apps 脚本 - 将公式转换为静态值 - 单元格函数到值

php - 谷歌电子表格 API : memory exceeded

regex - 避免 Excel IF 公式代码中的重复代码

google-sheets - 如果行中的其他单元格与值匹配,则将单元格从工作表复制到另一个单元格

javascript - 在 Google 表格中使用 MailMerge 的 toLocaleDateString 和 Date.Prototype 问题

xml - 谷歌表格: =importxml is not loading some results

google-sheets - 有条件导入范围