使用除一个之外的另一个间隔的行更改拖动公式

我一直试图找出这个好几个小时。 我有这个公式:

=PROMEDIO.SI.CONJUNTO(Flankers!C15:C54;Flankers!D15:D54;1) 

我手动完成了这一个。 我在Flankers表中获得了我的数据,现在我正在计算我的反应时间和我的准确性得分。 每个参与者的数据是相同的(每个参与者93行),我想要做的就是拖动这个公式,自动填充每个参与者(我有29个参与者在一列)。 当然,每个参考只改变1个数字。 例如,我有C2中的公式,所以当我将它拖到C3时,公式更改为

 =AVERAGEIFS(Flankers!C16:C55;Flankers!D16:D55;1) 

我需要所有的行增加93,保持范围相同(40个单元格),这样C3的单元格应该是= AVERAGEIFS(Flankers!C108:C147; Flankers!D108:D147; 1),然后C4的单元格应该是

  =AVERAGEIFS(Flankers!C201:C240;Flankers!D201:D240;1) 

等手工这是非常乏味(共2698行)。 有人可以解释这一点,并解释它在哪里我可以修改它为未来的分析?

几乎标记为重复的单元格跳过10行,但实际上它是相反的。 但是,解决scheme是一样的。 使用INDEX函数和一些小math来实现交错。

最简单的方法是使用OFFSET函数,但该函数被认为是volatile1,并且只要工作簿中的任何内容发生变化就会重新计算。 大量这些将导致计算滞后每次input到任何单元格中。

随着易变¹OFFSET ,

 =AVERAGEIFS(OFFSET(Flankers!$C$15, (ROW(1:1)-1)*93, 0, 40, 1), OFFSET(Flankers!$C$15, (ROW(1:1)-1)*93, 1, 40, 1), 1) 

通过非易失性INDEX ,

 =AVERAGEIFS(INDEX(Flankers!C:C, 15+(ROW(1:1)-1)*93):INDEX(Flankers!C:C, 54+(ROW(1:1)-1)*93), INDEX(Flankers!D:D, 15+(ROW(1:1)-1)*93):INDEX(Flankers!D:D, 54+(ROW(1:1)-1)*93), 1) 

第二个公式可能看起来比较复杂,但实际上它是为AVERAGEIFS函数中的每个范围提供一个起始单元格和结束单元格。 INDEX引用整个列,其余一些基本的math。

在ES-ES公式语言(带有分号列表分隔符)中,

 =PROMEDIO.SI.CONJUNTO(DESREF(Flankers!$C$15; (FILA(1:1)-1)*93; 0; 40; 1); DESREF(Flankers!$C$15; (FILA(1:1)-1)*93; 1; 40; 1); 1) =PROMEDIO.SI.CONJUNTO(INDICE(Flankers!C:C; 15+(FILA(1:1)-1)*93):INDICE(Flankers!C:C; 54+(FILA(1:1)-1)*93); INDICE(Flankers!D:D; 15+(FILA(1:1)-1)*93):INDICE(Flankers!D:D; 54+(FILA(1:1)-1)*93); 1) 

¹ 只要整个工作手册中的任何内容发生变化,挥发性函数就会重新计算,而不仅仅是当影响结果的内容发生变化时。 易失性函数的例子是间接 , 偏移 , 今天 , 现在 , 兰德和兰德维恩 。 CELL和INFO工作表函数的一些子函数也会使它们变得不稳定。