使用索引/匹配的Excel公式

我正在处理订单的活动日志。 我的目标是find被拒绝的订单数量,然后最终发布。 如果该评论以“D”开头,则任何其他评论均为发布。

如果备注以表格中的“D”匹配顺序号开始,且date大于“D”备注date,则返回发布date。

这是我正在使用的公式,但我错过了date逻辑,它返回第一个订单#匹配。

=SUM(IF(LEFT(C13,1)="D",INDEX($A$2:$E$2305,MATCH(E13,$E$2:$E$2305,0),4),1)) 

在这里输入图像描述

如果您的数据不总是按升序sorting,请使用以下数组公式:

 =IF(LEFT(C13,1)="D",INDEX($D$2:$D$2305,MATCH(1,(E13=$E$2:$E$2305)*(D13<$D$2:$D$2305),0)),1) 

作为一个数组公式,在退出编辑模式时,必须使用Ctrl-Shift-Enter而不是Enter来确认。 如果正确完成,则Excel将在公式周围放置{}

如果找不到匹配,这个公式将会显示一个错误,这个命令从来没有被释放来处理那个错误,我们可以这样做:

 =IF(LEFT(C13,1)="D",IFERROR(INDEX($D$2:$D$2305,MATCH(1,(E13=$E$2:$E$2305)*(D13<$D$2:$D$2305),0)),"Not Released"),1) 

现在,如果订单从来没有发布,那么你会得到Not Released你可以改变任何你想要的。

如果最终的发布date总是低于被拒绝的,那么设置从下一行开始的索引匹配应该修复它。 有了图像,我无法剪切和粘贴数据来检查。

对于突出显示的行:

 =IF(LEFT(C13,1)="D",INDEX(A14:$E$2305,MATCH(E13,E14:$E$2305,0),4),1) 

这确实假定拒绝只会发生一次。