【问题标题】:Conditional format cells in Google Sheets based on [date]+X基于 [日期]+X 的 Google 表格中的条件格式单元格
【发布时间】:2019-09-30 21:08:26
【问题描述】:

请在此处查看动态日历:Please copy and paste for testing

我正在将在度假酒店预订的客人登记入住列表转换为动态日历。 (上面共享链接中日历右侧的列表/数据显示为灰色。)

该物业空置了几个星期,因此一些入住日期之间存在间隔。退房是从=[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],""),"") 计算

可以更改月份和年份(下方绿色圈出)以在每个抵达日期动态更改客人姓名。

如果月份发生变化,重要的变化会在日历中动态突出显示(下方为深红色圆圈)。

我现在需要将条件格式设置为动态的,这样日期单元格中的颜色(01、02 等)会根据入住日期和客人入住的晚数自动设置单元格样式(浅红色)为了。每个日期有 3 个单元格,一个左侧、一个中间和一个右侧。当客人到达/离开时,有 3 个帮助识别事件。说明所需效果的最佳方式来自下图。

重要的是,在 12 月 14 日,进行了一次关键的转换,中心单元格呈深红色阴影。

我可以使用什么公式来动态改变颜色?

  1. 必须考虑深红色的关键转换
  2. 如果关键转换不相关,则应以绿色为主。

我正在努力想出一种方法来计算客人在右侧列表中停留的日期并相应地设置单元格样式。

【问题讨论】:

  • 你使用过哪些条件格式公式?还请展示您在关键转换时想要展示的内容,因为我无法从您的示例图片中看到它。
  • @TerryW 我已经通过在最右边的单元格中添加条件格式作为开始来更新电子表格,但实际上卡在将入住日期与晚数相加。我需要在客人入住日期之间添加 >= 和

标签: google-sheets excel-formula google-sheets-formula conditional-formatting gs-conditional-formatting


【解决方案1】:

在具有多个合并单元格的工作表上应用条件格式在工作表上水平和垂直放置是一场噩梦。

话虽如此,如果你愿意表现出一些手艺,你就可以完成工作。

假设您有以下命名范围

  • Start_Date 是查找表中的所有开始日期;
  • End_Date 是您查找表中的所有结束日期(即Start_Date + Nights);
  • CCO 是所有关键转换日期,如果您在 中将列命名为如下所示,则可以使用以下公式找到:=IF(MATCH([@[End Date]],[Start Date],0)>0,[@[End Date]],"")

然后按照步骤设置条件格式。 请注意以下是在 Excel 中执行的,而不是在 google-sheets 中执行的

要设置关键转换日期的格式,您可以在工作表上突出显示以下范围:=$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,使用格式刷将格式复制并粘贴到以下范围一次一个范围E5:G40,@ 987654333@,K5:M40,N5:P5,Q5:S5

然后您需要手动将每个范围的格式规则中的$D5 替换为$G5,$J5,$M5,$P5,$S5

最后一天(星期六)的格式有点复杂,因为实际上有三个单独的列:T、U 和 V,Column TColumn 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 的格式已在前面解释过与关键更改日期相关的内容。

在上面的演示中,我还为一周内的关键更改日期添加了条件格式,而不仅仅是星期六。如果这不是必需的,您可以忽略。如果您也想进行该设置,可以借用设置 Column U 格式的想法,突出显示 C、F、I、L、O 和 R 列中的相关单元格一并,并使用相同的公式,但将 V5 替换为 D5

如果您有任何问题,请告诉我。干杯:)

【讨论】:

  • 您好,特里,我感到非常内疚,因为我没有澄清入住日期的实时预订表列表实际上包括未占用的周数。我将列表复制并粘贴到一个空白的谷歌表格中,并删​​除了空闲的几周以简化事情,但没有意识到它会影响你花了这么多时间来解决的公式。在您的帮助下,我已成功破解 CCO,现在希望解决日期中显示的红色和绿色/深红色(CCO 指标)。我已经更新了这个问题,基本上现在希望随着应用的月份动态改变颜色。
  • @JamesB 抱歉,这周我的手很忙,但我终于有机会重新审视你的情况。我根据新情况对你的新帖做出了新的回答。我注意到您已经用新的示例工作簿替换了您的示例工作簿,但我的答案仍然基于旧的示例工作簿。我将分享旧的工作簿供您参考。这些想法是相同的,但如果您有任何问题,请随时问我。干杯:)
猜你喜欢
  • 1970-01-01
  • 2020-04-13
  • 2017-02-14
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多