带有索引/匹配项的堆积式if语句不起作用

问题描述

我试图拉入“ Contact_End”以与调用线程的结尾相对应。如果您查看127554833506,则有两个调用具有相同的“ Web_Form_Thread_ID”,我希望从第二行数据而不是第一行获得“ Contact_End”。由于大量的特殊情况,我不能只说“拉入数据的Contact_end的第二行”。如果最后一个“ Web_Form_Callback_Success”为“是”,“ NoworkNeeded”或“ InvalidTOAddr”,并且它具有多个数据行且具有相同的“ Web_form_Thread_ID”,则我试图从最后一行中提取“ Contact_End”。 / p>

我希望能对此做出解释,因为老实说我不知道​​该怎么解释。

如果行是该特定记录的最后一行(基于Web_Form_Thread ID),我试图输入“ Contact_End”日期/时间。

我有一个单独的索引/匹配公式可以工作:

IF(AND(COUNTIF(D:D|D2)>1|G2=1)|INDEX(V:V|MATCH(D2&"Yes"|D:D&E:E|0))|""))

当“ Web_Form_Callback_Success”为“是”时,它正确地获取了该“ Web_form_Thread ID”的上一次“ Contact_End”时间。

然后我将其与“ NoworkNeeded”一起使用,但是当我将“是”公式和“ NoworkNeeded”公式结合使用时,第二个公式的编号为#N / A。

IF(AND(COUNTIF(D:D|D2)>1|G2=1)|INDEX(V:V|MATCH(D2&"NoworkNeeded"|D:D&E:E|0))|""))

这是到目前为止的完整公式:

{=IF(AND(COUNTIF(D:D|D2)=1|OR(E2="Yes"|E2="NoworkNeeded"|E2="inValidTOAddr"|E2="inValidPhNum"))|V2|IF(AND(COUNTIF(D:D|D2)>1|G2=1)|INDEX(V:V|MATCH(D2&"Yes"|D:D&E:E|0))|IF(AND(COUNTIF(D:D|D2)>1|G2=1)|INDEX(V:V|MATCH(D2&"NoworkNeeded"|D:D&E:E|0))|""))))}

这是三个单独的公式,每个公式分别起作用,或者第一个和第二个公式一起起作用。一旦我添加了第三个,它仅适用于“是”而不适用于“ NoworkNeeded”。

有关示例数据,请参见所附图像。 J列显示了两个索引/匹配项的组合以及结果。

enter image description here

感谢您的帮助。

解决方法

我想出了这个公式:

=IF(G3<=1,IF(COUNTIF(INDIRECT("R["&-(G2-1)&"]C5:RC5",FALSE),"Yes")+COUNTIF(INDIRECT("R["&-(G2-1)&"]C5:RC5","InValidTOAddr")+COUNTIF(INDIRECT("R["&-(G2-1)&"]C5:RC5","NoWorkNeeded")>=1,V2,"Success Negative"),"")

它用于Contact_End列。它检查它是否是该系列的最后一行(根据G2列),并计算当前系列中是否有任何“是”,“ InValidTOAddr”或“ NoWorkNeeded”。如果有,则返回同一行的V列中的值。如果没有,则返回“成功负”。如果不是该系列的最后一行,则返回“”。