具有多个条件的连续值的平均值

时间:2019-02-28 14:26:47

标签: google-sheets average frequency

我如何才能获得连续的“双赢”平均值。在“赢与买”的情况下,事件平均数为1 + 1 + 1 + 1 + 2 = 6(赢与买+赢与买+赢与买+赢与买+(赢与买+赢与买)),在这种情况下, 5会给我们1.2。

Sample pic

“获胜”的另一个示例是平均事件数为1 + 1 + 1 + 2 + 4(连续值,win + win + win + win + win,win + win,win,win,win,因为有3个单次“获胜” + 2个连续的“获胜”,最后是底部的4个连续的“获胜”)= 9除以出现次数,在这种情况下5等于1.8。

=ArrayFormula(MAX(FREQUENCY(IF((A2:A="Buy")*($B$2:$B="WIN"),ROW($B$2:$B)),IF(not((A2:A="Buy")*($B$2:$B="WIN")),ROW($B$2:$B)))))

=ArrayFormula(MAX(FREQUENCY(IF((A2:A="Buy")*($B$2:$B="WIN"),ROW($B$2:$B)),IF((A2:A<>"Buy")+($B$2:$B<>"WIN"),ROW($B$2:$B))))) 

我从@Tom Sharpe获得了上面的公式以获取MAX的连续值,并尝试对它们进行AVG,但是由于计算中全为0,所以我无法获得正确的答案。

Sample sheet

1 个答案:

答案 0 :(得分:1)

AVG WIN&BUY:

=AVERAGE(QUERY(ARRAYFORMULA(FREQUENCY(
 IF(    (A2:A="BUY")*($B$2:$B="WIN"),  ROW($B$2:$B)), 
 IF(NOT((A2:A="BUY")*($B$2:$B="WIN")), ROW($B$2:$B)))), 
 "where Col1>0"))

AVG出售和购买:

=AVERAGE(QUERY(ARRAYFORMULA(MAX(FREQUENCY(
 IF(    (A2:A="SELL")*($B$2:$B="WIN"),  ROW($B$2:$B)),
 IF(NOT((A2:A="SELL")*($B$2:$B="WIN")), ROW($B$2:$B))))),
 "where Col1>0"))

0