我希望有人能给我一个解决我试图解决的Excel问题的问题。
我有两张桌子。一个称为SENSOR,另一个称为CARD
1 - 表SENSOR在一列中有日期/时间,在另一列中有员工ID - 表CARD在一列中有日期/时间,在另一列有一个员工ID
唯一完全匹配的是员工ID。表SENSOR的日期/时间与表CARD不完全匹配(通常为几分钟加或减)。我需要做的是在单元格C1上返回表CARD中的日期/时间列,这是从SENSOR表中的日期/时间列中找到的最近时间。
表传感器:
A栏:日期/时间 11/3/17 10:48 11/3/17 16:02 11/10/17 7:09 11/13/17 20:58 11/15/17 21:24 11/16/17 11:32
B栏:员工ID 7164 7165 7166 7163 7167 7163
表卡:
第一栏:日期/时间 11/3/17 16:05 11/10/17 7:10 11/13/17 21:04 17/15/17 21:30 11/16/17 11:40 11/3/17 10:45
COLUMN J:员工ID 7165 7166 7163 7167 7163 7164
这是我正在尝试做的事情(它实际上适用于其中一些,但在其他一些它只是不起作用,我无法理解为什么):
C1 = INDEX(I $ 2:I $ 285,MATCH(MIN(I $ 2:I $ 285-A16)),(J $ 2:J $ 285 = B16)* ABS(I $ 2:I $ 285-A16),0))
感谢你们
既然你提到TABLES
我使用TABLES
和结构化参考。从长远来看,使事情变得容易一些。但是,如果需要,您应该能够转换为直接引用。
这是公式:
=LOOKUP(2,1/(AGGREGATE(15,6,(ABS(([@[EMPLOYEE ID]]=CARD[EMPLOYEE ID])*
CARD[DATE/TIME]-[@[DATE/TIME]])),1)=ABS(([@[EMPLOYEE ID]]=CARD[EMPLOYEE ID])*
CARD[DATE/TIME]-[@[DATE/TIME]])),CARD[DATE/TIME])