Excel:将单元格的背景颜色设置为另一个单元格中的十六进制RGB代码,无需条件格式

问题描述 投票:0回答:1

我正在使用 Excel 制定复杂的旅行行程。该工作簿包括一张工作表,其中以一小时为单位进行可视化表示,其中每列代表一天中的一个时间,每行代表一天。行程中的每个城市都有指定的颜色。我希望工作表上每个单元格的背景颜色反映当前城市,“旅行”单元格(任何时候您不在城市中)为白色。

这是我试图以编程方式获取的手动着色示例:

Sample data

使用条件格式执行此操作是一场噩梦,因为我有许多不同的颜色和条件,并且每次添加或更改城市时都需要编辑规则。使用堆叠条形图进行此操作是行不通的,因为您无法使用公式更改颜色;每次更新时您都必须手动为图表着色。

几乎让它在带有迷你图的Google表格中工作(如果Google允许每个迷你图使用三种颜色而不是只有两种......)但是Excel没有水平条迷你图,你不能轻松地覆盖文本,并且 您无法像在表格中那样通过公式设置 Excel 迷你图颜色。

由于涉及到的某些计算机上的安全设置,我不想使用 VBA,但如果这是唯一的方法,我就会这么做。

excel
1个回答
0
投票

假设您有一张包含出发和到达日期的表格,并且您有实际的日期和时间,以下是使用条件格式的一种方法:

使用以下条件:

=AND(INDEX($AD$2:$AD$6,MATCH($A2,$AB$2:$AB$6,0))<B$1,MOD((ROW()),3)=0)
=AND(INDEX($AD$2:$AD$6,MATCH($A2,$AB$2:$AB$6,0))<B$1,MOD((ROW()),3)=1)
=AND(INDEX($AD$2:$AD$6,MATCH($A2,$AB$2:$AB$6,0))<B$1,MOD((ROW()),3)=2)

=AND(INDEX($AC$2:$AC$6,MATCH($A2,$AB$2:$AB$6,0))>B$1,MOD((ROW()),3)=0)
=AND(INDEX($AC$2:$AC$6,MATCH($A2,$AB$2:$AB$6,0))>B$1,MOD((ROW()),3)=1)
=AND(INDEX($AC$2:$AC$6,MATCH($A2,$AB$2:$AB$6,0))>B$1,MOD((ROW()),3)=2)

其中

$AD$2:AD$6
是包含日期的列,
B$1
是第一个包含时间的单元格。

备注:

  • 从一个公式到另一个公式的唯一变化是
    MOD()
    应该等于什么。
  • 您为每个相应的条件应用三种不同的颜色,它们会自动在您的表格中循环

条件: enter image description here

结果(您可以看到右侧到达和出发时间的表格):

enter image description here

编辑:您可能希望根据所需结果将公式编辑为

>=
而不是
>

© www.soinside.com 2019 - 2024. All rights reserved.