使用Excel中的数组公式对问题进行索引

我是新来的Excel中的数组公式,并且我的大脑已经在R中训练了太久,所以如果这个问题很简单或者太具体,我很抱歉。 我有这样的数据:

ID Iteration Value Group1 Group2 2 1 100 0 0 2 2 85 1 0 2 3 28 0 0 3 1 94 1 0 5 1 83 0 1 5 2 50 1 1 6 1 94 0 0 6 2 28 1 0 

我想使用数组公式来以不同的方式查询数据。 我要:

  1. 对于每个ID,find第一个具有Group1 = 1的迭代。
  2. 对于每个ID,Group1 = 1时的最大值是多less?
  3. 对于每个ID,当Group1 = 1时,Group1 = 1的迭代次数达到最大值。

我已经想通过如下方式来指定每个ID的最大值: {=MAX(IF(A:A=A2,C:C))}

任何援助将不胜感激。 到目前为止,我已经经历了一些快速教程,并且愿意浏览其他您可能了解的优秀资源。

看看这个,告诉我你的想法 – 特别是问题3

我的设置看起来像这样

在这里输入图像说明

所有公式都会拖下来,如下所示:

B14中的公式(问题1)

 {=INDEX($B$2:$B$9,MATCH(1,($A$2:$A$9=A14)*($D$2:$D$9=1),0))} 

G14中的公式(问题2)

 {=MAX(($A$2:$A$9=$F14)*($D$2:$D$9=1)*$C$2:$C$9)} 

K14中的公式(问题3)

 {=SUM(($A$2:$A$9=J14)*($C$2:$C$9=G14)*$B$2:$B$9)} 

更新

如果您想知道在ID = 2中Group1 = 1的次数达到我们在问题2中find的ID = 2的最大值,那么我会这样做:

将另一列添加到您的数据,我标记它:组1通过 。 把它放在新的列F2 ,然后向下拖动。

 =COUNTIFS($A$2:A2,A2,$D$2:D2,1) 

然后您可以在K14使用以下内容

 =SUM(($A$2:$A$9=J14)*($C$2:$C$9=G14)*($D$2:$D$9=1)*$F$2:$F$9)