我有一個關於如何檢查某個日期之後,如果我找到匹配的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