Умовно форматувати по днях тижня


21

Як я можу умовно форматувати клітинки в електронних таблицях Google, що містять дати, мати різний фон відповідно до дня тижня, наприклад, виділити суботу та неділю у стовпці, що містить дні місяця?

Відповіді:


13

Я довго боровся з цим, але нарешті зламав це:

Використовуйте умовне форматування в стовпчику з датами та введіть таке як власну формулу:

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

де A1перша колонка.

Це застосовуватиме умовне форматування до всіх будних днів зі значенням 1 (неділя) та 7 (субота).


2
Це хороше рішення, дякую. Я приймаю це. Для мого використання я адаптував його, щоб виключати порожні клітини: =and(not(isblank(A1)), or(WEEKDAY(A1)=1,WEEKDAY(A1)=7))
Майк Елліс

Приємне доповнення з не isblank. Я використовував його таким чином, коли я використовував його лише для діапазону, що містить дати, наприклад, A1: A31. Я також змінив це з використанням> і <на = як ви. Це трохи прямо прямо вперед. Я думаю, я почав сподіватися, що число днів у будній день буде більше, як у моїй країні, де понеділок буде 1, а неділя - 7. Я не знаю, чи так це, якщо зміниться налаштування країни.
aej

14

Легко (але трохи нудно!) У нових Google Таблицях. Для умовного форматування потрібне нове правило для кожного кольору, приблизно. (Один колір зазвичай може бути пропущений із правил і замість цього застосований із звичайним форматуванням - що було б перекрито, якщо застосовується будь-яка умова для CF.) Тому очікуйте повторити основи наступного принаймні п’ять разів.

Скажіть, що стовпець дат є A. Виберіть його, Формат> Умовне форматування ..., Спеціальна формула - і введіть:

=weekday(A1)=1  

Виберіть необхідне форматування.

Фінал 1вище - у неділю, інші дні - у числовому порядку.

Повторіть для інших необхідних форматів, коригуючи 1необхідні.

Оскільки ці правила не суперечать (кожна дата - це лише один конкретний день тижня), порядок додавання правил (із " + Додати інше правило ") не має значення.


4
Виходячи з цього, було б зробити простіший спосіб - це стосується =WEEKDAY(A1,2)>5і суботи, і неділі, і потрібно лише одне правило
FuriousGeorge

1
Це зробило трюк. Спасибі!
Танець Джошуа

5

Якщо дати в колонці A, виберіть їх, а потім виконайте: Формат > Умовне форматування ... > Форматування комірок, якщо ... > Спеціальна формула та поставте

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

Деякі пояснення:

weekday(A:A)повертається 1-7 , для дня тижня, і or(weekday(A:A)=1, weekday(A:A)=7)повертає істину , якщо це неділя ( 1 ) або субота ( 7 ).

Це може працювати самостійно, але чомусь будній день () на порожній комірці повертає 7 , тому isblank(A:A)=falseтакож перевіряє, чи клітина порожня. Тепер він забарвлює клітинку, якщо вона є і (не порожній), і (сонце чи сб)

Я також зазначаю A:A, як A1це дало б результати зсуву, якби діапазон формату не починався вгорі (наприклад, A5:A100замість A1:A100)

Кредити на горіхи!


4

Це можливо за допомогою сценарію. Перейдіть до Інструменти Редактор сценаріїв ... та вставте цей сценарій:

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");
  }
}

Збережіть сценарій (дайте назву проекту) та поверніться до своєї електронної таблиці.

Тепер, кожного разу, коли ви редагуєте комірку, цей скрипт перевірятиме, чи вводили ви дату, чи дата, яку ви ввели, - неділя чи субота. Якщо так, фон комірки зміниться на червоний. Якщо це не дата або він не у вихідні, фон зміниться на білий.

Є інші назви кольорів , які можна використовувати, або ви можете використовувати шістнадцятковий код , щоб вказати інший колір.


Спасибі, Вільям. Хоча код виглядає розумним, чомусь він не зовсім працює, як очікувалося. Він перетворюється на парні дні червоними, а непарні дні - білими.
Майк Елліс

Я змінив тест у ifтвердженні на більш простий. Чи працює це зараз?
Вільям Джексон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.