在 Excel 2007 中,我有一张表格,其中 F、G、H、I 和 J 列中有数字。B 列中有一个标识符。
我需要 F、G、H、I 和 J 列中所有数字的平均值,其中 B 列中的标识符 = A14(即 A14 中的值)。
我尝试了以下操作:
=AVERAGEIFS('Hours-Backup'!F3:J1048576,'Hours-Backup'!B:B,'Group Dashboard'!A14)
这导致#VALUE!
错误。
最终,我希望让函数忽略所有非数字或空白的单元格。换句话说,我不希望它为了求平均值而假设空白单元格为 0。
我不明白问题是什么。
答案1
两个问题。(或者说,一个问题有两个脑袋。) AVERAGEIFS
帮助说:
- 与 AVERAGEIF 函数中的范围和条件参数不同,在 AVERAGEIFS 中,每个条件范围必须与总和范围具有相同的大小和形状。
嗯,这是个拼写错误:“sum_range” 应该是“average_range”。但无论如何,这是你的问题:你的标准范围是 1×∞(一整列),而你的平均范围是 5×1048574。因此,你可以通过将其更改B:B
为 来解决其中一个问题B3:B1048576
,使其成为 1×1048574 范围。
B
您可以通过将 Column 复制到 Columns C
、D
、E
和F
,然后将其用作您的criteria_range来解决第二个问题B3:F1048576
。但这太疯狂了。合理的方法是将辅助列(假设)定义为当前行中V
Columns 的平均值:F
J
- 设置,
V3
AVERAGE(F3:J3)
- 并向下拖动。
然后通过平均平均值来获得条件平均值:
=AVERAGEIFS('Hours-Backup'!V3:V1048576,'Hours-Backup'!B3:B1048576,'Group Dashboard'!A14)
(changes) ^ ^ ^ ^^^^^^^
答案2
我对这种情况的处理方法是使用几个辅助列和一些数组公式。希望我以与您的相同方式设置了此玩具表:
在这里,我设置了A16
单元格,以设置要保留的过滤行。B
是要过滤的值的列,C
到是G
可能缺少值的列。我计算列中每行的值的数量H
,并对列中存在的值求和I
。单元格H2
和I2
对相应的“计数”和“总和”列求和,然后在中计算结果平均值K2
。请注意,列和中的公式H
对于I
表格中的文本和错误值都非常稳健。
我不确定SUM(IF(...))
数组公式中的构造的版本兼容性。它显然适用于 Excel 2010,可能也适用于 Excel 2007 和 Excel 2013。