根据条件获取最大值,然后在满足条件时重复

时间:2019-04-30 09:44:44

标签: excel

我有4列A,B,C,D

我想在D列中获得距B列的最大里程。

我希望计数从第一行的A列开始。 计数应在下一个第一行停止,然后再次开始计算最大值,直到第一列的下一个实例出现在A列中。

enter image description here

那是我的预期结果

enter image description here

我已经尝试过了,但是这会返回整列中的最大值,一旦达到第一行,我不知道如何重新计数。


=IF(I3="Multi-Drop",MAX(H:H),"")

1 个答案:

答案 0 :(得分:2)

只要在末尾添加一个额外的First Line,您就可以使用以下内容获取每节的最大值:

=MAX(INDEX(B$2:B2,MATCH("zzz",A$2:A2)):INDEX(B2:B$28,MATCH("First Line",A3:A$28,0)))

enter image description here

好吧,所以这并非您所要的,要做到这一点,公式将必须变得更长...下面删除了一些重复项,但是我们仍然有重复项120,因为这是最大值:

=IF(MAX(INDEX(B$2:B2,MATCH("zzz",A$2:A2)):INDEX(B2:B$28,MATCH("First Line",A3:A$28,0)))=B2,MAX(INDEX(B$2:B2,MATCH("zzz",A$2:A2)):INDEX(B2:B$28,MATCH("First Line",A3:A$28,0))),"")

enter image description here

并且以下内容也删除了max的重复项:

=IF(AND(COUNTIF(INDEX(B$2:B2,MATCH("zzz",A$2:A2)):B2,B2)=1,MAX(INDEX(B$2:B2,MATCH("zzz",A$2:A2)):INDEX(B2:B$28,MATCH("First Line",A3:A$28,0)))=B2),MAX(INDEX(B$2:B2,MATCH("zzz",A$2:A2)):INDEX(B2:B$28,MATCH("First Line",A3:A$28,0))),"")

enter image description here