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
包起来。
我正在尝试获取 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
包起来。