Aqui está uma solução de trabalho, é diferente da sua, pois não consegui continuar com sua lógica.
=IFERROR(1/(1/MIN(IF((A2=$F$2:$F$14)*(B2<$G$2:$G$14),$G$2:$G$14,"-"))),"")
Onde
-
MIN(...)
está fazendo a seleção real dos dados mais próximos -
IF((A2=$F$2:$F$14)*(B2<$G$2:$G$14),$G$2:$G$14,"-")
seleciona apenas as datas das linhas que atendem aos seus critérios -
1/(1/MIN(..))
é usado para gerar uma mensagem de erro para capturar datas de manutenção sem detalhamento subseqüente (caso contrário, ele retornaria0
) -
IFERROR(..,"")
para converter mensagens de erro em cadeia vazia onde nenhuma falha subsequente é encontrada - Esta é uma fórmula de matriz, portanto, você precisa pressionar CTRL + SHIFT + ENTER após inseri-la em uma célula.