Iniciales de Nombre Completo

johnmpl

Board Regular
Joined
Jun 14, 2013
Messages
237
Office Version
  1. 365
Platform
  1. Windows
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.
 

Excel Facts

Control Word Wrap
Press Alt+Enter to move to a new row in a cell. Lets you control where the words wrap.
Ya he conseguido una respuesta usando VBA... pero... hay una manera de hacer esto sin VBA?
 
Upvote 0
Se me ocurre que la mejor es hacer una Funcion Custom, como ha Ud. hecho, usando expresiones normales
Saludos
Sergio
 
Upvote 0
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!
 
Upvote 0

Forum statistics

Threads
1,215,781
Messages
6,126,859
Members
449,345
Latest member
CharlieDP

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top