我是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
我想使用数组公式以几种不同的方式查询数据。我想:
我已经想出如何通过以下方式指定每个ID的最大值:{=MAX(IF(A:A=A2,C:C))}
任何帮助将不胜感激。到目前为止,我已经完成了一些快速教程,并且我愿意查看您可能知道的任何其他优秀资源。
答案 0 :(得分:1)
看看这个并告诉我你的想法 - 特别是问题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)}
<强>更新强>
如果你想知道在我们达到问题2中ID = 2的最大值之前,ID = 2中Group1 = 1的次数,那么我就这样继续:
在您的数据中添加另一列,我将其标记为: Group1 Passes 。将其放在新列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)