Use INDEX e AGGREGATE
Use o agregado para determinar o número da linha que corresponde aos seus critérios ou o segundo ou o terceiro. No seu caso, segundo. O AGGREGATE realiza operações parecidas com um array, então você vai querer evitar o uso de referências completas de colunas.
=AGGREGATE(14,6, row(range of interest)/(true condition check(range of interest)*true condition check n (range of interest)),2)
14 tells AGGREGATE to sort an array of results from smallest to largest.
6 tells AGGREGATE to ignore any errors and exclude them from the array of results)
ROW(range of interest) will return the row number corresponding to the current calculation
Condition check will be some formula you come up with that returns a TRUE or FALSE result. If it is false it will result in a divide by 0 calculation which the 6 will tell aggregate to ignore. You can apply multiple conditions and separate them by a * which will act as an AND function.
2 tells AGGREGATE to return the 2nd result in the sorted array. So in this case it should be the second row number that matches your results.
A próxima coisa a fazer é colocar a função AGGREGATE dentro do INDEX para retornar a informação que você deseja. Como o INDEX não realiza cálculos parecidos com matrizes, é seguro usar referências de colunas completas. Digamos que seu carimbo de data / hora esteja na coluna B. Sua fórmula de índice seria algo como:
=INDEX(B:B,AGGREGATE())
Então, no final, supondo que seu ID estava no intervalo A2: A8 e seu carimbo de data / hora estava no intervalo B2: B8. E o código de ID que você estava procurando estava em C1, sua fórmula pode parecer:
=INDEX(B:B,AGGREGATE(14,6,ROW(A2:A8)/(A2:A8=C1),2)
Agora, se você quiser adicionar um pouco de verificação de erros, você pode incluir a função IFERROR e fazer com que pareça:
=IFERROR(INDEX(B:B,AGGREGATE(14,6,ROW(A2:A8)/(A2:A8=C1),2),"Could NOT find the darned thing")