Como obtener iniciales de nombres

27/02/2004 - 22:30 por pcr | Informe spam
Buenas;

Necesito ayuda para lo siguiente:

Tengo una lista de apellidos con nombres (algunos compuestos; por ejemplo:
perez de garcia gonzalez, jose luis) y necesito poder sacar las iniciales
(del ejemplo anterior: pggjl).
¿Como lo puedo hacer?¿Que formula se utiliza?

Muchas gracias.
 

Leer las respuestas

#1 Fernando Arroyo
28/02/2004 - 15:29 | Informe spam
Mira si te sirve la siguiente función:

Function Iniciales(strCompleto As String) As String
If strCompleto = "" Then Exit Function
Dim mtr As Variant, strApell As String, strNomb As String, n As Byte, i As Byte
strApell = Mid(strCompleto, 1, InStr(strCompleto, ",") - 1)
strNomb = Trim(Mid(strCompleto, InStr(strCompleto, ",") + 1))

For i = 1 To 2
mtr = Split(IIf(i = 1, LCase(strApell), LCase(strNomb)), " ")
For n = LBound(mtr) To UBound(mtr)
Select Case mtr(n)
Case "de", "del", "de la", "de los", "los", "y"
Case Else
Iniciales = Iniciales & Left(mtr(n), 1)
End Select
Next n
Next i
End Function

La sintaxis es:

=Iniciales("Apellidos, Nombre")
ó
=Iniciales(Celda)

Yo he hecho unas cuantas pruebas y parece que trabaja bien, pero te aconsejo que tú también la pruebes.
Si necesitaras las iniciales en mayúsculas, usa:

=MAYUSC(Iniciales("Apellidos, Nombre"))
ó
=MAYUSC(Iniciales(Celda))

Un saludo.


Fernando Arroyo
MS MVP - Excel



"pcr" escribió en el mensaje news:nGO%b.85196$
Buenas;

Necesito ayuda para lo siguiente:

Tengo una lista de apellidos con nombres (algunos compuestos; por ejemplo:
perez de garcia gonzalez, jose luis) y necesito poder sacar las iniciales
(del ejemplo anterior: pggjl).
¿Como lo puedo hacer?¿Que formula se utiliza?

Muchas gracias.


Preguntas similares