De alguma forma eu amo essa pergunta e tem uma boa resposta (eu acho). O truque é verificar em seu conjunto de dados "pieced together" (eu chamarei de 'WholeSet') se ele corresponder ao outro conjunto (eu chamarei de 'SourceSet') pedaço por pedaço.
Há duas suposições que preciso fazer:
- O SourceSet está na mesma ordem que seus dados correspondentes no WholeSet
- O SourceSet não está no início do WholeSet (você pode verificar isso manualmente com muita facilidade).
Na folha (veja foto abaixo), eu tenho 0
em B2 e em B3, eu tenho =IF(A3=OFFSET($D$2;B2;0);B2+1;0)
. Em seguida, copiei B3 até o final. Em G1 é a fórmula: =MATCH(COUNT(D:D);B:B;0)-COUNT(D:D)+1
.
Explicação da fórmula da coluna B: procure o próximo registro (usando a função de deslocamento) e, se não for encontrado, digite 0 (então, em seguida, procuraremos o primeiro registro, com 0 deslocamento).
Explicação da fórmula G1: procure o número de itens no SourceSet. Se encontrado, MATCH
retornará o número da linha do último item. Subtraia o número de itens no SourceSet para chegar ao primeiro item e adicione um, porque o WholeSet começa na linha 2.