Automatización de Excel

Cómo comparar dos hojas de Excel para encontrar diferencias

Compara hojas de Excel mediante un identificador único para detectar valores modificados, filas nuevas y registros ausentes. Incluye un ejemplo, revisión de duplicados y una petición de IA delimitada.

Dos archivos de pedidos exportados pueden tener el mismo número de filas y, aun así, representar pedidos distintos. Comparar A2 con A2 no basta si alguien ha ordenado una de las hojas o ha insertado un registro.

Para comparar registros de negocio, busca primero un identificador estable y después compara los campos asociados a él. Separa tres resultados: registros modificados, registros que solo aparecen en la hoja antigua y registros que solo aparecen en la nueva. Conserva ambas fuentes y coloca el informe en una hoja independiente.

Decide qué quieres comparar

Pregunta Enfoque adecuado
¿Ha cambiado el importe de un pedido? Busca el identificador del pedido y después compara el importe
¿Qué pedidos se han añadido o eliminado? Comprueba la presencia de los identificadores en ambos sentidos
¿Ha cambiado una fórmula o el formato de una celda? Compara versiones del libro, no solo los valores devueltos
¿Se ven diferentes dos hojas pequeñas? Muéstralas en paralelo e investiga las diferencias

La vista en paralelo de hojas de cálculo de Microsoft ayuda a inspeccionarlas visualmente. No alinea los registros mediante sus identificadores de negocio. El ejemplo siguiente compara valores, no formatos ni el texto de las fórmulas.

Empieza por una clave única

Utiliza un identificador de pedido, empleado u otro dato que deba aparecer una sola vez en cada fuente. Los nombres por sí solos suelen ser inadecuados. Si un pedido tiene varias líneas, su identificador no es único: utiliza una combinación documentada, como el identificador del pedido y el número de línea.

Antes de buscar coincidencias, revisa los identificadores vacíos, los duplicados, los ceros iniciales y las diferencias entre texto y números. Conserva el identificador original junto a cualquier versión depurada. No elimines espacios significativos ni ceros iniciales solo para forzar una coincidencia. Nuestra guía para relacionar columnas explica la tarea relacionada de incorporar campos a una tabla existente.

Las fórmulas siguientes usan nombres de funciones en español y punto y coma. Según el idioma y la configuración regional de Excel, puede que tengas que adaptar los nombres o los separadores. El ejemplo utiliza identificadores sencillos sin comodines e importes numéricos no vacíos.

Reproduce una comparación pequeña

En una copia del libro, crea dos hojas llamadas Old y New. Introduce estos registros ficticios en las columnas A y B, con los encabezados en la fila 1. El orden de las filas es diferente a propósito.

ID en Old Importe en Old ID en New Importe en New
A101 120 A103 75
A102 80 A101 120
A103 75 A105 60
A104 50 A102 95

Las dos primeras columnas corresponden a Old y las dos últimas a New. Son datos ilustrativos, no un resultado de un cliente ni una prueba de velocidad.

Primero, utiliza una columna auxiliar en cada hoja para contar cuántas veces aparece el identificador de esa fila en su propia fuente:

=CONTAR.SI($A$2:$A$5;A2)

Cada identificador no vacío de este ejemplo debería devolver 1. Investiga los valores superiores a 1 antes de realizar una búsqueda. CONTAR.SI no distingue mayúsculas de minúsculas y reconoce comodines en los criterios. Si tus identificadores se distinguen por las mayúsculas o contienen *, ? o ~, estas fórmulas sencillas necesitan otra regla de coincidencia; no las utilices sin adaptarlas.

Después, en Old!D2, cuenta las coincidencias en la fuente nueva y rellena hacia abajo:

=CONTAR.SI(New!$A$2:$A$5;A2)

0 indica que el identificador solo aparece en Old; 1 indica un candidato único; un valor mayor que 1 indica una coincidencia ambigua. En Old!E2, recupera el importe nuevo:

=BUSCARX(A2;New!$A$2:$A$5;New!$B$2:$B$5;"Not found";0)

Compara E con B únicamente cuando D sea 1 y ambos importes sean números válidos. No equipares un registro ausente, un importe vacío y un cero real. Para importes calculados, establece una regla adecuada de redondeo o tolerancia antes de clasificar las diferencias.

BUSCARX devuelve el primer elemento coincidente; no resuelve duplicados. Tampoco está disponible en Excel 2016 ni 2019. En esas versiones, tras las mismas comprobaciones de unicidad, utiliza esta alternativa de coincidencia exacta en E2:

=SI.ND(INDICE(New!$B$2:$B$5;COINCIDIR(A2;New!$A$2:$A$5;0));"Not found")

Consulta la documentación de BUSCARX y la guía de INDICE y COINCIDIR de Microsoft para conocer el comportamiento y la compatibilidad de las funciones.

Por último, en New, cuenta cada identificador en Old para encontrar las incorporaciones:

=CONTAR.SI(Old!$A$2:$A$5;A2)

Al filtrar esta columna por 0, encontrarás A105. Una comprobación únicamente de Old hacia New no lo detectaría.

Crea un informe que explique cada diferencia

Para este ejemplo, el informe independiente debería contener:

ID Importe en Old Importe en New Estado
A101 120 120 Sin cambios
A102 80 95 Modificado
A103 75 75 Sin cambios
A104 50 — Solo en Old
A105 — 60 Solo en New

Hay cinco identificadores distintos: dos sin cambios, uno modificado, uno solo en Old y otro solo en New. Ambas fuentes contienen cuatro filas. Una comparación por posición de fila daría una imagen engañosa.

Si comparas varios campos, registra el nombre del campo y sus valores anterior y nuevo para cada cambio. Conserva también las referencias a las filas de origen, además de los identificadores. Separa las claves vacías o duplicadas en una lista de revisión en lugar de eliminarlas silenciosamente. Consulta cómo quitar duplicados de forma segura antes de modificar cualquiera de las fuentes.

Pide a GetSheetAI una comparación bien delimitada

En la barra lateral de GetSheetAI para Excel, especifica la clave, los campos, la ubicación del resultado y las reglas, en lugar de pedir simplemente «compara estas hojas». Sustituye los nombres de los campos de esta petición por los encabezados reales y omite Estado si tu fuente solo tiene una columna de importe:

Compara Old y New por el identificador de pedido, usando sus rangos realmente poblados. Primero informa de los identificadores vacíos y duplicados en cada fuente. Si hay identificadores ambiguos, detente y pregúntame cómo relacionarlos. Compara solo Importe y Estado. Distingue los registros ausentes, los valores vacíos y los ceros. Crea una hoja nueva llamada Comparison con el identificador, el campo modificado, el valor anterior, el valor nuevo, la categoría del resultado y las referencias a las filas de origen. Incluye los registros que solo aparezcan en un lado. No modifiques ninguna hoja de origen. Resume los recuentos y muestra las filas pendientes de resolver.

Revisa la regla de coincidencia propuesta antes de aceptar cambios. La IA puede ayudar a organizar la comparación, pero no puede decidir si dos identificadores distintos representan el mismo pedido sin una regla que tú definas.

Comprueba el informe antes de utilizarlo

  • Verifica un registro sin cambios, uno modificado y uno exclusivo de cada fuente.
  • Cuadra el número de identificadores distintos entre todas las categorías y cuenta aparte los que no se hayan resuelto.
  • Confirma que ordenar cualquiera de las fuentes no cambia la clasificación.
  • Comprueba que se incluyeron todos los rangos poblados, no solo las filas visibles o filtradas.
  • Conserva las exportaciones originales para que otra persona pueda reproducir la comparación.

Si el siguiente paso es relacionar facturas con pagos, en lugar de comparar versiones, utiliza el flujo de conciliación de facturas. Varios pagos por factura requieren reglas distintas de las de este ejemplo, que usa un registro por identificador.