1 votos

ExcelFuzzyLookUp: Comparar celdas en la misma fila

Estoy intentando comparar dos celdas que están en la misma fila y en la misma tabla. He tratado de utilizar Fuzzy Lookup para proporcionar una medida de similitud, pero lo que sucede es que las celdas se mueven para coincidir con lo que estoy buscando. En lugar de mover las celdas, quiero que las celdas de la izquierda se comparen con la celda de al lado.

Si lo anterior no tiene sentido, esto es lo que intento conseguir:

| Source 1      | Source 2     | Similarity |                                                   |
|---------------|--------------|------------|---------------------------------------------------|
| Yellow Jumper | Yellow Shirt | 0.x        | (x being the similarity number e.g. 0.95 similar) |

Pero lo que ocurre es que las celdas de abajo se mezclan, de manera que se compara el Jumper amarillo con el verde, por ejemplo. ¿Cómo podría lograr lo anterior?

0voto

Jeorje Puntos 16

No me gusta el Fuzzy Lookup (FL) por la razón de que lo que se divulga sobre él indica que la "similitud" proporcionada como medida para que uno tome decisiones es probablemente de falsa precisión por lo que uno hace una elección segura, pero basada en la basura - "Garbage In, Garbage Out" fue acuñado por una buena razón - por lo que si es una elección válida no es realmente evidente para la decisión.

Sin embargo, dejando eso de lado en la medida de lo posible (porque te está asaltando una variación de esa reserva), ten en cuenta que FL está emparejando en base a celdas enteras, no sólo a porciones. Por lo tanto, "saltador amarillo" y "saltador verde" coinciden en cualquier grado (tal vez incluso en cualquier grado que FL afirme) porque ambos tienen "saltador" en ellos.

Una solución para este problema en particular es añadir columnas a su/s tabla/s (normalmente denominadas "columnas de ayuda" en Excel) en las que intenta "concentrar" los datos para los que desea un intento de coincidencia de modo que FL sólo tenga en cuenta la parte que considera importante.

Así, por ejemplo, puede tener una columna con una fórmula que consiste en una concatenación (o unión de texto de una matriz interna) de una a varias (a "muchas" supongo) palabras que quiere utilizar para la concordancia. La fórmula podría SEARCH() o FIND() para cada una, una tras otra (con concatenación de cualquier tipo entre ellas) y si hay una coincidencia (la función utilizada NO devuelve un error), la palabra buscada se añadiría a la cadena. Si no, no.

Parece que uno podría simplemente hacer la cadena con todas las palabras y ahorrarse la molestia, pero eso bajaría la "similitud" de la coincidencia de manera que te engaña. Lo anterior daría una "similitud" más válida. Pero para sus propósitos, podría no ser necesario y una simple cadena completa podría funcionar adecuadamente para usted. En cualquier caso, si, por ejemplo, "jumper" NO es algo que desee que coincida, no incluirlo lo conseguirá.

Se necesitaría una columna de este tipo para cada columna utilizada activamente en el FL. La razón debería ser evidente: esa calificación de "similitud" de nuevo. Buscar sólo "amarillo" contra una columna original que sólo lo tiene en frases como "saltador amarillo" sólo coincidirá con alrededor del 50% del objetivo generando un valor de "similitud" mucho más bajo y tal vez perdiendo algunas coincidencias para usted si enumera sólo las que están por encima de cierto nivel.

Por otro lado, lo anterior es una especie de creación de su propio FL, sólo que utilizando el AddIn para el paso final en lugar de escribir más fórmulas. Hace que uno se pregunte.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: