Comparando cuatro columnas en Excel

Comparando cuatro columnas en Excel

Tengo dos listas en una hoja de cálculo. Ambas listas constan de dos columnas. Una columna son los números de serie de la computadora y la otra columna es la persona a la que está asignada la computadora de la primera columna.

Las listas fueron creadas por dos personas diferentes y necesito compararlas y encontrar discrepancias. A continuación se muestra un ejemplo de este problema: Ejemplo.

En este ejemplo, necesitaría asegurarme de que a la persona A se le haya asignado CPU1 tanto en el conjunto de datos A como en el conjunto de datos B. Si hay una discrepancia, entonces el conjunto de datos B debería tener prioridad. Sin embargo, si hay una persona presente en el conjunto de datos A que no está presente en el conjunto de datos B, esa persona debe permanecer en la lista.

Respuesta1

Por lo tanto, debe verificar la Lista A frente a la Lista B, cambiar para que coincida con la Lista B cuando sea necesario y usar los datos de la Lista A cuando no. Y probablemente le gustaría saber acerca de los problemas que ocurren.

Con respecto a la primera parte, necesita una nueva columna en la Lista A, mejor insertarla entre las dos columnas existentes para que inmediatamente se convierta en parte de cualquier rango u otra referencia en cualquier lugar de la hoja de cálculo, luego la columna que empujó hacia la derecha se corta y se inserta antes. en lugar de quedarse después, por lo que regresa al material original con una nueva columna justo a su derecha, pero la nueva columna es parte de cualquier referencia al material de la Lista A.

Para el segundo, hay al menos dos eventos que uno sospecha que le interesarían: 1) La Lista A tiene datos que no coinciden con la Lista B. El resultado en la columna es la Lista B "más correcta", pero hay una discrepancia. y 2) Después de realizar la verificación, el resultado que se muestra es un duplicado de otros resultados mostrados. En otras palabras, muestra al menos dos personas asignadas a una CPU en particular y, a menos que la Lista B contenga duplicados, esto se debe a que la Lista B dice una persona y la Lista A muestra que una o más personas tienen esa CPU. Solo el resultado de la Lista B Persona puede ser correcto, por lo que los demás representan problemas.

Para realizar el trabajo de verificación, inserte la nueva columna y luego mueva la columna que se empujó nuevamente a su lugar. Diré que actualmente sus datos son la Lista A, las columnas A y B, la columna negra es la columna C y la Lista B son las columnas D y E. Al final, tendrá una nueva columna C empujando a todas las demás una columna a la Bien, entonces la Lista B ahora son las columnas E y F. La fila del encabezado es la fila 1 en la hoja de cálculo, y supondré que los datos son las filas 2:11.

Dado que la Lista B anula cualquier diferencia con la Lista A, la fórmula buscará a cada persona en la Lista A en la Lista B y devolverá lo que tenga la Lista B, si tiene una entrada para esa persona y devolverá lo que tiene la Lista A si no hay ninguna entrada en la Lista B. :

XLOOKUP($B2,$F$2:$F$5,$E$2:$E$5,$A2,0,1)

Usado el bonito, nuevo XLOOKUP()pero si no lo tienes, necesitarás una Index/Matchsolución ya que tienes que "mirar a la izquierda" en la Lista B.

Luego los problemas. Tienes al menos dos opciones sobre cómo manejarlos. Probablemente otros, como si pudieran escribir una macro para hacerlo, pero yo solo pensaré en fórmulas. Una forma es complicar eso XLOOKUP()con pruebas para el problema. La mayoría de la gente parece crecer ruidosamente y seguir ese camino. Pero hay una manera mucho más fácil, una que permite un montón de ajustes si es necesario, aunque aquí solo necesitas lo básico. Se trata de utilizar el formato condicional ("CF") para realizar las pruebas en lugar de convertir la fórmula anterior en un monstruo de 20 líneas que realmente no comprendes incluso cuando acabas de terminar.

Con CF solo necesita elegir el orden en el que enumera las reglas para que se prueben en un orden que funcione correctamente. (La mayoría de las personas calculan las pruebas primero. Si elige el orden primero, luego debe elaborar pruebas que se ajusten a ese orden. Por lo general, es mucho más fácil ir en sentido contrario, como lo hace la gente).

Entonces, si ahora hay más de una persona listando una CPU en particular, eso se llama "duplicados" y CF tiene una regla incorporada para eso. Es fácil probarlo primero, así que configúrelo. Llegaré al formato a aplicar en un momento, porque tiene un "truco". Luego haz una segunda regla que use esta fórmula para su prueba:

=XLOOKUP($B2,$F$2:$F$5,$E$2:$E$5,$A2,0,1)<>$A2

Observe que esta nueva regla se inserta antes de la regla de duplicados. Todo eso está bien, no funcionarán si lo mueves a la segunda regla marcada. Marque la casilla "Detener si es verdadero".

Ahora CF comprobará si el resultado de la fórmula coincide con los datos originales de la Lista A para la Persona. Si es así, aplicará el formato aquí y se detendrá. Si no, se pasa a la segunda regla.

La segunda regla verifica si hay duplicación y aplica el formato si la hay.

Entonces, el "truco"... utilizarás una posibilidad de formato bastante poco frecuente para colocar los mensajes de error en los nuevos resultados de la Lista A (en lugar de sufrir las pesadillas de encajarlos en la fórmula de la celda, la pesadilla del trabajo y la pesadilla de intentar entenderlo todo nuevamente para actualizarlo o corregirlo).

El formato numérico normal le permite configurar el formato para hasta cuatro TIPOS de datos en una celda: números positivos, números negativos, ceros y texto. En cualquiera de ellos, puedes poner cadenas de texto (plural) en el formato. De hecho, un formato no puede ser más que una cadena de texto. Para ambas reglas de CF, utilizará este hecho. Para la primera regla, use lo siguiente, exactamente como lo ve:

;;;"Lista A no coincide"

y para la segunda regla, use lo siguiente:

;;;">1 asignado"

Para que se destaquen mejor (son textos más largos que el texto "CPU", pero...), puedes formatear el texto con un color diferente, al menos, tal vez con un bonito rojo.

Y si solo necesita la lista sin problemas, simplemente haga la fórmula al principio y recuerde estas cosas de CF para otro día cuando desee una fórmula simple y directa en sus celdas y todas las pruebas para detectar errores y dar los mensajes apropiados. en reglas simples en CF en lugar de convertir las fórmulas de las celdas en pesadillas.

información relacionada