Como posso formatar condicionalmente as células nas planilhas do Google que contêm datas com um plano de fundo diferente de acordo com o dia da semana, por exemplo, realçar os sábados e domingos em uma coluna que contém os dias do mês?
Como posso formatar condicionalmente as células nas planilhas do Google que contêm datas com um plano de fundo diferente de acordo com o dia da semana, por exemplo, realçar os sábados e domingos em uma coluna que contém os dias do mês?
Respostas:
Eu estava lutando com isso por um longo tempo, mas finalmente resolvi:
Use a formatação condicional na coluna com as datas e digite o seguinte como uma fórmula personalizada:
=or(WEEKDAY(A1)=1,WEEKDAY(A1)=7)
onde A1
é a primeira data na coluna.
Isso aplicará a formatação condicional a todos os dias da semana com o valor 1 (domingo) e 7 (sábado).
Fácil (mas um pouco tedioso!) Nas novas Planilhas Google. Para a Formatação Condicional, é necessária uma nova regra para cada cor, aproximadamente. (Geralmente, uma cor pode ser pulada das regras e aplicada com formatação normal - que seria substituída quando qualquer uma das condições do CF se aplica.) Portanto, repita o básico do seguinte pelo menos cinco vezes.
Digamos que a coluna de datas seja A. Selecione, Formatar> Formatação condicional ..., Fórmula personalizada e digite:
=weekday(A1)=1
Escolha a formatação necessária.
A final 1
acima é para domingo, outros dias seguem em ordem numérica.
Repita para os outros formatos necessários, ajustando-os 1
conforme necessário.
Como essas regras não entram em conflito (cada data é apenas um dia específico da semana), a ordem na qual as regras são adicionadas (com " + Adicionar outra regra ") não importa.
=WEEKDAY(A1,2)>5
- Este vai bater sábado e domingo e requerem apenas uma regra
Se as datas estiverem na coluna A, selecione-as e faça: Formatar > Formatação condicional ... > Formatar células se ... > Fórmula personalizada e colocar
=and(isblank(A:A)=false, or(weekday(A:A)=1, weekday(A:A)=7))
Alguma explicação:
weekday(A:A)
retorna 1-7 , para o dia da semana, e
or(weekday(A:A)=1, weekday(A:A)=7)
retorna true , se for domingo ( 1 ) ou sábado ( 7 ).
Isso funcionaria por si só, mas por algum motivo o dia da semana () em uma célula vazia retorna 7 , isblank(A:A)=false
também verifica se a célula está vazia. Agora, colorirá uma célula se estiver ao mesmo tempo (não vazia) e (sol ou sentado)
Eu também coloquei A:A
, como A1
daria resultados de deslocamento se o intervalo de formato não começar no topo (por exemplo, em A5:A100
vez de A1:A100
)
Créditos para nozes!
Isso é possível com um script. Vá para Ferramentas → Editor de scripts ... e cole neste script:
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");
}
}
Salve o script (dê um nome ao projeto) e volte para sua planilha.
Agora, toda vez que você edita uma célula, esse script verifica se você inseriu uma data e se a data inserida é domingo ou sábado. Nesse caso, o fundo da célula mudará para vermelho. Se não for uma data ou não for no fim de semana, o fundo mudará para branco.
Existem outros nomes de cores que você pode usar ou pode usar um código hexadecimal para especificar uma cor diferente.
if
declaração para ser mais direto. Isso funciona agora?
=and(not(isblank(A1)), or(WEEKDAY(A1)=1,WEEKDAY(A1)=7))