Encontrar a n-ésima ocorrência de um valor no Excel

Já fiz um post mostrando como encontrar a última ocorrência de um determinado valor no Excel, mas agora vou mostrar como é possível encontrar o número da linha da n-éssima ocorrência de um determinado valor.

Dado que você tenha uma planilha, como a seguinte:

Se eu buscar pela terceira ocorrência de “Café”, quero que a função retorne o valor 8, que corresponde ao número da linha. Para isso, utilizaremos as funções SMALL e ROW (MENOR e LIN em português):

=SMALL(IF(E1=$A$2:$A$10; ROW($A$2:$A$10)-ROW($A$1)+1); E2)

Essa é uma função matricial, então para aplica-la utilize CONTROL+SHIFT+ENTER.

Resultado

Caso queira o valor associado ao invés do número da linha, utilize a função acima em conjunto com a função INDEX (ÍNDICE em português):

=INDEX($B$2:$B$10;SMALL(IF(E1=$A$2:$A$10;ROW($A$2:$A$10)-ROW($A$2)+1);E2))

Aplique com CONTROL+SHIFT+ENTER.

Resultado