【问题标题】:Trailing Average Using AverageIf in Excel在 Excel 中使用 AverageIf 的跟踪平均值
【发布时间】:2014-10-20 04:09:45
【问题描述】:

我试图仅找到最后 3 个实例的平均值。我正在使用 AVERAGEIF 语句,它将计算整个范围的平均值,但我需要它只计算它找到的最后 3 个实例(如果可用的实例少于 3 个,则计算更少)。我需要 G 和 H 的整个列来获得球队最近 3 场比赛的平均值。

这就是我所拥有的:

=AVERAGEIF(B3:C17,B17,D3:E17)

【问题讨论】:

  • 谁能解释为什么这个问题会被否决?为什么有人删除了他们的答案..?这不是第一次有人删除了他们对我的一个问题的回答,他们是否也担心被否决?

标签: vba excel excel-formula ms-office


【解决方案1】:

您可以使用数组公式来执行此操作(必须使用键 Ctrl+Shift+Enter 输入)...

基本步骤是:

  1. 查找包含团队名称的第三高行号的行(包括当前行及以上)(否则使用第 1 行)
  2. 使用AVERAGEIF 中的INDIRECT 范围从B-that_row 到C-current_row 和D_that_row 到E-current_row

所以在单元格F17 中,您将获得公式

{=AVERAGEIF(INDIRECT("B"&LARGE(IF(--($B$3:B17=B17)+($C$3:C17=B17),ROW($B$3:B17),1),3)&":"&CELL("address",C17)),B17,INDIRECT("D"&LARGE(IF(--($B$3:B17=B17)+($C$3:C17=B17),ROW($B$3:B17),1),3)&":"&CELL("address",E17)))}

我们重复一些逻辑,因为我们有两个范围(标准范围和平均范围)。

  • IF(--($B$3:B17=B17)+($C$3:C17=B17),ROW($B$3:B17),1) 表示如果 B 列或(使用+)C 列在 B17 中的值为团队名称)
  • LARGE(...,3) 将给我们这个数组的第三高 --> 具有我们团队名称的第三高行号
  • INDIRECT("B"&...&":"&CELL("address",C17)) 将使用我们第三高的行号为我们提供当前行 B 和 C 列的范围
  • 那么我们做的事情与您在 AVERAGEIF 中所做的完全相同,但使用此 INDIRECT 范围以及 D 和 E 列的等效项

有趣的问题!祝你好运。并且记得使用Ctrl+Shift+Enter进入!

EDIT 上面给出了前两行的#NUM! 错误——那是因为LARGE 函数试图获得2 数组中的第三大!还注意到在某些情况下,列字母需要是绝对的(即$)才能复制到 Away 列。所以更新公式:

{=AVERAGEIF(INDIRECT("B"&LARGE(IF(--($B$3:$B17=B17)+($C$3:$C17=B17),ROW($B$3:$B17),1),MIN(3,ROW()-2))&":"&CELL("address",$C17)),B17,INDIRECT("D"&LARGE(IF(--($B$3:$B17=B17)+($C$3:$C17=B17),ROW($B$3:$B17),1),MIN(3,ROW()-2))&":"&CELL("address",$E17)))}
  • 3 替换为MIN(3,ROW()-2),这样如果有,我们得到3,但如果我们在前两个数据行之一中,则得到1 或2

【讨论】:

  • 我认为这是一个很好的问题和一个天才的答案(我尝试过,但最终得到了很多帮助栏)所以对他们两个都加了分
  • 这很好用,谢谢。我遇到的唯一问题是前 2 行产生数字错误。有关如何解决此问题的任何想法?
【解决方案2】:

好的,我过早地发布了它,并在我意识到它不起作用时尝试将其删除。它现在应该可以工作了....如果您在 A 列中添加另一个条件,即游戏日期。请记住,这是一个数组公式,因此请按 ctrl+shift+enter。 A栏中的日期; B列中的团队; D 列中的统计数据。此公式可以永久保存在表格上的某个位置,因此您可以输入团队名称(此处显示为 F13)以获取三个最近的统计数据。

=AVERAGE(VLOOKUP(大(IF(B3:B24=F13,A3:A24),1),A3:D24,4),VLOOKUP(大(IF(B3:B24=F13,A3:A24), 2),A3:D24,4),VLOOKUP(大(IF(B3:B24=F13,A3:A24),3),A3:D24,4))

【讨论】:

    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多