Vlookup在另一张桌子上有多个标准

时间:2016-09-05 07:02:03

标签: excel excel-formula match vlookup

enter image description here

您好, 我有一份付款清单和一张表,其中包含了收集人员的承诺。

我希望通过id(和日期)将最后一个与债务人达成协议的收款官分配到付款表中。

例如:在id 1111,有两个承诺:Morticia Adams和Gulliver;但我选择了格列佛,因为他在该日期范围内考虑到付款日期做出了最后的承诺。

同样,对于id 5425,最后的承诺是由Marie Anne做出的,因为2016年10月23日(付款日期)是在2016年10月12日至2016年10月26日(承诺日期)之间。

如果有人可以指导我完成这件事,我将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

执行此操作的一种方法是找到满足条件的最新会话日期:

  • 承诺表中行的付款ID等于付款表的付款ID。
  • 付款日期大于或等于通话日期。
  • 付款日期小于或等于约定的付款日期。

我们可以这样做:

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

然后将日期与付款ID结合使用,以获得我们可以用来查找名称的唯一密钥。

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

最后,我们可以执行索引匹配,在承诺表中的日期和付款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 + 输入

输入公式

请注意,如果您为范围命名,这将更具可读性和直观性。