Ячейки условного формата в Google Sheets на основе [date] + X - PullRequest
0 голосов
/ 01 октября 2019

Пожалуйста, просмотрите динамический календарь здесь: Пожалуйста, скопируйте и вставьте для тестирования

Я преобразую чек в списке гостей, забронированных в отеле для отдыха, в динамический календарь. (Список / данные выделены серым цветом справа от календаря в общей ссылке выше.)

Свойство пусто в течение нескольких недель, поэтому существуют разрывы между датами регистрации. Выезд рассчитывается от =[check-in]+[Nights]. Критические изменения (CCO) рассчитываются по формуле =IFERROR(IF(AND(VLOOKUP([Check out of departing guest],[Check In_range],1,0),LEN([Check in of departing guest])>0,LEN([Check in of arriving guest])>0),[Check in of departing guest],""),"")

. Можно изменить месяц и год (обведено зеленым цветом ниже), чтобы динамически изменять имена гостей в зависимости от даты прибытия.

Критические изменения были выделены динамически в календаре при изменении месяца (обведено темно-красным цветом ниже).

enter image description here

IТеперь необходимо сделать динамическое условное форматирование, чтобы цвета в ячейках даты (01, 02 и т. д.) автоматически обрабатывали ячейки, если свойство занято (светло-красный) в зависимости от даты прибытия и количества ночей, в течение которых гость останавливается. Каждая дата имеет 3 ячейки: одну слева, одну по центру и одну справа. Есть 3, чтобы помочь определить события, когда гости прибывают / уходят. Лучший способ проиллюстрировать желаемый эффект - рисунок ниже.

enter image description here

Важно отметить, что 14 декабря произошел критический переход, и центральная ячейка закрашена темно-красным цветом.

Какую формулу я могу использовать для динамического изменения цвета?

  1. Должен учитывать критические изменения темно-красного цвета
  2. Если критические изменения не имеют значения, зеленый цвет должен быть доминирующим.

Я изо всех сил пытаюсь придумать способ подсчета дат, когда гости останавливаются в списке справа, и стиля ячеек соответственно.

1 Ответ

1 голос
/ 02 октября 2019

Применение условного форматирования на листе с несколькими объединенными ячейками, расположенными по горизонтали и вертикали на рабочем листе, является кошмаром для начала.

Сказав это, если вы хотите показать некоторое мастерство, вы можете получитьзадание выполнено.

Предположим, у вас есть следующие именованные диапазоны :

  • Start_Date - все даты начала в вашей справочной таблице;
  • End_Date - все даты окончания (Start_Date + Nights) в вашей справочной таблице;
  • CCO - все критические изменениядаты, которые можно найти с помощью следующей формулы, если вы назвали столбцы, как показано ниже в таблице : =IF(MATCH([@[End Date]],[Start Date],0)>0,[@[End Date]],"")

Named Ranges

Затем выполните шаги для настройки условного форматирования. Обратите внимание, что в Excel выполняется следующее, но не на google-листов .

Чтобы настроить форматирование для даты критического перехода, вы можете выделить следующие диапазоны на рабочем листе:=$U$5,$U$12,$U$19,$U$26,$U$33,$U$40, затем используйте следующую формулу в качестве правила форматирования:

=MATCH(V5,CCO,0)>0

Чтобы выделить дни в календаре, вы можете выделить следующие диапазоны на рабочем листе: =$B$5:$D$5,$B$12:$D$12,$B$19:$D$19,$B$26:$D$26,$B$33:$D$33,$B$40:$D$40, а затем использовать следующую формулув качестве правила форматирования:

=COUNTIFS(Start_Date,"<="&$D5,End_Date,">="&$D5)>0

Затем необходимо выделить B5:D40, использовать Format Painter , чтобы скопировать и вставить формат в следующие диапазоны по одному диапазону за раз: E5:G40, H5:J40, K5:M40, N5:P5, Q5:S5

Затем необходимо вручную заменить $D5 в правиле форматирования для каждого диапазона на $G5,$J5, $M5, $P5, $S5.

Форматирование последнего дня (субботы) немного сложнее, поскольку на самом деле есть три отдельных столбца: T, U и V иправила для Column T и Column V различны.

Чтобы настроить форматирование для Column T, необходимо выделить следующие диапазоны: =$T$5,$T$12,$T$19,$T$26,$T$33,$T$40, а затем использовать следующую формулу в качестве правила форматирования:

=COUNTIFS(Start_Date,"<="&$S5,End_Date,">="&$S5)>0

Чтобы настроить форматирование для Column Vнеобходимо выделить следующие диапазоны: =$V$5,$V$12,$V$19,$V$26,$V$33,$V$40, а затем использовать следующую формулу в качестве правила форматирования:

=COUNTIFS(Start_Date,"<="&$V5,End_Date,">="&$V5)>0

Форматирование для Column U было объяснено ранее в связи с критическим переключениемдаты.

enter image description here

В вышеприведенной демонстрации я также добавил условное форматирование для критического изменения дат в течение недели, а не только в субботу. ,Если это не нужно, вы можете игнорировать. Если вы также хотите настроить его, вы можете позаимствовать идею настройки форматирования для Column U, выделить соответствующие ячейки в столбцах C, F, I, L, O и R в целом и используйте ту же формулу, но замените V5 на D5.

Дайте мне знать, если у вас есть какие-либо вопросы. Ура :) 1095 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...