Excel: Como retornar o último número da linha que contém uma string específica?

Excel: Como retornar o último número da linha que contém uma string específica?

No Excel, existe uma fórmula do Excel que posso usar para preencher a coluna B (no meu exemplo abaixo) que retornará o número da última linha que contém uma string específica, antes da linha atual?

Os dados não são contíguos.
Por exemplo, os dados podem ser:

   |  A (value)    B (prev recent instance)
----------------------------------------------
 1 |  Mike
 2 |  John
 3 |  Mike         1
 4 |  Tony         
 5 |  Mike         3
 6 |  John         2

Em seguida, desejarei expandi-lo para que a Coluna C mostre a instância mais antiga.

Parece muito semelhante a esta pergunta: O que é uma fórmula do Excel que retornará o número da última linha de uma célula dentro de um intervalo que contém dados específicos?, no entanto, essa pergunta e resposta exigem que os dados sejam contíguos.

Editar: Gostaria que a resposta fosse uma fórmula de planilha, porém se você achar mais apropriado implementar via VBA, inclua isso também em sua resposta com prós e contras de cada abordagem.

Responder1

Para encontrar a instância mais antiga, mencionada abaixo é a fórmula: -

=LOOKUP(2,1/(A:A=A2),ROW(A:A))

Para sua melhor compreensão, abaixo está a captura de tela

insira a descrição da imagem aqui

Responder2

Supondo que seus dados comecem em A1, tente esta "fórmula de matriz" em B2

=IF(COUNTIF(A$1:A1,A2),MATCH(2,1/(A$1:A1=A2)),"")

confirmado com CTRL+SHIFT+ENTER e copiado

ou você pode usar esta versão sem array

=IF(COUNTIF(A$1:A1,A2),MATCH(2,INDEX(1/(A$1:A1=A2),0)),"")

No Excel 2007 ou posterior você pode simplificar com IFERROR, ou seja, a versão do array torna-se

=IFERROR(MATCH(2,1/(A$1:A1=A2)),"")

Para a linha "1ª instância" na coluna C, tente esta fórmula em C1 copiada

=MATCH(A1,A$1:A1,0)

Nota: as fórmulas não retornam estritamente "números de linha", mas os números relativos das linhas dos seus dados, ou seja, a linha 1 dos seus dados retorna 1 etc.

informação relacionada