基本上,我有两列数据,我想知道A列中的给定值是否与某个delta值中的B列中的任何值匹配。
我不认为一个近似的VLOOKUP会在这里做到这一点。值是日期和时间(如8/12/14 1:43:02 PM
),我希望delta值<15秒。
因此,如果A1
为8/12/14 1:43:02 PM
且B156
为8/12/14 1:43:08 PM
,则返回布尔值。
答案 0 :(得分:1)
由于评论往往很长,所以这是一个很长的评论或简短的答案。
要比较时间戳,您可以编写=ABS(A1-B1)<1/5760
。数字转换是自动的,1/5760=15/86400
或15秒,考虑到Excel,一天等于1。
以下是A列中一个值的示例。
我的Excel是法语,VRAI
表示TRUE
。日期/时间格式可能与您的格式不同,但它只是可视化的。
在英语中,公式为:
=MATCH(A1,$B$1:$B$21)
=INDEX($B$1:$B$21,C1)
=INDEX($B$1:$B$21,C1+1)
=OR(ABS(D1-A1)<1/5760,ABS(E1-A1)<1/5760)
当然,你真的不需要4列来做这件事,但它更容易理解。
另请参阅MATCH函数的帮助: MATCH查找小于或等于lookup_value的最大值。 lookup_array参数中的值必须按升序放置。
所以你得到之前的值的索引,你必须测试这个值(OR
和D1的第一部分)和下一个值(第二部分和E1)。
答案 1 :(得分:0)
试试这个数组公式:
=IFERROR(MATCH(TRUE,ABS(A2-TIME_RANGE)<EQ_15_SEC,0),"not found")
这将返回B列中满足15秒规则的项目索引,或“未找到”。
TIME_RANGE
是您要检查的一个值范围,例如B列
A2
是此行中A列的候选对象。你可以填写公式。
EQ_15_SEC
只指向我进行计算的单元格=15/60/60/24
这是一个数组公式,所以按 Ctrl + Shift + Enter (不仅仅是 Enter )