Me gustaría comparar dos hojas de cálculo de Excel
Ambos tienen las mismas columnas, en el mismo orden, pero no las mismas filas.
Tengo una hoja de cálculo con 1,000 filas y 50 columnas que incluye una identificación única para cada fila y datos personales (dirección, número de teléfono, etc.).
Quiero compararlo con la misma base extraída hace un año.
Mi objetivo es conocer todos los cambios (por ejemplo, alguien que cambió su dirección).
Intenté con una hoja de cálculo (como se explica aquí: compare dos archivos de Excel ) pero no funciona porque en mi archivo "nuevo" tengo nuevas filas, y tengo algunas filas en el archivo anterior que no están en el nuevo.
La hoja de cálculo se compara con el número de línea de Excel. ¿Es posible comparar con la primera columna (ID única)?
Aquí hay un ejemplo muy simplificado: https://filebin.net/g4w98251y9mfwug6
Hay dos hojas que representan mis dos hojas de cálculo.
Como puede ver, ambos tienen las mismas columnas pero:
- Hay filas que están en ambas hojas sin cambios (todas las filas son iguales)
- Hay filas que están en ambas hojas pero hay cambios (en naranja en mi ejemplo)
- Hay filas que solo están en la hoja de diciembre (no necesito identificar estas líneas)
- Hay filas que solo están en la hoja de enero (en naranja en mi ejemplo)
El color naranja es exactamente lo que quiero, pero en este ejemplo puedo hacerlo manualmente: comparando diciembre y enero. En las hojas de cálculo reales no puedo hacerlo manualmente ya que hay demasiados cambios, datos, líneas, columnas, etc. y lo haré mensualmente.
Solo hay una columna que nunca puede cambiar: la columna A.
Respuestas:
Es conveniente que su hoja de cálculo use 50 columnas, porque eso significa que las columnas # 51, # 52, ... están disponibles. Su problema se resuelve con bastante facilidad con el uso de una "columna auxiliar", que podemos poner en la columna
AZ
(que es la columna # 52). Vamos a suponer que la fila 1 en cada una de sus hojas contiene cabeceras (las palabrasID
,Name
,Address
, etc.), de modo que no es necesario comparar los (ya que sus columnas están en el mismo orden en ambas hojas). También supondré que elID
(identificador único) está en la columnaA
. (Si no es así, la respuesta se vuelve un poco más complicada, pero aún así bastante fácil). En la celdaAZ2
(la columna disponible, en la primera fila utilizada para datos), ingreseenumerando todas las celdas de a
B2
travésAX2
.&
es el operador de concatenación de texto, por lo que siB2
contieneAndy
yC2
contieneNew York
,B2&C2
evaluará aAndyNew York
. Del mismo modo, la fórmula anterior concatenará todos los datos de una fila (excluyendo elID
), dando un resultado que podría verse así:La fórmula es larga y engorrosa de escribir, pero solo necesita hacerlo una vez (pero vea la nota a continuación antes de hacerlo). Lo mostré
AX2
porque la columnaAX
es la columna # 50. Naturalmente, la fórmula debe cubrir todas las columnas de datos que no seanID
. Más específicamente, debe incluir cada columna de datos que desee comparar. Si tiene una columna para la edad de la persona, entonces (¿automáticamente?) Será diferente para todos, cada año, y no querrá que se informe. Y, por supuesto, la columna auxiliar, que contiene la fórmula de concatenación, debe estar a la derecha de la última columna de datos.Ahora seleccione la celda
AZ2
y arrástrela / llénela hacia abajo a través de las 1000 filas. Y haga esto en ambas hojas de trabajo.Finalmente, en la hoja donde desea que se destaquen los cambios (supongo, por lo que dice, que esta es la hoja más reciente), seleccione todas las celdas que desea resaltar. No sé si esto es solo Columna
A
, o solo ColumnaB
, o toda la fila (es decir, aA
travésAX
). Seleccione estas celdas en las filas 2 a 1000 (o donde sea que lleguen sus datos) y vaya a "Formato condicional" → "Nueva regla ...", seleccione "Usar una fórmula para determinar qué celdas formatear" e ingreseen el cuadro "Formato de valores donde esta fórmula es verdadera". Esto toma el
ID
valor de la fila actual de la hoja actual ("enero de 2018") (en la celda$A2
), lo busca en la columnaA
de la hoja anterior ("diciembre de 2017"), obtiene el valor de datos concatenados de esa fila y lo compara al valor de datos concatenados en esta fila. (Por supuesto,AZ
es la columna auxiliar,52
es el número de columna de la columna auxiliar y1000
es la última fila de la hoja "Diciembre de 2017" que contiene datos, o algo más; por ejemplo, podría ingresar en1200
lugar de preocuparse por ser exacto). Luego haga clic en "Formato" y especifique el formato condicional que desee (por ejemplo, relleno naranja).Hice un ejemplo con solo unas pocas filas y solo unas pocas columnas de datos, con la columna auxiliar en Columna
H
:Observe que la fila de Andy es de color naranja, porque se mudó de Nueva York a Los Ángeles, y la fila de Debra es de color naranja, porque ella es una nueva entrada.
Nota: Si una fila puede tener valores como
the
yreact
en dos columnas consecutivas, y esto podría cambiar en el año siguiente athere
yact
, esto no se informaría como una diferencia, porque solo estamos comparando el valor concatenado, y eso (thereact
) es Lo mismo en ambas hojas. Si le preocupa esto, elija un carácter que es poco probable que aparezca en sus datos (por ejemplo,|
) e insértelo entre los campos. Entonces su columna auxiliar contendríaresultando en datos que podrían verse así:
y se informará el cambio, porque
the|react
≠there|act
. Probablemente debería preocuparse por esto, pero, según lo que realmente son sus columnas, es posible que tenga razones para estar seguro de que esto nunca será un problema.Una vez que lo haga funcionar, puede ocultar las columnas auxiliares.
fuente
Vaya a la pestaña Vista y haga clic en Nueva ventana. Vaya a la nueva ventana y haga clic lado a lado. Puede sincronizar el desplazamiento haciendo clic en Desplazamiento sincrónico. Verifique la imagen adjunta:
El desplazamiento sincrónico le brinda la ventaja de desplazarse simultáneamente por diferentes hojas de trabajo. Al alternar el botón, podrá ver ambos juntos y desplazarse solo una hoja de trabajo.
fuente
Ok, entonces puedes hacer una de dos cosas.
1.- La solución OOTB es ir a "Datos" -> "Herramientas de datos" -> "Eliminar (Esta es la traducción directa del español) Duplicados". De esta manera, debe agregar ambas tablas, y terminará con solo los datos que se han cambiado y solo los únicos. Por lo tanto, para filtrar el uso
CountIf
en sus ID únicos, anule la selección de lo que se ha contado como 1. Ordene por uniqueId y verá claramente qué se ha cambiado.2.-Usa esta fórmula
IF(Index("rangetoreturn";Match("CellofUniqueID";"Rangeofuniqueidtolookinto";0))<>"OneOftheCellthatcontainsthesameasRangeToReturn";"Info Has Changed";"InfoHasNotChanged")
Esta fórmula se puede arrastrar hacia la derecha y hacia abajo. Entonces obtendrá una tabla con la condición if, con la misma cantidad de líneas que la tabla de "CellofUniqueID". La posición de la "Información ha cambiado", le dirá qué celda en la otra tabla ha cambiado su contenido. Entonces use esta fórmula en una nueva hoja y cree una nueva tabla. Luego mira los filtros y deselecciona "InfoHasNotChanged" (o cualquier palabra que quieras usar).
"rangetoreturn" y "Rangeofuniqueidtolookinto" son de una tabla (u hoja), y "CellofUniqueID" es de la otra tabla.
Salud
fuente
CountIf
y filtrar por 2 ocurrencias, cuando tiene 1 ocurrencia significa que la información no ha cambiado. Por último, ordene por su identificación única. También coloque una bandera en una nueva columna de columnas, para que sepa de qué tabla proviene su información. Ahora puede ver claramente cuáles son las diferencias