La única consulta que tengo mucho es: “como comparar dos columnas en Excel?”.
Esto se puede hacer de muchas maneras diferentes, y el método a utilizar dependerá de la estructura de datos y de lo que el usuario quiera.
Por ejemplo, es posible que desee comparar dos columnas y encontrar o resaltar todos los puntos de datos coincidentes (que se encuentran en las dos columnas) o sólo las diferencias (donde un punto de datos se encuentra en una columna y no en la otra ), etc.
Como me preguntan tanto sobre eso, decidí escribir este tutorial masivo con la intención de cubrir la mayoría (si no todos) de los escenarios posibles.
Si os parece útil, hágalo pasar a otros usuarios de Excel.
Tenga en cuenta que las técnicas para comparar columnas que se muestran en este tutorial no son las únicas.
Dependiendo de su conjunto de datos, es posible que tenga que cambiar o ajustar el método. Sin embargo, los principios básicos seguirían siendo los mismos.
Si cree que hay algo que se puede añadir a este tutorial, avisadme en la sección de comentarios
Compare dos columnas para la concordancia de fila exacta
Esta es la forma de comparación más sencilla. En este caso, debe hacer una comparación fila por fila e identificar qué filas tienen los mismos datos y cuáles no.
Ejemplo: compare las celdas de la misma fila
A continuación se muestra un conjunto de datos donde tengo que comprobar si el nombre de la columna A es el mismo de la columna B o no.
Si hay una coincidencia, necesito el resultado como “TRUE” y, si no coincide, necesito el resultado como “FALSO”.
La fórmula siguiente haría esto:
=A2=B2
Ejemplo: compare las celdas de la misma fila (mediante la fórmula IF)
Para obtener un resultado más descriptivo, puede utilizar una fórmula IF simple para devolver “Coincide” cuando los nombres son los mismos y “No coincide” cuando los nombres son diferentes.
=IF(A2=B2,"Match","Mismatch")
Nota: en caso de que desee distinguir entre mayúsculas y minúsculas, utilice la fórmula IF siguiente:
=IF(EXACT(A2,B2),"Match","Mismatch")
Con la fórmula anterior, “IBM” y “ibm” se considerarían dos nombres diferentes y la fórmula anterior devolvería “Mismatch”.
Ejemplo: resalte las filas con datos coincidentes
Si desea resaltar las filas que tienen datos coincidentes (en lugar de obtener el resultado en una columna independiente), puede hacerlo mediante el formato condicional.
Estos son los pasos para hacerlo:
- Seleccione todo el conjunto de datos.
- Haga clic en la pestaña “Inicio”.
- En el grupo de Estilos, haga clic en la opción “Formato condicional”.
- En el menú desplegable, haga clic en “Nueva regla”.
- En el cuadro de diálogo “Nueva regla de formato”, haga clic en “Usar una fórmula para determinar qué celdas hay que formatear”.
- En el campo de la fórmula, escriba la fórmula: = $ A1 = $ B1
- Haga clic en el botón Formato y especifique el formato que desea aplicar a las celdas coincidentes.
- Haga clic en Aceptar.
Esto resaltará todas las celdas donde los nombres son iguales en cada fila.
Compare dos columnas y resalte coincidencias
Si desea comparar dos columnas y resaltar los datos coincidentes, puede utilizar la funcionalidad duplicada en el formato condicional.
Tenga en cuenta que esto es diferente de lo que hemos visto en comparar cada fila. En este caso, no haremos una comparación fila por fila.
Ejemplo: compare dos columnas y seleccione los datos de coincidencia
A menudo, obtendrá conjuntos de datos donde haya coincidencias, pero es posible que no estén en la misma fila.
Algo como se muestra a continuación:
Tenga en cuenta que la lista de la columna A es mayor que la de B. También hay algunos nombres en ambas listas, pero no en la misma fila (como IBM, Adobe, Walmart).
Si desea resaltar todos los nombres de las empresas coincidentes, puede hacerlo mediante el formato condicional.
Estos son los pasos para hacerlo:
- Seleccione el conjunto de datos completo.
- Haga clic en la pestaña Inicio.
- En el grupo de Estilos, haga clic en la opción “Formato condicional”.
- Pase el cursor por la opción Resalta las reglas de la celda.
- Haga clic en Valores duplicados.
- En el cuadro de diálogo Valores duplicados, asegúrese de que está seleccionado “Duplicar”.
- Especificar el formato.
- Haga clic en Aceptar.
Los pasos anteriores le darán el resultado tal como se muestra a continuación.
Nota: la regla de duplicado de formato condicional no distingue entre mayúsculas y minúsculas. Por lo tanto, “Apple” y “apple” se consideran iguales y se resaltarían como duplicados.
Ejemplo: compare dos columnas y seleccione los datos que no coinciden
En caso de que desee resaltar los nombres que aparecen en una lista y no en la otra, también puede utilizar el formato condicional.
- Seleccione el conjunto de datos completo.
- Haga clic en la pestaña Inicio.
- En el grupo de Estilos, haga clic en la opción “Formato condicional”.
- Pase el cursor por la opción Resalta las reglas de la celda.
- Haga clic en Valores duplicados.
- En el cuadro de diálogo Valores duplicados, asegúrese de que esté seleccionado “Único”.
- Especificar el formato.
- Haga clic en Aceptar.
Esto le dará el resultado tal como se muestra a continuación. Destaca todas las celdas que tienen un nombre que no se encuentra en la otra lista.
Compare dos columnas y busque puntos de datos que faltan
Si desea identificar si hay un punto de datos de una lista a la otra lista, debe utilizar las fórmulas de búsqueda.
Supongamos que tiene un conjunto de datos como se muestra a continuación y desea identificar las empresas que están presentes en la columna A pero no en la columna B,
Para hacerlo, puedo utilizar la siguiente fórmula VLOOKUP.
=ISERROR(VLOOKUP(A2,$B$2:$B$10,1,0))
Esta fórmula utiliza la función VLOOKUP para comprobar si hay un nombre de empresa a A en la columna B o no. Si está presente, devolverá este nombre en la columna B, de lo contrario devolverá un error # N / A.
Estos nombres que devuelven el error # N / A son los que faltan en la columna B.
La función ISERROR devolvería CERT si hay el resultado VLOOKUP es un error y FALSO si no es un error.
Si desea obtener una lista de todos los nombres donde no haya ninguna coincidencia, puede filtrar la columna de resultados para obtener todas las celdas con TRUE.
También puede utilizar la función MATCH para hacer lo mismo;
=NOT(ISNUMBER(MATCH(A2,$B$2:$B$10,0)))
Nota: Personalmente, prefiero utilizar la función Match (o la combinación de ÍNDICE / MATCH) en lugar de VLOOKUP. El encuentro más flexible y potente. Puede leer la diferencia entre Vlookup y Index / Match aquí.
Compare dos columnas y extraiga los datos coincidentes
Si tiene dos conjuntos de datos y desea comparar los elementos de una lista con la otra y obtener el punto de datos coincidente, debe utilizar las fórmulas de búsqueda.
Ejemplo: extracto de los datos coincidentes (exactos)
Por ejemplo, en la lista siguiente, quiero obtener el valor de valoración de mercado de la columna 2. Para ello, debo buscar este valor en la columna 1 y, a continuación, obtener el valor de valoración de mercado correspondiente.
A continuación se muestra la fórmula que hará esto:
=VLOOKUP(D2,$A$2:$B$14,2,0)
o bien
=INDEX($A$2:$B$14,MATCH(D2,$A$2:$A$14,0),2)
Ejemplo: extracto de los datos coincidentes (parcial)
En caso de que obtenga un conjunto de datos con una diferencia menor en los nombres de las dos columnas, el uso de las fórmulas de búsqueda mostradas anteriormente no funcionará.
Estas fórmulas de búsqueda necesitan una coincidencia exacta para dar el resultado adecuado. Hay una opción de coincidencia aproximada a la función VLOOKUP o MATCH, pero no se puede utilizar aquí.
Supongamos que tiene el conjunto de datos como se muestra a continuación. Tenga en cuenta que hay nombres que no están completos en la columna 2 (como JPMorgan en lugar de JPMorgan Chase y Exxon en lugar de ExxonMobil).
En este caso, puede utilizar una búsqueda parcial mediante caracteres comodines.
La fórmula dará el resultado correcto en este caso:
=VLOOKUP("*"&D2&"*",$A$2:$B$14,2,0)
o bien
=INDEX($A$2:$B$14,MATCH("*"&D2&"*",$A$2:$A$14,0),2)
En el ejemplo anterior, el asterisco
es un carácter comodín que puede representar cualquier número de caracteres. Cuando el valor de búsqueda se flanquea con él a ambos lados, cualquier valor de la columna 1 que contiene el valor de búsqueda de la columna 2 se consideraría como una coincidencia.
Por ejemplo, * Exxon * sería una coincidencia para ExxonMobil (ya que * puede representar cualquier número de caracteres).