miércoles, marzo 01, 2006

Usar "Datos-->Consolidar" para comparar listas en Excel

En entradas anteriores he hablado sobre cómo comparar listas en Excel usando Formato Condicional.
Otra manera de comparar dos listas en Excel es usar Consolidación de Datos (menú: Datos ---> Consolidar; sobre este tema les invito a leer esta entrada).

Explicaremos esta técnica con un ejemplo. El cuaderno con este ejemplo se puede descargar
Comparar con Consolidar Datosaquí.

Supongamos un cuaderno que contiene cuatro hojas a las que les hemos dado los nombres "comparar", "lista 1", "lista 2" y "lista 3". Cada una de estas tres últimas contiene una lista de socios de una institución. Nuestra tarea es comparar entre las listas de manera que sepamos quien figura sólo en una de ellas, quien figura en dos de ellas (y en cuáles) y quien figura en las tres.
Empezaremos mostrando la técnica para comparar dos listas.
1 – En la hoja Lista 1 agregamos en la columna B el valor "1" al lado del nombre de cada socio



2 - Hacemos lo mismo con la lista 2, agregando en este caso el valor "2"
3 – Abrimos la hoja "Comparar" y seleccionamos la celda A1.
4 – Abrimos el menú Datos--->Consolidar



5 – Completamos los datos como está indicado en la figura aquí abajo



y pulsamos "Aceptar"



La tabla que aparece nos indica la situación de cada socio de acuerdo al valor que recibe:
1 = aparece solamente en la lista 1
2 = aparece solamente en la lista 2
3 = aparece en ambas listas

Para aplicar esta técnica con tres listas, procedemos de manera similar con la lista 3 pero en la columna B escribimos el valor "4" (no 3 como pudiéramos suponer).



Volvemos a la hoja "Comparar", seleccionamos la celda A1. Abrimos el menú Datos--->Consolidar y agregamos el rango A:B de la hoja Lista3



Pulsamos "Aceptar" y obtenemos esta tabla



Los resultados los interpretamos de la siguiente manera:
1 = aparece sólo en la lista 1
2 = aparece sólo en la lista 2
3 = aparece en la lista 1 y en la lista 2
4 = aparece sólo en la lista 3
5 = aparece en la lista 1 y en la lista 3
6 = aparece en la lista 2 y en la lista 3
7 = aparece en las tres listas



Categorías: Manejo de Datos_

Technorati Tags: ,

14 comentarios:

  1. Me parece un sistema ideal para pequeñas listas, pero tras intentarlo con una lista de unos 12 mil nombres Excel se queda medio muerto, hasta que me canso y lo cierro.
    No existiría alguna "FORMULA" para comparar la Columna A de la tabla 1 con la Columna A de la tabla 2 y si coinciden, añadir a la columna B de la tabla 2 el contenido de la columna B correspondiente de la tabla 1?
    Me explico:
    La tabla 1 tiene Nombre y direccion
    La tabla 2 solo nombre de los compradores de determinado producto
    Necesito añadir la direccion de la tabla general de todos los clientes a la tabla 2 que contiene solo los que compraron un determinado producto.
    Podría hacerlo con Consolidar, pero es tremendamente tedioso y superlento :(

    Gracias anticipadas!

    ResponderBorrar
  2. Hola again:

    Me he encontrado este Add-in que me soluciona el problema es un plis-plas.
    http://www.add-ins.com/duplicate_finder.htm
    Simplemente compara las columnas A y A de las dos hojas y marca las coincidencias.
    Asi que solo queda Copy y Paste en otra nueva hoja.

    No obstante,sigo interesado en saber como realizar esa macro, ya que es super rápida. Unos 25000 chequeos en 2-3 segundos.

    Gracias de nuevo por la paciencia!!

    ResponderBorrar
  3. Hola Roberto
    hasta ahora no he escrito sobre macros en mi blog. Tal vez lo haga más adelante. Por lo general los add-ins para controlar duplicados se basan en arrays (matrices o vectores). Me parece que la ayuda on-line de Microsoft describe una macro para esta tarea.
    Tal vez más adelante inclua una en este blog.
    En cuanto al problema que describís me parece que la solución es por el lado de INDICE y COINCIDIR más que por el de duplicados.

    ResponderBorrar
  4. Hola Jorge, antes que nada te agradezco tu interés en ayudar a los demás en lo que veo tienes mucho conocimiento. Te pido ayuda en algo relativo a comparar 2 columnas que a su vez cada una tiene otra asociada a su lado y mostrarlo en una tercera, por supuesto con su columna asociada. O sea datos en A con datos asociados en B por otro lado datos en C con datos asociados en D. En A por ejemplo tenemos 1 a 100, En C solo hay algunos pero siempre comprendidos en 1 a 100 (4,9,45,78,etc,), Lo que necesito es poner en la columna E los datos de C que se repiten en la A pero en la misma fila que tiene el valor en A, por supuesto que en la F irían los datos asociados a cada celda respectiva de la C. El valor de las restantes no importa (0,en blanco, N/A, etc.)
    Muchas gracias, espero haya sido claro.

    ResponderBorrar
  5. Sería necesario que me mandes el archivo, o un ejemplo, para que pueda hacerme una idea del problema.

    ResponderBorrar
  6. Hola Jorge. Coincido con uno de los chicos en su comentario anterior, que bueno que haya gente como usted con ganas de ayudar a los demás. Me parece excelente.Por esta vía sería la 2 vez que trato de solicitarte ayuda para hacer las conciliaciones de factura, que no es más, que buscar diferencias significativas entre la data de costo que me envían los proveedores con la data de costo que manejo para estimar el costo mensual. Leí lo de consolidar datos, pero no se hacerlo cuando son varias columnas :( si encuentro la forma de hacerlo eficientemente usando las herramientas a mi disposición sería un dolor de cabeza menos.
    Muchas gracias.
    Saludos.

    ResponderBorrar
  7. Hola
    necesitaría que precisaras un poco más lo que quieres hacer.
    ¿Cómo están organizados los datos? ¿En la misma hoja en distintas columnas? ¿En distintas hojas? ¿Cómo se identifican, por número de factura, por proveedor, por fecha..?

    ResponderBorrar
  8. Buenas!!Tengo un pequeño problema con Excel. Tengo que comparar las ventas de un año con el año anterior.Cada año esta separado en una hoja diferente.Las ventas estan separadas en familias de producto; pero no coinciden en el orden en que estan en cada hoja...
    Mi pregunta es; como puedo comparar de alguna forma esas familias, buscandolas por nombre en vez de por orden?
    mi email es dante_gta@hotmail.com Agradeceria que me contestarais. Gracias.

    ResponderBorrar
  9. Lo más eficiente sería crear una hoja con las ventas de todos los años, agregando una columna para indicar el año, y generar el reporte con una tabla dinámica.
    También puedes hacer una hoja de resumen extrayendo los datos de cada año de cada familia con una función de búsqueda como BUSCARV o INDICE.

    ResponderBorrar
  10. Hola es genial lo que se puede hacer con Excel, mira yo estoy comparando listas, tengo 7 y quiero hacer una sola, tengo que comparar UPC y nombre de productos por ejemplo

    ResponderBorrar
  11. Hola Jorge

    Qué significa cuando sale un mensaje de "No se consolidó ningún dato". He seguido todas las instrucciónes, pero no se que hice mal.

    Muchas gracias

    ResponderBorrar
  12. María Luisa,

    no puedo decirte sin recibir una descripción más detallada de las operaciones. Te sugiero que me mandes por línea privada el archivo con una explicación.

    ResponderBorrar
  13. Hola,
    me parece una f´órmula muy útil pero no he podido llevarla a cabo dado que tengo la versión de excel 2007 en ingles y no he sabido hacer la traducción exácta de los terminos. ¿Cómo se llamarían en ingles? o sabes de alguna página que tenga una lsita comparativa de terminos excelespañol/ingles?

    saludos y gracias

    ResponderBorrar
  14. En Excel 2007 (inglés), la funcionalidad se encuentra en la pestaña Data-Data Tools-Consolidate.
    Para ver el nombre de las funciones en los distintos idiomas, te recomiendo esta página.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.