在多个标准的另一张桌子上查找

在这里输入图像说明

嗨,我有一份付款清单和一张表格,里面有收款官员所做的承诺。

我想通过与债务人签订协议的最后一名收款官员的身份(和date)分配到付款表中。

例如:在第1111号上,有两个承诺:Morticia Adams和Gulliver; 但我select格列佛是因为他在该date范围内最后承诺考虑付款date。

同样,对于ID 5425,最后的承诺是由玛丽·安娜作出的,因为23.10.2016(支付date)是在12.10.2016和26.10.2016(承诺date)之间。

如果有人能指导我通过这个,我会很感激。

谢谢!

免责声明:这个公式产生的是OP所描述的,而不是图片显示的内容。

一种方法是find满足条件的最新会话date:

  • 承诺表中的行的付款标识等于付款表的付款标识。
  • 付款date大于或等于会话date。
  • 付款date小于或等于约定的付款date。

我们可以这样做:

{=MAX(($A$3:$A$8 = A12) * (B12 >= $B$3:$B$8) * (B12 <= $C$3:$C$8) * $B$3:$B$8)} 

然后将date和付款ID结合起来,就可以使用唯一的密钥来查找名称。

 {=MAX(($A$3:$A$8 = A12) * (B12 >= $B$3:$B$8) * (B12 <= $C$3:$C$8) * $B$3:$B$8) & A12} 

最后,我们可以执行索引匹配,在承诺表中的date和付款ID的级联范围内查找上述公式的输出

 {=INDEX( $D$3:$D$8, MATCH( MAX(($A$3:$A$8 = A14) * (B14 >= $B$3:$B$8) * (B14 <= $C$3:$C$8) * $B$3:$B$8) & A14, $B$3:$B$8 & $A$3:$A$8, 0))} 

{}表示您必须使用Ctrl + Shift + Enterinput公式

请注意,如果命名范围,这将更加可读和直观。