Para comparar dos columnas fila a fila, escribe =B2=C2 junto a la primera fila y cópiala hacia abajo: VERDADERO significa que las dos celdas coinciden y FALSO que son distintas. Para encontrar los valores de una columna que aparecen en cualquier parte de otra columna, en cualquier orden, usa =CONTAR.SI($B$2:$B$8;A2)>0. CONTAR.SI se llama COUNTIF en inglés, y la tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Product | Old | New | Same? | Status |
| 2 | Apple | $1.20 | $1.20 | TRUE | Same |
| 3 | Pear | $1.50 | $1.60 | FALSE | Changed |
| 4 | Carrot | $0.80 | $0.80 | TRUE | Same |
| 5 | Bread | $2.40 | $2.20 | FALSE | Changed |
| 6 | Milk | $1.10 | $1.10 | TRUE | Same |
| 7 | Cheese | $4.50 | $4.90 | FALSE | Changed |
=B2=C2D3, D5 y D7 son FALSE, y la regla de formato condicional =$B2<>$C2 colorea esas tres filas. La columna E muestra la misma prueba con palabras en lugar de TRUE y FALSE. Cambia C3 a 1.5 y la fila 3 pasa a Same.
Comparar dos columnas con SI
=B2=C2 devuelve VERDADERO o FALSO. Envuélvela en SI (IF en inglés) para elegir las palabras: =SI(B2=C2;"Same";"Changed"), como en la columna E de arriba. Para dejar en blanco las filas que coinciden y marcar solo las diferencias, usa =SI(B2<>C2;"Changed";""). Para mostrar cuánto cambió un número, resta en lugar de comparar: =C2-B2.
Para contar las diferencias sin columna auxiliar, compara los dos rangos dentro de SUMAPRODUCTO: =SUMAPRODUCTO(--(B2:B7<>C2:C7)) devuelve 3 para la tabla de arriba.
Sin fórmula: selecciona B2:C7 con B2 como celda activa, ve a Inicio > Buscar y seleccionar > Ir a Especial, elige Diferencias entre filas y pulsa Aceptar (en Excel en inglés para Windows, Ctrl+\ hace lo mismo). Excel selecciona C3, C5 y C7, las celdas que se diferencian de la columna B en su fila; dales un color de relleno para marcarlas.
Comparar distinguiendo mayúsculas con IGUAL
La comparación con = ignora las mayúsculas y minúsculas: ab12 es igual a AB12. Cuando las mayúsculas importan (códigos de producto, contraseñas, identificadores), usa IGUAL(A2;B2) (EXACT en inglés), que es VERDADERO solo cuando los dos textos son idénticos carácter a carácter.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Entered | Equal? | EXACT |
| 2 | AB12 | AB12 | TRUE | TRUE |
| 3 | CD34 | cd34 | TRUE | FALSE |
| 4 | EF56 | EF56 | TRUE | TRUE |
| 5 | GH78 | Gh78 | TRUE | FALSE |
=A2=B2La columna C, la comparación con =, dice que las cuatro coinciden. IGUAL dice que las filas 3 y 5 son distintas, porque cd34 y Gh78 usan letras minúsculas.
Encontrar los valores de una columna que faltan en la otra
Cuando las dos listas no están en el mismo orden, compara cada valor con toda la otra columna. CONTAR.SI($B$2:$B$8;A2) cuenta cuántas veces aparece A2 en B2:B8, así que >0 significa "encontrado" y =0 significa "falta". Los signos $ mantienen fijo el rango buscado mientras la fórmula se copia hacia abajo.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | In February? | With MATCH |
| 2 | Ana | Dan | TRUE | TRUE |
| 3 | Ben | Fay | TRUE | TRUE |
| 4 | Cara | Ana | FALSE | FALSE |
| 5 | Dan | Gus | TRUE | TRUE |
| 6 | Eve | Hal | FALSE | FALSE |
| 7 | Fay | Ivy | TRUE | TRUE |
| 8 | Gus | Ben | TRUE | TRUE |
=CONTAR.SI($B$2:$B$8;A2)>0Cara y Eve son FALSE: compraron en enero y no en febrero. COINCIDIR (MATCH en inglés) da la misma respuesta por otro camino: COINCIDIR(A2;$B$2:$B$8;0) devuelve la posición de A2 en la columna B, o #N/A cuando no está (la tabla muestra los nombres de error en inglés), y ESNUMERO lo convierte en VERDADERO o FALSO. Para revisar la otra dirección (clientes nuevos en febrero), pon la misma fórmula junto a la columna B con los rangos intercambiados: =CONTAR.SI($A$2:$A$8;B2)>0.
Comparar dos listas y devolver un valor que coincide
A menudo la pregunta no es solo "¿está?" sino "¿coincide el valor de al lado?". Aquí se comparan facturas con una lista de pagos en otro orden: BUSCARX encuentra cada factura en los pagos, devuelve lo pagado, y la columna D lo compara con el importe de la factura.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Invoice | Amount | Paid | Match? | Payment for | Paid | |
| 2 | INV-101 | 120 | 120 | TRUE | INV-103 | 240 | |
| 3 | INV-102 | 85 | Not paid | FALSE | INV-101 | 120 | |
| 4 | INV-103 | 240 | 240 | TRUE | INV-105 | 140 | |
| 5 | INV-104 | 60 | 60 | TRUE | INV-106 | 95 | |
| 6 | INV-105 | 150 | 140 | FALSE | INV-104 | 60 | |
| 7 | INV-106 | 95 | 95 | TRUE |
=BUSCARX(A2;$F$2:$F$6;$G$2:$G$6;"Not paid")INV-102 no tiene pago, así que C3 dice Not paid. INV-105 se pagó con 140 en lugar de 150, así que D6 también es FALSE. El último argumento de BUSCARX (XLOOKUP en inglés), "Not paid", sustituye el #N/A que daría un valor que falta. BUSCARX necesita Excel 2021 o Microsoft 365; en Excel 2019 usa =SI.ERROR(BUSCARV(A2;$F$2:$G$6;2;FALSO);"Not paid"). La página de BUSCARX tiene los demás argumentos.
Listar los valores que faltan en la otra columna
En lugar de una columna de VERDADERO y FALSO, FILTRAR puede devolver los valores que faltan como una lista. CONTAR.SI(B2:B8;A2:A8) con un rango como segundo argumento cuenta a la vez cada valor de A, y FILTRAR se queda con los que tienen un conteo de 0.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | January | February | Not in February | |
| 2 | Ana | Dan | ||
| 3 | Ben | Fay | ||
| 4 | Cara | Ana | ||
| 5 | Dan | Gus | ||
| 6 | Eve | Hal | ||
| 7 | Fay | Ivy | ||
| 8 | Gus | Ben |
Tu turno: En D2, lista los clientes de enero que no están en la lista de febrero.
La respuesta derrama Cara y Eve. =FILTRAR(A2:A8;ESNOD(COINCIDIR(A2:A8;B2:B8;0))) también funciona. Si todos los clientes volvieron, FILTRAR devuelve #CALC!; añade un tercer argumento para ese caso: =FILTRAR(A2:A8;CONTAR.SI(B2:B8;A2:A8)=0;"None"). FILTRAR necesita Excel 2021 o Microsoft 365. Consulta FILTRAR para más condiciones.
Resaltar las diferencias entre dos columnas
Las fórmulas de arriba también funcionan como reglas de formato condicional. Selecciona la primera lista, ve a Inicio > Formato condicional > Nueva regla > Utilice una fórmula que determine las celdas para aplicar formato y escribe la fórmula para su primera celda. Aquí A2:A8 recibe =CONTAR.SI($B$2:$B$8;A2)=0 y B2:B8 recibe =CONTAR.SI($A$2:$A$8;B2)=0: cada nombre que está en una sola de las listas se colorea.
| A | B | |
|---|---|---|
| 1 | January | February |
| 2 | Ana | Dan |
| 3 | Ben | Fay |
| 4 | Cara | Ana |
| 5 | Dan | Gus |
| 6 | Eve | Hal |
| 7 | Fay | Ivy |
| 8 | Gus | Ben |
Cara y Eve se colorean en enero, Hal e Ivy en febrero. Para dos columnas que deberían coincidir fila a fila, la regla es =$A2<>$B2 en las dos columnas, como en la primera tabla de esta página. Para colorear en cambio los nombres que están en las dos listas, usa >0, como en la página de resaltar duplicados.
Por qué valores idénticos aparecen como distintos
La razón más frecuente es un espacio que no se ve: Ana con un espacio al final no es igual a Ana. Los datos pegados desde otro sistema o una página web suelen traerlos. Compara los valores recortados.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Name | Other list | Equal? | Trimmed |
| 2 | Ana | Ana | FALSE | TRUE |
| 3 | Ben | Ben | TRUE | TRUE |
| 4 | Cara | Cara | FALSE | TRUE |
| 5 | Dan | Dan | TRUE | TRUE |
=A2=B2La columna C dice que las filas 2 y 4 son distintas; la columna D, después de que ESPACIOS (TRIM en inglés) quite los espacios de los dos extremos, dice que las cuatro coinciden. La otra razón habitual es un número guardado como texto en una columna y un número de verdad en la otra: 101 y '101 se ven iguales, pero la comparación = de Excel devuelve FALSO, y COINCIDIR, BUSCARV y BUSCARX no encuentran uno en el otro. CONTAR.SI es la excepción: lee el texto que parece un número como ese número, así que los cuenta como iguales. Un triángulo verde en la esquina de la celda marca la versión de texto; conviértela con =VALOR(A2) o =A2*1, o selecciona las celdas y elige Convertir en número en el icono de advertencia.
Preguntas frecuentes
¿Cómo comparo dos columnas en Excel para ver coincidencias?
Fila a fila: escribe =A2=B2 en C2 y cópiala hacia abajo; VERDADERO significa que las dos celdas coinciden. Para comprobar si cada valor de A aparece en cualquier parte de B, usa =CONTAR.SI($B$2:$B$8;A2)>0.
¿Cómo comparo dos columnas y devuelvo un valor de la segunda?
Busca el valor: =BUSCARX(A2;$F$2:$F$7;$G$2:$G$7;"Not found") devuelve el valor que coincide de G, o Not found. En Excel 2019 y anteriores usa =SI.ERROR(BUSCARV(A2;$F$2:$G$7;2;FALSO);"Not found").
¿Comparar dos celdas en Excel distingue mayúsculas?
No. =A2=B2 trata abc y ABC como iguales. Para una comparación que distinga mayúsculas usa =IGUAL(A2;B2), que es VERDADERO solo cuando coinciden todos los caracteres, mayúsculas incluidas.
¿Cómo listo los valores que están en una columna pero no en la otra?
En Excel 365 y 2021, =FILTRAR(A2:A8;CONTAR.SI(B2:B8;A2:A8)=0) derrama cada valor de A2:A8 que no aparece en B2:B8.
¿Por qué Excel dice que dos valores idénticos son distintos?
Normalmente uno de ellos tiene un espacio de más o es un número guardado como texto. Compara =ESPACIOS(A2)=ESPACIOS(B2) para descartar los espacios, y convierte los números en texto con =VALOR(A2) o =A2*1.