
Fórmula genérica
=FIND(CHAR(160),SUBSTITUTE(text,"@",CHAR(160),N))
Resumen
Para encontrar la enésima aparición de un carácter en una cadena de texto, puede utilizar una fórmula basada en las funciones BUSCAR y SUSTITUIR. En el ejemplo que se muestra, la fórmula en D5 es:
=FIND(CHAR(160),SUBSTITUTE(B5,"@",CHAR(160),C5))
Explicación
En este ejemplo, buscamos la enésima aparición del carácter "@".
Trabajando desde adentro hacia afuera, primero usamos la función SUSTITUIR para reemplazar la enésima aparición de "@" con CHAR (160):
SUBSTITUTE(B5,"@",CHAR(160),C5)
La función SUSTITUIR tiene un cuarto argumento opcional llamado número de instancia que puede usarse para especificar la instancia que debe reemplazarse. Este número proviene de la columna C.
SUBSTITUTE luego reemplaza la enésima aparición de "@" con CHAR (160), que se resuelve en "†". Usamos CHAR (160) porque normalmente no aparecerá en el texto. Puede utilizar cualquier carácter que sepa que no existirá en el texto. Para ver una demostración de la función CHAR, vea este video.
Finalmente, el carácter FIND busca CHAR (160) y devuelve la posición.
Nota: desarrollé este ejemplo en una Mac originalmente, donde CHAR (160) se resuelve en una daga (†). En Windows, use CHAR (134) para un personaje de daga.