在 Excel 中用数组公式索引问题

Indexing questions with array formulas in 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,找到 Group1 = 1 的第一个迭代。
  2. 对于每个ID,当Group1 = 1时,最大值是多少。
  3. 对于每个ID,当Group1 = 1时,Group1 = 1迭代了多少次才达到最大值。

我已经知道如何通过以下方式为每个 ID 指定最大值:{=MAX(IF(A:A=A2,C:C))}

如有任何帮助,我们将不胜感激。到目前为止,我已经学习了一些快速教程,我愿意浏览您可能知道的任何其他好的资源。

看看这个并告诉我你的想法 - 特别是对于问题 3

我的设置是这样的

所有公式向下拖,如下:

B14中的公式(问题1)

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

G14中的公式(第2题)

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

K14公式(第3题)

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

更新

如果您想知道在我们达到问题 2 中为 ID =2 找到的最大值之前,Group1=1 在 ID=2 中出现了多少次,那么我会这样进行:

为您的数据添加另一列,我将其标记为:Group1 Passes。将其放在新列 F2 中,然后向下拖动。

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

然后您可以在 K14

中使用以下内容
=SUM(($A:$A=J14)*($C:$C=G14)*($D:$D=1)*$F:$F)