使用如果灵活得到平均水平
我想通过一个限制来计算跨多个主体的响应时间:只有正确的审判的响应时间应该包括在平均水平。 我的数据结构如下(为了简单起见,我只展示了3个主题和10个试验,实际上我还有更多)
我想为每个试验获得跨越subj1,subj2和subj2的RT的平均值。 平均只包括正确的试验。 0和1分别用来表示不正确和正确的试验。 例如,对于G2细胞,我只会在平均中包含B2和D2,因为从那个受试者那个试验的ACC是0,所以F2被排除在外。我想象使用If AND函数来包含适当的RT,但是包含许多主题,这变得非常笨拙。 有没有人有一个聪明的解决scheme呢?
由于0 * anything = 0
,所以G2 = SUM(A2*B2,C2*D2,E2*F2)/SUM(A2,C2,E2)
你可以用AVERAGE
和一个可以很容易地扩展到更大范围的数组公式来做到这一点
=AVERAGE(IF((RIGHT(B$1:F$1,2)="RT")*(A2:E2=1),B2:F2)
用CTRL + SHIFT + ENTER确认
…或者像这样更简单的AVERAGEIFS
=AVERAGEIFS(B2:F2,A2:E2,1,B$1:F$1,"*RT")
注意“偏移”范围