3 个最新值,但仅针对特定用户

3 latest values, but only for a specific user

我正在尝试获取 3 个最新值的平均值,但仅限于特定用户。

C 的范围是日期,G 的范围是我要求平均值的值,A 的范围是用户。

=ArrayFormula(IFERROR(average(query(IF(len('Month Tracker'!$C:$C),{ROW('Month Tracker'!$C:$C),'Month Tracker'!$G:$G},),"Select Col2 where Col2>0 order by Col1 Desc limit 3"))))

此公式适用于获取所有用户的最新 3 个值的平均值。但是,我需要它查看 Month Tracker'!$A:$A 并仅当 Month Tracker'!$A:$A 中的用户与当前 sheet 中的 A2 中的用户匹配时才应用公式...找到仅该用户的最新 3 个值的平均值。

您的公式实际上没有 return 具有最新日期的行。它只是位于底部的 returns 行。它可能恰好使您的最新日期位于底部,但只要它们位于底部,公式就不会实际检查它。

另一件事,ArrayFormula在这种情况下似乎不需要。

这是您可以用来解决当前问题的方法:

=IFERROR(AVERAGE(QUERY(IF('Month Tracker'!$C:$C,{'Month Tracker'!$C:$C,'Month Tracker'!$G:$G,'Month Tracker'!$A:$A},),"SELECT Col2 WHERE Col2>0 AND Col3="""&A2&""" ORDER BY Col1 DESC LIMIT 3")))

如果确实需要,可以用ArrayFormula包起来。