# Iniciales de Nombre Completo



## johnmpl (Jun 14, 2013)

Buenos días.

Mi pregunta tiene que ver con sacar las iniciales de un nombre en Excel.  He hecho una fórmula (no matricial) que funciona solo hasta 4 nombres (pudiesen ser más).  La fórmula es la siguiente (el Nombre está en B5):

=SI.ERROR(IZQUIERDA(B5);"")&SI.ERROR(EXTRAE(B5;ENCONTRAR(" ";B5)+1;1);"")&SI.ERROR(EXTRAE(B5;ENCONTRAR("*";SUSTITUIR(B5;" ";"*";2))+1;1);"")&SI.ERROR(EXTRAE(B5;ENCONTRAR("*";SUSTITUIR(B5;" ";"*";3))+1;1);"")

Si está en B5 el nombre "John Jairo Vergara Domínguez", la fórmula devuelve JJVD.  Si está escrito "Ivan Palacios", devuelve IP, lo que está perfecto... pero quiero más...

He pensado en una fórmula matricial que me devuelva las iniciales de cada nombre sin importar la cantidad de palabras que estén en la celda, para hacer la fórmula más dinámica.  La fórmula que he realizado es la siguiente:

{=EXTRAE(" "&B5;ENCONTRAR("#";SUSTITUIR(" "&B5;" ";"#";FILA(INDIRECTO("1:"&LARGO(B5)-LARGO(SUSTITUIR(B5;" ";""))+1))))+1;1)}

Esta función funciona muy bien, porque logra su cometido: extrae las iniciales de cada nombre sin importar el número de palabras que tenga.  Si escribo en B5 el nombre "John Jairo Vergara Domínguez", la función alberga las iniciales en una matriz: {"J";"J";"V";"D"}.  Pero aquí viene la pregunta... ¿Cómo hacer para que estas letras que están en la matriz se muestren en una sola celda? es decir, en la celda me de JJVD, debido que, si realizo la fórmula matricial, solo me muestra la primera inicial.  Sé que se puede hacer la fórmula matricial en varias celdas, y que en cada celda se generaría una inicial por celda, pero lo que quiero es que el resultado se observe en una sola celda.  Muchas gracias por sus amables y prontas respuestas a mi inquietud.


----------



## johnmpl (Jun 14, 2013)

Ya he conseguido una respuesta usando VBA... pero... hay una manera de hacer esto sin VBA?


----------



## sergioMabres (Jun 18, 2013)

Se me ocurre que la mejor es hacer una Funcion Custom, como ha Ud. hecho, usando expresiones normales
Saludos
Sergio


----------



## johnmpl (Jun 18, 2013)

Señor SergioMabres.  Gracias por su respuesta.  El hacer una función Custom (UDF) También requiere VBA.  La idea era poderlo hacer con funciones, pero que me tomara "n" iniciales de acuerdo al nombre completo en una celda.  De acuerdo a las respuestas y a mi propia experiencia, con funciones se puede resolver siempre y cuando se agregue un módulo adicional de fórmulas anidadas de acuerdo a las iniciales que requiera.  Dios le bendiga!


----------

