根据Excel中匹配的多个条件获取最接近的日期

时间:2017-08-15 16:05:00

标签: excel

我在Excel中有以下两个标签:

表1:

    Date      Vehicle Number      Planned Leave Time    Actual Leave Time
  8/7/2017        10001            8/7/17 4:59 AM   

表2:

  Date   Vehicle Number   Actual Leave Time
8/7/2017    10001          8/7/17 4:29 AM
8/7/2017    10001          8/7/17 5:59 AM
8/7/2017    10001          8/6/17 3:05 PM
8/7/2017    10003          8/6/17 2:05 PM

我希望从表2中获得实际的休假时间,基于相同的日期,表1和表2之间的相同车辆编号;

另外,正如您所看到的,同一车辆有多个记录,表2中有相同的日期,所以我想我必须将时间(8/7/17 4:59 AM)与所有时间进行比较表2在8/7/2017和车辆10001,以获得最接近的时间,其具有我的计划时间和活动时间之间的最小abs差异。

那么有人可以告诉我在Excel中应该使用什么公式来实现我的目的吗?

非常感谢 屠夫

1 个答案:

答案 0 :(得分:1)

我将您的数据表转换为Tables并使用了结构化引用,因此表格所在的位置并不重要。此外,如果向任一表中添加行,公式和引用将自动更新。此外,如果您愿意,可以将表重命名为有意义的内容。

公式是数组公式,因此必须在按 ctrl + shift 并输入输入时输入。如果您正确执行此操作,Excel将在公式周围放置大括号 {...}

=INDEX(Table2[Actual Leave Time], MATCH(MIN(ABS(([@Date]=Table2[Date])*([@[Vehicle Number]]=Table2[Vehicle Number])*Table2[Actual Leave Time]-[@[Planned Leave Time]])),ABS(([@Date]=Table2[Date])*([@[Vehicle Number]]=Table2[Vehicle Number])*Table2[Actual Leave Time]-[@[Planned Leave Time]]),0))