Hace apenas unos días que publiqué un artículo sobre cómo extraer la última palabra de un texto en Excel y casi de inmediato recibí un par de preguntas muy similares sobre cómo encontrar la posición de la última aparición de una palabra en Excel.
Para entender mejor a lo que me refiero supongamos que en la celda A1 tengo el siguiente texto:
Puedes observar que la palabra “mamá” aparece dos veces y me interesa conocer la posición de la última aparición de la esta palabra. No es posible utilizar solo la función ENCONTRAR porque esta función siempre devolverá la posición de la primera aparición:
Así que, ¿cómo podemos encontrar la posición de la última aparición de una palabra en Excel? De nueva cuenta será necesario hacer uso de varias funciones de Excel para alcanzar nuestro objetivo.
Encontrar el número de apariciones de una palabra
El primer paso es conocer el número de apariciones de la misma palabra dentro del texto y lo podemos hacer con la siguiente fórmula:
=(LARGO(A1)-LARGO(SUSTITUIR(A1,B3,"")))/LARGO(B3)
Recuerda que la cadena de texto original está en A1 y la palabra que estoy buscando está en la celda B3. Ahora analicemos esta fórmula con detenimiento. En primer lugar hago una resta del largo de la cadena original y el largo de la cadena después de quitar la palabra mamá. Esto lo logro al utilizar la función SUSTITUIR usando las dobles comillas que significan una cadena de texto vacía.
El resultado de la resta para este ejemplo es 8. Y queda listo para la segunda operación que es la división entre el largo de la palabra que busco que es 4. El resultado final es 2 lo cual me indica el número de veces que aparece la palabra “mamá” dentro de la cadena original:
Reemplazar la última aparición de la palabra
Ahora que ya sabemos que la palabra “mamá” aparece dos veces en nuestro texto será muy fácil reemplazar la última aparición de la palabra con la función SUSTITUIR utilizando la siguiente fórmula:
=SUSTITUIR(A1, B3, "@", B6)
La celda B6 contiene el resultado de la fórmula anterior, que para este ejemplo es 2. En esta fórmula se remplazará la segunda aparición de la palabra “mamá” con el carácter “@”. Elegí el carácter “@” porque no aparece en la cadena de texto original pero puedes elegir cualquier carácter mientras que no aparezca en la cadena original. El resultado de esta fórmula lo puedes observar en la celda A8:
Observa que la última aparición de la palabra mamá ha sido reemplazada con el carácter “@” por lo que el último paso será encontrar la posición de este carácter.
Encontrar la posición del carácter especial
Ahora solo nos resta encontrar la posición del carácter especial que insertamos en la cadena de texto y para ello utilizamos la siguiente fórmula:
=ENCONTRAR("@", A8)
El resultado nos dará la posición exacta donde inicialmente se encontraba la palabra “mamá”:
Si queremos resumir todos los pasos en una sola fórmula podemos utilizar la siguiente:
=ENCONTRAR("@",SUSTITUIR(A1,B3,"@",(LARGO(A1)-LARGO(SUSTITUIR(A1, B3,"")))/LARGO(B3)))
Observa el resultado al utilizar esta última fórmula:
Para comprobar que nuestra fórmula será útil en cualquier otro caso modificaré la cadena de texto original de la celda A1 y obtendré un resultado correcto. Observa con detenimiento el resultado de la fórmula sobre esta nueva cadena de texto:
Ahora ya sabes cómo encontrar la posición de la última aparición de una palabra en Excel. No es una tarea sencilla pero si analizas con detenimiento este ejemplo seguramente terminarás comprendiendo mucho mejor las funciones de Excel que hemos utilizado en esta ocasión.
Artículos relacionados
Extraer la última palabra de un texto en Excel
Extraer contenido de una celda en Excel