4

当特定列中的单元格具有特定值时,是否可以在 Excel 2010 中设置条件格式规则以突出显示一行中的所有非空单元格?

我有一份报告,其中每一行都标识了一天。我想将相对于周六和周日的行涂成灰色。日期存储在 C 列中。

我知道如何突出显示 C 列中的单元格,但是如何轻松地将单元格 C 的格式扩展到同一行中相邻的非空单元格?

4

2 回答 2

5

这很容易在没有宏且不使用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 公式的示例工作簿

于 2013-11-08T13:12:46.780 回答
1

从 John answer in this thread获得灵感,我在条件格式上使用了“间接”函数。

  1. 选择条件格式
  2. 选择新规则
  3. 选择“使用公式确定要格式化的单元格”
  4. 输入公式,=WEEKDAY(INDIRECT("c"&ROW()))=1 # 星期天
  5. 输入所需的格式(文本颜色、填充颜色等)。
  6. 选择确定以保存新格式
  7. 在条件格式中打开“管理规则”
  8. 如果您看不到新规则,请选择“此工作表”。
  9. 在新规则的“适用于”框中,输入 =$A$1:$J$35(或者根据您的工作表,您希望条件格式扩展的宽度/长度)
  10. 再做一次,这次插入公式 =WEEKDAY(INDIRECT("c"&ROW()))=7 # 星期六

这个公式只有一个问题。当 C 列中的单元格为空时,它将被读取为 7,因此该行将被格式化为星期六。你知道为什么吗?

于 2013-11-08T13:03:54.633 回答