Estoy buscando la fórmula para la celda resaltada de la hoja de cálculo de Google si el valor está duplicado en la misma columna
¿Alguien puede ayudarme con esta consulta?
google-sheets
gs-conditional-formatting
usuario3331309
fuente
fuente
=COUNTIFS(A:A; A1; B:B; B1)>1
;
resulta en un error de "fórmula no válida" para mí. Solo quitarlo hizo el truco. También tenga cuidado: la celda que especifique como segundo argumento delcountif
debería ser la primera celda del rango que seleccione.=countif(B:B,B2)>1
. Esto le permite a uno hacer un formateo bastante avanzado cuando usa referencias de celda absolutas versus relativas.Si bien la respuesta de zolley es perfectamente correcta para la pregunta, aquí hay una solución más general para cualquier rango, más una explicación:
Tenga en cuenta que en este ejemplo utilizaré el rango
A1:C50
. ¡El primer parámetro ($A$1:$C$50
) debe reemplazarse con el rango en el que desea resaltar duplicados!para resaltar duplicados:
Format
>Conditional formatting...
Apply to range
, seleccione el rango al que se debe aplicar la regla.Format cells if
, seleccioneCustom formula is
en el menú desplegable.Por que funciona
COUNTIF(range, criterion)
, Comparará cada célula enrange
lacriterion
que se procesa de manera similar a las fórmulas. Si no se proporcionan operadores especiales, comparará cada celda del rango con la celda dada y devolverá el número de celdas que coinciden con la regla (en este caso, la comparación). Estamos usando un rango fijo (con$
signos) para que siempre veamos el rango completo.El segundo bloque,
INDIRECT(ADDRESS(ROW(), COLUMN(), 4))
devolverá el contenido actual de la celda. Si esto se colocó dentro de la celda, los documentos habrán llorado por la dependencia circular, pero en este caso, la fórmula se evalúa como si estuviera en la celda, sin cambiarla.ROW()
yCOLUMN()
devolverá 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 (esto se basa en 1, por ejemplo,B3
devolverá 3 paraROW()
y 2 paraCOLUMN()
).Luego usamos:
ADDRESS(row, column, [absolute_relative_mode])
para traducir la fila numérica y la columna a una referencia de celda (comoB3
. Recuerde, mientras estamos dentro del contexto de la celda, no sabemos su dirección O contenido, y necesitamos el contenido para poder compararlo). El tercer parámetro se encarga del formato y4
devuelve los meINDIRECT()
gusta del formato .INDIRECT()
, tomará una referencia de celda y devolverá su contenido. En este caso, el contenido actual de la celda. Luego, de vuelta al inicio,COUNTIF()
probará cada celda del rango contra la nuestra y devolverá el recuento.El último paso es hacer nuestra fórmula devuelve un valor booleano, por lo que es una expresión lógica:
COUNTIF(...) > 1
. Se> 1
usa porque sabemos que hay al menos una celda idéntica a la nuestra. Esa es nuestra célula, que está en el rango, y por lo tanto se comparará con ella misma. Entonces, para indicar un duplicado, necesitamos encontrar 2 o más celdas que coincidan con las nuestras.Fuentes:
fuente
*
) y otra verificación, de manera similar((COUNTIF(...))*(NOT(ISBLANK(INDIRECT(...current cell...)))))
. Eso es lo mejor que puedo hacer en dispositivos móviles. :)$A$1:$C$50
, de acuerdo con las columnas en cuestión. Me gusta más este enfoque genérico que el de Zolley.La respuesta de @zolley es correcta. Simplemente agregue un Gif y pasos para la referencia.
Format > Conditional formatting..
Format cells if..
=countif(A:A,A1)>1
en campoCustom formula is
A
con su propia columna.fuente
Hice exactamente lo que propuso Zolley , pero debería hacerse una pequeña corrección: use "La fórmula personalizada es" en lugar de "El texto contiene" . Y luego el renderizado condicional funcionará.
fuente
Text Contains
, por lo que generalmente es en lo que un usuario haría clic para acceder al menú desplegable.Resalte duplicados (en la columna C):
Explicación:
C1
Aquí no se refiere a la primera fila en C. Debido a que esta fórmula se evalúa mediante una regla de formato condicional, en cambio, cuando se verifica la fórmula para ver si se aplica,C1
efectivamente se refiere a la fila que se está evaluando actualmente. ver si se debe aplicar el resaltado. (¡ Entonces es más comoINDIRECT(C &ROW())
si eso significara algo para ti! ). Esencialmente, cuando se evalúa una fórmula de formato condicional, todo lo que se refiere a la fila 1 se evalúa contra la fila con la que se ejecuta la fórmula. ( Y sí, si usa C2, entonces le pide a la regla que verifique el estado de la fila inmediatamente debajo de la que se está evaluando actualmente ) .Entonces, esto dice, cuente las ocurrencias de lo que esté en
C1
(la celda actual que se está evaluando) que está en toda la columnaC
y si hay más de 1 de ellas (es decir, el valor tiene duplicados) entonces: aplique el resaltado ( porque la fórmula , en general, evalúa aTRUE
).Resalte solo el primer duplicado:
Explicación: Esto solo se resalta si ambas
COUNTIF
sonTRUE
(aparecen dentro de unaAND()
).El primer término a evaluar (el
COUNTIF(C:C, C1) > 1
) es exactamente el mismo que en el primer ejemplo; esTRUE
solo si lo que está dentroC1
tiene un duplicado. ( Recuerde queC1
efectivamente se refiere a la fila actual que se verifica para ver si debe resaltarse ).El segundo término (
COUNTIF(C$1:C1, C1) = 1
) es similar pero tiene tres diferencias cruciales:No busca en toda la columna
C
(como lo hace la primera:)C:C
sino que comienza la búsqueda desde la primera fila:C$1
(lo$
obliga a mirar literalmente en la fila1
, no en la fila que se está evaluando).Y luego detiene la búsqueda en la fila actual que se está evaluando
C1
.Finalmente lo dice
= 1
.Por lo tanto, solo será
TRUE
si no hay duplicados por encima de la fila que se está evaluando actualmente (lo que significa que debe ser el primero de los duplicados).Combinado con ese primer término (que solo será
TRUE
si esta fila tiene duplicados), esto significa que solo se resaltará la primera aparición.Resalte el segundo y más duplicados:
Explicación: La primera expresión es la misma de siempre (
TRUE
si la fila evaluada actualmente es un duplicado).El segundo término es exactamente el mismo que el último, excepto que se niega: tiene un
NOT()
alrededor. Entonces ignora la primera ocurrencia.Finalmente, el tercer término recoge los duplicados 2, 3, etc.,
COUNTIF(C1:C, C1) >= 1
comienza el rango de búsqueda en la fila evaluada actualmente (laC1
en elC1:C
). Luego, solo se evalúa paraTRUE
(aplicar resaltado) si hay uno o más duplicados debajo de este (e incluido este):>= 1
(no debe ser>=
solo, de lo>
contrario, se ignorará el último duplicado).fuente
Probé todas las opciones y ninguna funcionó.
Solo los scripts de aplicaciones de Google me ayudaron.
fuente: https://ctrlq.org/code/19649-find-duplicate-rows-in-google-sheets
En la parte superior de su documento
1.- ir a herramientas> editor de script
2.- establece el nombre de tu script
3.- pegue este código:
4.- guardar y correr
En menos de 3 segundos, mi fila duplicada estaba coloreada. Simplemente copie el guión.
Si no conoce los scripts de aplicaciones de Google, estos enlaces pueden serle de ayuda:
https://zapier.com/learn/google-sheets/google-apps-script-tutorial/
https://developers.google.com/apps-script/overview
Espero que esto ayude.
fuente