NUMERO DE COINCIDENCIAS ENTRE DOS CELDAS.

31/07/2008 - 12:26 por Carlos | Informe spam
Buenos días Grupo...!

Agradecería de ustedes su gentil ayuda.

Estoy buscando la fórmula que me indique el número de coincidencias de
nombres completos de personas que hay entre dos celdas .. por ejemplo

en la celda A1: Pedro Perez y en la celda A2 Pedro A Perez L

El resultado para el ejempli debe ser 2 (por los nombres Pedro y Perez)

Gracias de antemano.

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
01/08/2008 - 04:52 | Informe spam
hola, Carlos !

Algo adicional luego de evaluar...
... que incorpore NO sean consideradas las letras solas (iniciales de nombres), los puntos y los acentos en palabras.
Por ejemplo: del nombre Pedro L . Pérez C .
Solo debe comparar con la otra celda: el siguiente nombre Pedro Perez
(sin las iniciales L, C sin los correspondientes puntos y el acento en la é)...



estoy agregando como condicion que cada palabra/nombre sea de mas de 3 caracteres
(por aquello de las preposiciones "de", "de la", "del", etc.) y logicamente...
el codigo "sufre" de una (ligera ?) "crecidita" :-((

prueba con las siguientes adaptaciones y (OJO con los saltos de linea en tu lector de notiias)...
si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

Function Coinciden(Uno As String, Dos As String, Optional Delim As String = " ") As Byte
Dim Palabras, Sig As Byte
With Application
Palabras = Evaluate("{""" & _
.Substitute(.Substitute(.Substitute(.Substitute(.Substitute(.Substitute(.Substitute(.Trim( _
LCase(Uno)), "á", "a"), "é", "e"), "í", "i"), "ó", "o"), "ú", "u"), ".", ""), Delim, """,""") & """}")
End With
For Sig = LBound(Palabras) To UBound(Palabras)
If Len(Palabras(Sig)) > 3 Then _
Coinciden = Coinciden - (InStr(1, Dos, Palabras(Sig), vbTextCompare) > 0)
Next
End Function
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida