我有一个关于如何检查某个日期之后,如果我找到匹配的ID后两个日期之间的quistion。如果那不是真的,我想检查下一个匹配的ID的日期等。匹配ID的,如果ID匹配检查,如果某个日期之间是在一个开始日期和结束日期
我已经尝试过使用INDEX(MATCH())函数并搜索论坛,但无法找出这一个。如果是公式或VBA代码,则不会有任何问题。
这是我想要比较的表格的一个例子。
Sheet 1
Id Date
1 05-06-2017
1 06-11-2017
1 09-25-2017
2 05-12-2017
2 06-14-2017
3 09-30-2017
4 01-06-2017
4 05-20-2017
Sheet 2
Id Start Date End date
1 01-01-2017 02-01-2017
1 03-15-2017 03-20-2017
1 09-05-2017 09-28-2017
2 05-10-2017 05-11-2017
2 05-12-2017 05-20-2017
3 09-01-2017 10-02-2017
4 01-01-2017 01-07-2017
5 05-01-2017 05-25-2017
我要检查,如果从片材1的ID在片2存在我想检查如果ID的在片材1的时间是在开始和结束日期在片材2相匹配的ID之间之后。问题是我不能得到excel来检查下一个匹配的id是否在开始日期和结束日期之间,如果第一个匹配的id不是真的等等。
我第一次尝试的是: =INDEX(Sheet2 A:A;MATCH(Sheet1A1;Sheet2A:A;1;0))
这给了我的ID。
然后我想:
=IF(INDEX(Sheet2 A:A;MATCH(Sheet1A1;Sheet2A:A;1;0))=A1;IF(AND(B1>=Startdate;B1<=Enddate);"True";"False");"")
*没问题,如果它是公式或VBA代码* - 在大多数情况下,这是一个问题[如果您不显示您的努力和失败](http://stackoverflow.com/help/如何对问)。我们很乐意帮助您调整无法使用的代码/公式,但很少有人会为您编写整个解决方案。 –
拿了点。我第一次尝试的是:= INDEX(Sheet2 A:A; MATCH(Sheet1A1; Sheet2A:A; 1; 0))这给了我的id。然后我试着= IF(= INDEX(Sheet2 A:A; MATCH(Sheet1A1; Sheet2A:A; 1; 0))= A1; IF(AND(B1> = Startdate; B1 <= Enddate);“True”假“);”“) – bl1991
之后,我正在考虑advancefilter表1列一个独特的值。然后使用For循环来检查表2中的每一行。但是这样会很慢。 – bl1991