Estoy buscando la fórmula para la hoja de cálculo de Google Resaltar la celda si el valor se duplica en la misma columna.
¿alguien puede ayudarme con esta consulta?
Prueba esto:
Fórmula personalizada es
.=countif(A:A,A1)>1
(o cambie A
por la columna que desee)A1:A100
).Todo lo que se escriba en las celdas A1:A100 se comprobará, y si hay un duplicado (ocurre más de una vez) se coloreará.
Para las localizaciones que utilizan la coma (,
) como separador de decimales, el separador de argumentos es probablemente un punto y coma (;
). Es decir, intente =countif(A:A;A1)>1
, en su lugar.
Para varias columnas, utilice countifs
.
Aunque la respuesta de zolley's es perfectamente correcta para la pregunta, aquí's una solución más general para cualquier rango, más la explicación:
=COUNTIF($A$1:$C$50, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))) > 1
Ten en cuenta que en este ejemplo voy a utilizar el rango A1:C50
.
El primer parámetro ($A$1:$C$50
) debe ser sustituido por el rango en el que desea resaltar los duplicados.
para resaltar los duplicados:
Formato
> Formato condicional...
Aplicar al rango
, seleccione el rango al que se debe aplicar la regla.Formatear celdas si
, selecciona Fórmula personalizada es
en el desplegable.¿Por qué funciona?
COUNTIF(rango, criterio)
, comparará cada celda del rango
con el criterio
, que se procesa de forma similar a las fórmulas. Si no se proporcionan operadores especiales, comparará todas las celdas del rango con la celda dada, y devolverá el número de celdas que se encuentran que coinciden con la regla (en este caso, la comparación). Estamos utilizando un rango fijo (con signos $
) para que siempre veamos el rango completo.
El segundo bloque, INDIRECT(ADDRESS(ROW(), COLUMN(), 4))
, devolverá el contenido de la celda actual. Si esto se colocara dentro de la celda, los documentos habrán llorado sobre la dependencia circular, pero en este caso, la fórmula se evalúa como si estuviera en la celda, sin cambiarla.
Las funciones ROW()
y COLUMN()
devolverán el número de fila y el número de columna de la celda dada respectivamente. Si no se proporciona ningún parámetro, se devolverá la celda actual (está basada en 1, por ejemplo, B3
devolverá 3 para ROW()
, y 2 para COLUMN()
).
Entonces utilizamos: ADDRESS(row, column, [absolute_relative_mode])
para traducir la fila y la columna numérica a una referencia de celda (como B3
. Recuerde que mientras estemos dentro del contexto de la celda, no sabremos su dirección ni su contenido, y necesitaremos el contenido para poder comparar). El tercer parámetro se encarga del formato, y 4
devuelve el formato que le gusta a INDIRECT()
.
Indirect(), tomará una celda *referida* y devolverá su contenido. En este caso, el contenido de la celda actual. Luego, volviendo al principio,
COUNTIF()` comprobará cada celda del rango con la nuestra, y devolverá el recuento.
El último paso es hacer que nuestra fórmula devuelva un booleano, convirtiéndola en una expresión lógica: COUNTIF(...) > 1
. El > 1
se utiliza porque sabemos que hay al menos una celda idéntica a la nuestra. Esa'es nuestra celda, que está en el rango, y por lo tanto será comparada consigo misma. Así que para indicar un duplicado, necesitamos encontrar 2 o más celdas que coincidan con la nuestra.
Fuentes:
En el menú desplegable "El texto contiene" seleccione "La fórmula personalizada es:", y escriba: "=countif(A:A, A1) > 1" (sin las comillas)
Hice exactamente lo que propuso zolley, pero hay que hacer una pequeña corrección: utilizar "La fórmula personalizada es" en lugar de "El texto contiene". Y entonces el renderizado condicional funcionará.