首页 > 解决方案 > 根据 Criteria 获取 Max 值,然后在满足条件后重复

问题描述

我有 4 列 A , B , C , D

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

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

在此处输入图像描述

这些是我的预期结果

在此处输入图像描述

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


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

标签: excel

解决方案


您可以使用以下内容来获取每个部分的最大值,前提是您在最后添加一个附加项First Line,以便该函数知道在哪里停止:

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

在此处输入图像描述

好的,所以这不是您所要求的,要做到这一点,公式必须变得更长......下面删除了一些重复项,但我们仍然有重复的 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))),"")

在此处输入图像描述

下面也删除了最大值的重复项:

=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))),"")

在此处输入图像描述


推荐阅读