当特定列中的单元格具有特定值时,是否可以在 Excel 2010 中设置条件格式规则以突出显示一行中的所有非空单元格?
我有一份报告,其中每一行都标识了一天。我想将相对于周六和周日的行涂成灰色。日期存储在 C 列中。
我知道如何突出显示 C 列中的单元格,但是如何轻松地将单元格 C 的格式扩展到同一行中相邻的非空单元格?
当特定列中的单元格具有特定值时,是否可以在 Excel 2010 中设置条件格式规则以突出显示一行中的所有非空单元格?
我有一份报告,其中每一行都标识了一天。我想将相对于周六和周日的行涂成灰色。日期存储在 C 列中。
我知道如何突出显示 C 列中的单元格,但是如何轻松地将单元格 C 的格式扩展到同一行中相邻的非空单元格?
这很容易在没有宏且不使用INDIRECT
函数的情况下完成
假设您的数据从第 2 行开始,并且 C 列中的“日”是一个文本值,那么请执行以下操作:
选择整个数据范围,例如 A2:J100
以条件格式应用需要应用于第一行的公式,例如
=AND($C2="Saturday",A2<>"")
如果该行的 col C 是“星期六”并且单元格本身不是空白,那么这将对范围内的所有单元格应用格式。注意 C2 前面需要一个 $ 因为它适用于整个行的 C A2 不需要 $
如果您想将相同类型的格式应用于周六和周日,请使用 OR,即
=AND(OR($C2="Saturday",$C2="Sunday"),A2<>"")
....或者如果 C 列条目是实际日期,则
=AND(WEEKDAY($C2,2)>5,$C2<>"",A2<>"")
请参阅演示了最后一个 CF 公式的示例工作簿
从 John answer in this thread获得灵感,我在条件格式上使用了“间接”函数。
这个公式只有一个问题。当 C 列中的单元格为空时,它将被读取为 7,因此该行将被格式化为星期六。你知道为什么吗?