基于垂直行/列值格式化单元格

尝试在Excel中创build甘特图。 我有两列A和B( A =开始date, B =结束date)。

在页面顶部(第2行),我有一个列表,其中包含项目的每个date的date(自定义格式为“d”以便于阅读,第1行中的月份名称)

我现在试图应用条件格式规则来转换列中的单元格为特定的颜色(如绿色),如果:

A [此行]中的值大于或等于[this column] 2。

B [此行]中的值小于或等于[this column] 2。

我已经通过几个build议ADDRESS()和INDIRECT()的答案,但我很难得到这个工作。 有什么想法吗?

您可以使用AND来组合条件。 我假设“甘特图”从列C开始,活动行在这里是2。

selectC2和行的其余部分(到31,30或28/29取决于一个月中的天数)。

拉上条件格式与公式,并把:

 =AND(C2>=$A2,C2<=$B2) 

select格式填写绿色,这应该做到这一点

在条件格式中,如果在公式中使用所选内容的第一个单元格,则会自动将其转换为相对公式。

例如,如果使用公式: =A1>5并select单元格A1:B5 ,它将检查每个单元格,看它是否大于5,而不仅仅是单元格A1 (因此会自动为您增加行和列)。 通常这比indirect使用更indirect但有时indirect则是必要的。

因此,使用indirect可以利用row()column()函数。 所以在你的例子中:

A [此行]中的值大于或等于[this column] 2。

B [此行]中的值小于或等于[this column] 2。

会看起来像:

 =AND(INDIRECT("A"&ROW()) >= INDIRECT(CHAR(COLUMN()+64)&"2"), INDIRECT("B"&ROW()) <= INDIRECT(CHAR(COLUMN()+64)&"2")) 

希望有帮助

它适用于我没有ADDRESSINDIRECT 。 这是条件格式中的公式。 如果我必须猜测发生了什么事情,最有可能的是你没有放置正确的锚( $ )。

 =AND(C$2>=$A3,C$2<=$B3)