Sobre excel

Hola, quisiera me ayudaras a concontrar una función o una conjugación de funciones en excel para lograr lo siguiente, extraer unicamente la 2da letra consonante de una palabra, es decir por ejemplo, de mi apellido que es RESENDIZ, quiero saber de forma automática cual seria la segunda consonante contenida (de izq a der). GRACIAS, ojala puedas ayudarme

1 Respuesta

Respuesta
1
Te desarrollé esta función que la copiarás en un módulo del Editor y luego la buscarás con el botón de funciones, categoría Definidas por usuario.
Alt+F11 para llamar al editor de macros, Insertar módulo y copias esto:
Function segundacons(dato As String)
Dim ini As Integer, conta As Integer
Dim letrax As String
ini = 2
conta = 0
letrax = Mid(dato, 2, 1)
While conta = 0
If UCase(letrax) <> "A" And UCase(letrax) <> "E" And UCase(letrax) <> "I" And UCase(letrax) <> "O" And UCase(letrax) <> "U" Then
conta = 1
Else
ini = ini + 1
letrax = Mid(dato, ini, 1)
End If
Wend
segundacons = letrax
End Function
Ahora en la celda que quieras que te devuelva la consonante escribirás:
=segundacons(A3) suponiendo que en A3 está el dato, no importa si está en mayús. o minús..
Saludos y no olvides finalizar.
Elsa
PD) No dejes de visitar el sitio www.exceluciones.com , hay un muy buen boletín, de suscripción GRATUITA con ejemplos, trucos, etc, etc.
Aplique la función que diseñaste y me funciono, sin embargo encontré el siguiente error, cuando hay alguna palabra donde la 2 consonante esta en la 4ta intentar, no funciona, por ejemplo:
En el dato: EREDIA, la funcio da como resultado "r", cuando debería de ser "d"
¿Qué se puede hacer en el modulo de la función para corregir esto?
Es cierto, disculpa el apuro, aquí va la ajustada.
Ajustá el mensaje que quieras que te aparezca si encuentra un nombre de una sola consonante (que los hay...)
Function segundacons(dato As String)
Dim ini As Integer, conta As Integer, largo As Integer
Dim letrax As String
ini = 1
conta = 0
largo = Len(dato)
While conta < 2 And ini <= largo
letrax = Mid(dato, ini, 1)
If UCase(letrax) <> "A" And UCase(letrax) <> "E" And UCase(letrax) <> "I" And UCase(letrax) <> "O" And UCase(letrax) <> "U" Then
conta = conta + 1
End If
ini = ini + 1
Wend
If ini > largo Then
letrax = "Una sola"
End If
segundacons = letrax
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas