Es como tu dices, de la forma compleja, porque puede ser que un intervalo de tiempo se intersecte con más de un intervalo y también puede ser que un intervalo no se intersecte con ninguno. Y todo esto, solo si el código se repite, porque si el código no es el mismo no importa si es que están intersectados los intervalos de tiempo.
Buscando encontré algo que casi resuelve mi problema, que es esta fórmula.
=(Y(A2>=A1;A2<=B1)) * (CONTAR.SI(C:C;C2)>1)
=(Y(B2>=A1;B2<=B1)) * (CONTAR.SI(C:C;C2)>1)
en las dos columnas subsiguientes a las que quiero comparar.
Se suponía que si se intersecta iba a haber un 1 y si no lo hacían salía un 0, o sea si es que había un código con un 1 y un 0, quería decir que ese código estaba repetido y que además estaba intersectado por el duplicado pero por el lado inicio del intervalo de tiempo. La condición que debía haber para que esta fórmula funcionara era que primero los datos estuviesen primero ordenados por los códigos de barra y luego por la fecha de inicio de los intervalos. Lo hice así, pero el problema es que comenzó luego a marcar los códigos que venían a continuación por sucesión, como si estuviesen duplicados e intersectados en intervalo de tiempo.
ejemplo
1234 (01-01-2013)-(06-01-2013) 0 1
1234 (04-01-2013)-(12-01-2013) 1 0
1235 (13-01-2013)-(20-01-2013) 0 1
1236 (17-01-2013)-(25-01-2013) 1 0
bajo este ejemplo, el duplicado de "1234" está bien, pero no debería marcar con 01 y 10 al "1235" ni al "1236". Supongo que lo hace solo porque es el numero sucesor.
Esta es la aclaración. Sería genial si me ayudas a resolver este problema. Saludos.