查找来自同一活动的前5个正确值

时间:2018-05-10 18:46:19

标签: excel

目标:查找从一个活动切换到下一个活动所需的时间。为了说交换机已经完成,同一操作的连续5个活动必须在每个7分钟以下。

尝试的解决方案:我使用匹配(频率(矩阵公式来查找活动规范化的位置。我在下面发布了它:

<Exec Command="echo @(Compile)->%(Filename).obj >> $(OutputPath)$(ExecutableName).link" />

引用了哪些信息:第I列是帮助列,报告活动的时间是否在时间参数内,如果是,则发布1。 B列是活动清单。和单元格J6是用户想要分析的活动。 (对于底部的公式,E列是活动的日期/时间)

公式问题:公式工作正常,直到一行中的时间范围内有超过5个活动是正确的,在这种情况下公式会一直计数直到找到负数,然后报告最后一个成功的。我需要公式来阻止5次成功比赛。

如果它有助于任何有类似问题的人,整个公式都会在下面发布,但除了篇幅之外,其余的都没有任何问题。

{=MATCH(TRUE,(FREQUENCY(IF((I2:I500=1)*(B2:B500=J6),ROW(B2:B500)),IF(I2:I500=1,0,ROW(B2:B500))))>4,0)}

使用的资源:

How to count unique values in Excel with two conditions

Extracting the top 5 maximum values in excel

电子表格快照:

enter image description here

1 个答案:

答案 0 :(得分:0)

我通过在助手列中工作找到了解决我的问题的方法,并且如果参数满足则使助手发布为1,如果不满足,则为0。辅助列的公式如下

=IF(F3<TIME(0,7,0),IF(ISERROR(MATCH(TRUE,LEFT(B$1:B2,1)=LEFT(B3,1),0)),1,IF(COUNTIF(G$1:G2,1)>0,1,0)),0)

最终公式考虑了辅助列的新格式,并通过使用匹配查找第一组5的结尾位置来报告前5个连续值的第一个位置(true,Frequency(公式) ,然后是一个自下而上的匹配,找到第一个错误的位置。我在这个数字上加了1,并使用索引发布相应的日期列。

=INDEX(D:D,MAX(IF(OFFSET(G1,0,0,MATCH(TRUE,(FREQUENCY(IF((G2:G2000=1),ROW(B2:B2000)),IF(G2:G2000=1,0,ROW(B2:B2000))))>4,0)-5)=0,ROW(OFFSET(G1,0,0,MATCH(TRUE,(FREQUENCY(IF((G2:G2000=1),ROW(B2:B2000)),IF(G2:G2000=1,0,ROW(B2:B2000))))>4,0)-5))-ROW(INDEX(OFFSET(G1,0,0,MATCH(TRUE,(FREQUENCY(IF((G2:G2000=1),ROW(B2:B2000)),IF(G2:G2000=1,0,ROW(B2:B2000))))>4,0)-5),1,1))+1))+1)
相关问题