У меня есть два списка, каждый из которых содержит список временных рамок для разных пользователей. Я хочу определить места, где начальная дата для конкретного пользователя в одном списке совпадает (или в течение 1 дня, если это возможно, но я согласен на точное совпадение) с датой остановки пользователя в другом списке, или наоборот наоборот.
Список 1
User Start Stop
User1 1/1/2014 3/15/2014
User1 6/1/2014 12/1/2015
User2 3/1/1998 9/2/2016
User3 4/10/2007 3/5/2011
User3 9/6/2013 9/8/2013
User3 5/20/2014 5/25/2014
Список 2
User Start Stop
User1 3/15/2014 5/31/2014
User1 12/5/2014 2/10/2016
User1 8/2/2016 1/1/2017
User2 5/15/2010 6/25/2010
User2 2/1/2012 3/1/2012
User3 6/1/2012 9/5/2013
User3 4/25/2014 2/8/2017
В приведенном выше примере:
Дата окончания в первой записи для User1 совпадает с датой начала в первой записи для User1 в списке 2. Других совпадающих дат нет, поэтому я бы хотел выделить это событие.
Для пользователя 2 в списке 1 показан один большой длительный период времени. Несмотря на то, что в Списке 2 есть два периода времени, полностью совпадающие с периодом Списка 1, даты начала / окончания не совпадают, поэтому они не имеют смысла.
Для пользователя 3 дата начала в первой записи в списке 1 - это день после даты остановки в первой записи для пользователя 3 в списке 2. Поэтому я бы хотел как-то это подчеркнуть. Другие временные рамки никак не связаны, поэтому они не имеют смысла.
Может ли кто-нибудь помочь мне найти мои спички? У меня тысячи строк. Спасибо!
РЕДАКТИРОВАТЬ:
Вот скриншоты, показывающие, где я нахожусь -