基于日期的条件 VLOOKUP

基于日期的条件 VLOOKUP

我想要在 Excel 中合并两个表:

日期 电子邮件
2019-07-07 06:49:10 邮件1
2019-07-14 20:21:16 邮件2
2019-06-23 18:22:40 邮件3
2019-08-11 13:17:54 邮件4

日期 电子邮件 文章编号
2019年02月04日 15:11 邮件1 1号
2019年08月08日 20:21 邮件1 5号
2019年05月06日 16:30 邮件2 1号
2019 年 7 月 9 日 13:00 邮件2 2号
2019年08月09日 12:43 邮件2 3号
2019年05月05日 18:13 邮件3 7号
2019年06月28日 09:00 邮件4 6号

我想合并电子邮件上的这些表格。对于“mail3”和“mail4”,这应该很简单,它们得到第 7 号和第 6 号。但是,对于“mail1”和“mail2”,这更困难。我想合并它们并比较日期,以便它们获得与日期最接近但最不相关的文章编号表 1 中的日期。我尝试使用常规 VLOOKUP 合并电子邮件,但无法确定是否可以有条件地执行此操作。如果您需要更多信息,请告诉我。谢谢。

答案1

我认为你应该选择INDEX和。这个组合总是至少和 一样快MATCH,最好是快很多!AGGREGATEVLOOKUP

以下是一个例子:

在此处输入图片描述

公式C2

=INDEX($G$2:$G$8,MATCH(AGGREGATE(14,3,($F$2:$F$8=B2)*($E$2:$E$8<A2)*($E$2:$E$8),1),$E$2:$E$8,0))

拖累...


为了回答@Rajesh 的以下问题,只要您相应地更新引用,这适用于任何行,行 1、100、1000、100000。这无关紧要。不要忘记使用真实日期值和TRIMOP 给出的样本数据:

在此处输入图片描述

公式C182

=INDEX($G$182:$G$188,MATCH(AGGREGATE(14,3,($F$182:$F$188=B182)*($E$182:$E$188<A182)*($E$182:$E$188),1),$E$182:$E$188,0))

答案2

这个简单的数组(CSE)公式找到了最接近的日期匹配并修复了问题:

在此处输入图片描述

Q2 中的编辑公式:

{=IF(ISBLANK(O2),"",IFERROR(INDEX($U$2:$U$9,MATCH(1,(P2=$T$2:$T$9)*(O2>=S$2:S$9),1)),""))}
  • 完成公式Ctrl+Shift+Enter并填充。

注意:

  • 衣柜搭配是自由裁量的问题,它可能Greater/Less than or Equals to the Criteria Date.

  • 因此,公式的这一部分中的比较运算符可以改为(O2>=S$2:S$9)

根据需要调整公式中的单元格引用。

相关内容