Actualmente estoy tratando de conciliar los campos "Nombre" de dos fuentes de datos separadas. Tengo varios nombres que no coinciden exactamente pero que son lo suficientemente cercanos como para ser considerados coincidentes (ejemplos a continuación). ¿Tienes alguna idea de cómo puedo mejorar la cantidad de coincidencias automáticas? Ya estoy eliminando las iniciales del segundo nombre de los criterios de coincidencia.
Fórmula actual del partido:
=IFERROR(IF(LEFT(SYSTEM A,IF(ISERROR(SEARCH(" ",SYSTEM A)),LEN(SYSTEM A),SEARCH(" ",SYSTEM A)-1))=LEFT(SYSTEM B,IF(ISERROR(SEARCH(" ",SYSTEM B)),LEN(SYSTEM B),SEARCH(" ",SYSTEM B)-1)),"",IF(LEFT(SYSTEM A,FIND(",",SYSTEM A))=LEFT(SYSTEM B,FIND(",",SYSTEM B)),"Last Name Match","RESEARCH")),"RESEARCH")
fuente
Me gustaría usar esta lista (solo en la sección en inglés) para ayudar a eliminar las abreviaturas comunes.
Además, es posible que desee considerar el uso de una función que le dirá, en términos exactos, qué tan "cerradas" están las dos cadenas. El siguiente código vino de aquí y gracias a smirkingman .
Lo que esto hará es decirle cuántas inserciones y eliminaciones debe hacer una a una cadena para llegar a la otra. Intentaría mantener este número bajo (y los apellidos deberían ser exactos).
fuente
Tengo una fórmula (larga) que puedes usar. No está tan bien pulido como los anteriores, y solo funciona para el apellido, en lugar de un nombre completo, pero puede resultarle útil.
Así que si usted tiene una fila de encabezado y quiere comparar
A2
conB2
, colocar esto en cualquier otra celda de esa fila (por ejemplo,C2
) y copiar hasta el final.Esto devolverá:
Después de eso, le dará un grado de 0 ° a 6 ° dependiendo del número de puntos de comparación entre los dos. (es decir, 6 ° se compara mejor).
Como digo un poco áspero y listo, pero espero que te lleve aproximadamente al estadio correcto.
fuente
Estaba buscando algo similar. Encontré el código a continuación. Espero que esto ayude al próximo usuario que viene a esta pregunta
Yo diría que está lo suficientemente cerca de lo que querías :)
fuente
Puede usar la función de similitud (pwrSIMILARITY) para comparar las cadenas y obtener un porcentaje de coincidencia de las dos. Puedes hacerlo sensible a mayúsculas o no. Tendrá que decidir qué porcentaje de una coincidencia es "lo suficientemente cerca" para sus necesidades.
Hay una página de referencia en http://officepowerups.com/help-support/excel-function-reference/excel-text-analyzer/pwrsimilarity/ .
Pero funciona bastante bien para comparar texto en la columna A con la columna B.
fuente
Aunque mi solución no permite identificar cadenas muy diferentes, es útil para la coincidencia parcial (coincidencia de subcadena), por ejemplo, "esto es una cadena" y "una cadena" resultará como "coincidencia":
simplemente agregue "*" antes y después de la cadena para buscar en la tabla.
Fórmula habitual:
se convierte
"&" es la "versión corta" para concatenate ()
fuente
Este código escanea la columna a y la columna b, si encuentra alguna similitud en ambas columnas, se muestra en amarillo. Puede usar el filtro de color para obtener el valor final. No he agregado esa parte al código.
fuente