Formato condicional por día de la semana

21

¿Cómo puedo formatear celdas condicionalmente en las hojas de cálculo de Google que contienen fechas para tener un fondo diferente de acuerdo con el día de la semana, por ejemplo, resaltar los sábados y domingos en una columna que contenga los días del mes?

Mike Ellis
fuente

Respuestas:

13

Había estado luchando con esto durante mucho tiempo, pero finalmente lo resolví:

Use el formato condicional en la columna con las fechas y escriba lo siguiente como una fórmula personalizada:

=or(WEEKDAY(A1)=1,WEEKDAY(A1)=7)

donde A1es la primera fecha en la columna

Esto aplicará el formato condicional a todos los días de la semana con un valor de 1 (domingo) y 7 (sábado).

aej
fuente
2
Esta es una buena solución, gracias. Lo estoy aceptando Para mi uso, lo he adaptado para excluir celdas en blanco: =and(not(isblank(A1)), or(WEEKDAY(A1)=1,WEEKDAY(A1)=7))
Mike Ellis
Buena adición con el no isblank. Lo había estado usando de una manera donde solo lo usé para el rango que contiene las fechas, por ejemplo, A1: A31. También lo cambié de usar> y <a = como lo hiciste. Es un poco más sencillo de esa manera. Supongo que comencé esperando la numeración de los días laborables más como en mi país, donde el lunes sería 1 y el domingo sería 7. No sé si este es el caso si se cambia la configuración del país.
aej
14

Fácil (¡pero un poco tedioso!) En las nuevas Hojas de cálculo de Google. Para el formato condicional se requiere una nueva regla para cada color, aproximadamente. (Por lo general, se puede omitir un color de las reglas y, en su lugar, aplicarlo con el formato normal, lo que se anularía cuando se aplique cualquiera de las condiciones para la FQ). Por lo tanto, espere repetir los conceptos básicos de lo siguiente al menos cinco veces.

Digamos que la columna de fechas es A. Selecciónela, Formato> Formato condicional ..., La fórmula personalizada es e ingrese:

=weekday(A1)=1  

Elija el formato requerido.

La final 1anterior es para el domingo, otros días siguen en orden numérico.

Repita para los otros formatos requeridos, ajustando 1según sea necesario.

Debido a que estas reglas no entran en conflicto (cada fecha es solo un día específico de la semana), el orden en que se agregan las reglas (con " + Agregar otra regla ") no importa.

nueces
fuente
44
Sobre la base de esto, una forma más simple sería hacerlo =WEEKDAY(A1,2)>5: esto afectará tanto el sábado como el domingo y solo requerirá una regla
FuriousGeorge el
1
Eso hizo el truco. ¡Gracias!
Joshua Dance
5

Si las fechas están en la columna A, selecciónelas, luego haga: Formato > Formato condicional ... > Formato de celdas si ... > Fórmula personalizada y coloque

=and(isblank(A:A)=false, or(weekday(A:A)=1, weekday(A:A)=7))

Alguna explicación:

weekday(A:A)devuelve 1-7 , para el día de la semana, y or(weekday(A:A)=1, weekday(A:A)=7)devuelve verdadero , si es domingo ( 1 ) o sábado ( 7 ).

Esto funcionaría solo, pero por alguna razón el día de la semana () en una celda vacía devuelve 7 , por lo que isblank(A:A)=falsetambién verifica si la celda está vacía. Ahora colorea una celda si está a la vez (no vacía) y (sol o sat)

También pongo A:A, ya A1que daría resultados de compensación si el rango de formato no comenzara en la parte superior (por ejemplo, en A5:A100lugar de A1:A100)

Créditos a las nueces!

Emerson Peters
fuente
4

Esto es posible con un script. Vaya a HerramientasEditor de secuencias de comandos ... y pegue esta secuencia de comandos:

function onEdit(e) {
  var cell = e.range.getCell(1, 1);
  var val = cell.getValue();
  if ((val instanceof Date) && (val.getDay() == 0 || val.getDay() == 6)) {
    cell.setBackground("red");
  } else {
    cell.setBackground("white");
  }
}

Guarde el script (asigne un nombre al proyecto) y vuelva a su hoja de cálculo.

Ahora, cada vez que edite una celda, este script verificará si ingresó una fecha y si la fecha que ingresó es domingo o sábado. Si es así, el fondo de la celda cambiará a rojo. Si no es una fecha o no es el fin de semana, el fondo cambiará a blanco.

Hay otros nombres de colores que puede usar, o puede usar un código hexadecimal para especificar un color diferente.

William Jackson
fuente
Gracias William. Aunque el código parece razonable, por alguna razón, no funciona como se esperaba. Convierte los días pares en rojo y los días impares en blanco.
Mike Ellis
Cambié la prueba en la ifdeclaración para ser más directo. ¿Funciona ahora?
William Jackson