我找到了如何在找到匹配的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中是否存在工作表1中的ID。之后我想检查工作表1中id的日期是否与工作表2中的id匹配的开始日期和结束日期之间我遇到的问题是,如果第一个匹配的ID在开始日期和结束日期之间,如果第一个匹配为真,那么我就无法获得excel。
我首先尝试的是:
=INDEX(Sheet2 A:A;MATCH(Sheet1A1;Sheet2A:A;1;0))
给了我身份证明。
然后我尝试了:
=IF(INDEX(Sheet2 A:A;MATCH(Sheet1A1;Sheet2A:A;1;0))=A1;IF(AND(B1>=Startdate;B1<=Enddate);"True";"False");"")
答案 0 :(得分:1)
使用此公式:
=IF(ISNUMBER(MATCH(1,INDEX((Sheet2!$A$2:$A$9=A2)*(Sheet2!$B$2:$B$9<=B2)*(Sheet2!$C$2:$C$9>=B2),),0)),"Exists","Does not Exist")
答案 1 :(得分:0)
试试这个......
在Sheet1上
在C2
=AND(ISNUMBER(MATCH(A2,Sheet2!$A$2:$A$9,0)),SUMPRODUCT((Sheet2!$A$2:$A$9=A2)*(B2>=Sheet2!$B$2:$B$9)*(B2<=Sheet2!$C$2:$C$9))>0)
然后将其复制下来。