Excel:对于行,如果条件满足,则用于计算平均值

Excel:对于行,如果条件满足,则用于计算平均值

我遇到一个问题,我怀疑它有一个相对简单的解决方案。

我想计算一系列单元格的平均值,但只针对包含满足条件的单元格的行。

采取以下数据:

    A       B        C
1 | YEAR |  VARA  |  VARB  |
  --------------------------
2 | 1990 |  1     |  6     |
3 | 1991 |  5     |  5     |
4 | 1990 |  2     |  6     |
5 | 1990 |  1     |  8     |
6 | 1991 |  2     |  2     |
7 | 1991 |  3     |  1     |

对于每一年,我想返回 VARA 和 VARB 的平均值。

结果应该是:

  • 1990 年:VARA = 1.33; VARB = 6.66
  • 1991年:VARA = 3.33; VARB = 2.66

据我了解,Excel 没有允许迭代和后续 IF 语句的 FOR 命令...那么有人知道如何实现这一点吗?

谢谢!

答案1

对于 VARA,尝试使用以下公式:=AVERAGEIF($A$2:$A$7,E2,$B$2:$B$7) 在此处输入图片描述

对于 VARB 尝试使用以下公式:=AVERAGEIF($A$2:$A$7,E2,$C$2:$C$7) 在此处输入图片描述

答案2

此数组(CSE)公式解决了该问题:

在此处输入图片描述

  • 单元格中的公式H217

    {=ROUND(AVERAGE(IF(COUNTIF($G217:$G217,$G$209:$G$214),H$209:H$214,"")),2)}

  • 完成配方Ctrl+Shift+Enter&填充。

根据需要调整公式中的单元格引用。

相关内容