Extraer las iniciales de una palabra con funciones de EXCEL

Planteamos el siguiente escenario.

Tenemos un listado con los nombres y apellidos de trabajadores en una columna y nos piden que en la columna siguiente mostremos sólo las iniciales de nombre y apellidos, teniendo en cuenta que algunos trabajadores tienen nombres compuestos y dos apellidos, y que no se quieren errores.

Una solución, muy sencilla sería seleccionar la columna de nombres y apellidos de los trabajadores y desde la pestaña Datos sección Herramientas de datos usar la opción Texto en columnas. Previamente debemos crear al menos 3 columnas vacías hacia la derecha. Finalmente utilizaremos la función IZQUIERDA y CONCATENAR para conseguir las iniciales.

=CONCATENAR(IZQUIERDA(B4;1);IZQUIERDA(C4;1);IZQUIERDA(D4;1);IZQUIERDA(E4;1))

Pero el reto está en conseguir que todo se pueda hacer con FUNCIONES sin tener que recurrir a la herramientas de datos.

Utilizaremos las siguientes funciones: IZQUIERDA, CONCATENAR, EXTRAER y ENCONTRAR.

  • La función IZQUIERDA nos devuelve el número de caracteres contenido en un texto determinado, su sintaxis =IZQUIERDA(texto; número de caracteres), donde el valor texto equivale al texto entre «» o la celda que contiene el texto y a continuación el número de caracteres a extraer comenzando a contar desde la izquierda. En nuestro caso siempre será 1, ya que estamos buscando la inicial, si buscamos los dos primeros caracteres pondríamos el número 2.
  • La función EXTRAE nos devuelve el texto que se encuentra en una posición determinada y una cantidad de caracteres determinado, su sintaxis =EXTRAE(“texto”; posición inicial; número de caracteres), donde el valor texto equivale al texto entre «» o la celda que contiene el texto, la posición inicial a partir de la cual, se contará el número de caracteres que debe extraer. 
  • La función ENCONTRAR nos devuelve la posición exacta que ocupa un texto que estamos buscando comenzando a buscar desde el numero de carácter que le hemos indicado, su sintaxis es =ENCONTRAR(“texto buscado”; “texto”; número inicial). En nuestro caso nos permitirá encontrar o mejor dicho indicar la posición que ocupa en el texto el espacio entre palabras.

Podemos adelantar que la combinación de la función EXTRAE y ENCONTRAR nos facilitará la tarea de encontrar la posición que ocupan los espacios en blanco y extraer la primera letra de la palabra que va a continuación.

Así, por ejemplo, para encontrar la inicial del nombre utilizaremos la función =IZQUIERDA(B2;1) que nos dice que, comenzando desde la izquierda nos encuentre el caracter que se encuentra en la posición 1 del texto contenido en la celda B2.

Para encontrar la inicial de la segunda palabra que en este caso es un segundo nombre, ya no nos sirve la función IZQUIERDA, algunos dirán que si podríamos usarla ya que simplemente contamos los caracteres hasta la siguiente palabra y ya está… pero no, ya que entonces sólo serviría para este texto, si luego propagamos la función no nos funciona. Por eso utilizaremos la combinación de las funciones EXTRAE y ENCONTRAR.

=EXTRAE(B2;ENCONTRAR(» «;B2;1)+1;1)

La función EXTRAE nos devuelve el texto que se encuentra en una posición determinada, esa posición la define la función ENCONTRAR que nos busca el texto, en este caso un espacio en blanco » » al cual le sumaremos 1 ya que lo que queremos es que nos devuelva la posición exacta del caracter a extraer.

Para la siguiente inicial, que en nuestro ejemplo corresponde con la tercera palabra (primer apellido) continuaremos usando las dos funciones de EXTRAE y ENCONTRAR, combinandolas pero de una manera un poco más compleja.

=EXTRAE(B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2;1)+1)+1;1)

La idea es la misma, usar la función ENCONTRAR para localizar la posición que ocupan los caracteres y de esta manera extraer la inicial correspondiente. En este caso, encontramos la localización de los dos » » que hay antes de llegar  la tercera palabra (primer apellido), no te olvides de sumar 1 ya que la posición exacta es el primer carácter después del espacio.

Para la cuarta inicial, procedemos el mismo modo, pero anidando otro ENCONTRAR más.

=EXTRAE(B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2)+1)+1)+1;1)

Una vez tenemos todas las iniciales, lo único que tendremos que hacer es seleccionar todas y propagar la fórmula.

Ya hemos extraído las iniciales de nombres y apellidos, pero ahora lo que nos piden es que en una columna, aparezcan todas las iniciales, esto lo podemos hacer de varias maneras, primero podemos usar el símbolo AMPERSAND (&) el cual nos permite «pegar» los valores contenidos en varias celdas. En nuestro caso se podría usar de la siguiente manera:

=C2&D2&E2&F2

A continuación propagamos la fórmula, y ya tendremos todas las iniciales en una sola columna.

Hay otra opción, mucho más profesional y es usando la función CONCATENAR.

=CONCATENAR(C2;D2;E2;F2)

Sólo queda propagar la función y ya lo tendremos.

Pero… y si todo esto que hemos hecho en diversas columnas (Inicial 1, Inicial 2….) lo quisieramos hacer de golpe en una sola columna… no me vale ocultar columnas. Podemos usar la siguiente función combinada:

=CONCATENAR(IZQUIERDA(B2;1);EXTRAE(B2;ENCONTRAR(» «;B2;1)+1;1);EXTRAE(B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2;1)+1)+1;1);EXTRAE(B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2)+1)+1)+1;1))

Para terminar de manera correcta este ejercicio, debemos revisar que no tengamos ningún error y si los tenemos debemos arreglarlo de algún modo. Si nos fijamos hemos trabajado en los ejemplos con nombres compuestos y dos apellidos, lo normal es que haya un sólo nombre y dos apellidos, pero en previsión de que en el listado aparezcan nombres compuestos, nos lo plantearemos siempre hacia arriba, hacia lo máximo. Entonces que sucede con aquellos que sólo tienen un nombre y dos apellidos. Pues muy sencillo, dará un error.

Básicamente, ese error lo que me indica es que en el cálculo, hay una celda sin valores o este no es reconocible y no puede hacer nada. En este caso aunque sale como error, no se trata de un error, ya que en realidad la celda está vacía, pero Excel le asigna el tipo de error #¡VALOR!

La solución pasa por usar la función =SI.ERROR(argumento;valor) es decir que si en la celda se produce un error, en lugar de ese error aparezca otra cosa, en nuestro ejemplo, que quede en blanco.

=CONCATENAR(IZQUIERDA(B2;1);EXTRAE(B2;ENCONTRAR(» «;B2;1)+1;1);EXTRAE(B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2;1)+1)+1;1);SI.ERROR(EXTRAE(B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2;ENCONTRAR(» «;B2)+1)+1)+1;1);»»))

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies
error: