Comparar matrices en Excel

Tengo dos matrices con datos que tengo que comparar llamemoslas matrices A y B.
La matriz A tiene 49 columnas con 345 filas y la matriz B tiene 23 columnas y 212 filas. Las columnas de la matriz B tienen el mismo encabezado y formato que 23 de las columnas de la matriz A pero no están en el mismo orden y las 212 filas están ordenadas igual en las dos matrices por un mismo campo, es decir, esa columna coincide las 212 filas de B con las 212 primeras filas de A en esa columna. Lo que me interesa es comparar las otras 22 columnas de ambas y ver si las de B son diferentes a las de A
Adjunto un ejemplo:
Matriz A
A        B         C          D          E
DNI   Nombre  Apellidos    Profesion   Telefono
1111c  Jose     Sanchez      Albañil      111111
2222d Almudena Rodriguez Administrativa   33333
3333f  Ana           Perez        Ingeniera           55555
4444s Roberto     Lopez       Conductor         45445
Matriz B
A          B           C
DNI      Profesion        Nombre
1111c   Domador       Jose
2222d   Administrativa    Almudena
3333f    Ingeniera       Luis
4444s Conductor Ana
Quiero comparar si las filas B y C de la matriz B son coinciden con alguna de las columnas de la matriz A teniendo en cuenta que la matriz A esta bien y en el mismo orden.

2 respuestas

Respuesta
2
Para lo que pides se me ocurre en buscarv, anidado con coincidir, te explico:
Pensemos que la primera matriz esta en la hoja1, y que la segunda matriz esta en la hoja2. Y que en la hoja 2 necesito traer en la columna DE, la profesión que me muestra la Hoja1. Pues bien con esos datos coloco en la celda D1 el nombre del encabezado que voy a buscar, para el ejemplo Profesión.
Luego en D2 coloco la siguiente fórmula:
=BUSCARV(A2,Hoja1!A:G,COINCIDIR(Hoja2!$D$1,Hoja1!1:1),0)
Y listo el resultado de esta fórmula es la profesión del primer código, y claro la comparación no entiendo como la necesitas, pero asumo que lo que querías era traer la info de una matriz a otra.
Respuesta
1
El problema que planteas es tedioso por lo complicado de las matrices. Antes de poder proponerte algo me gustaría contestaras a unas preguntas que facilitan mucho la solución.
Si entiendo bien la matriz A es la "buena". Entonces ¿es posible ordenar las columnas de A y B con el mismo orden y en A todas seguidas.? En tu ejemplo sería:
A: DNI Nombre Profesión Apellidos Teléfono
B: DNI   Nombre  Profesion         
Estop se hace fácilmente a mano y solo una vez y aclara y facilita la comparación.
De manera similar se puede ordenar las filas de B por el campo indice (DNI parece ser en tu caso). Ello no producirá en A que los iguales de B estén seguidos.
Una vez hecho esto, se puede hacer una macro que recorra la matriz A, y marque en la B en otro color lo que es diferente. Esto por ejemplo detectaría que el DNI 4444s no corresponde a Ana, y que el 3333f no es de Luis, pero no detectaría en B el DNI de Ana.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas