我对Excel中的条件格式有疑问。
我有一张纸用作我的团队成员的日历,其中日历日期在第1行中,每个人的姓名在A列中。每个人占据3行并没有合并,因此名字在第2至4行中占据,下一个5至7人,依此类推。如果此人在特定的一天不上班,则会在相应的第一行上写上“不在办公室”。假设1月1日占据列B,那么第一个人将不在办公室,那么单元格B2的值将为“不在办公室”。使用条件格式,我可以毫无问题地突出显示B2:B4。但是,我只能对一个人执行此操作。
我想知道是否可以将条件格式公式扩展到所有20个成员,这样我就不必再做19次相同的事情(如果有新成员加入,则更多)。
答案 0 :(得分:1)
因此,如果列B
中的任何单元格包含“不在办公室”,那么该单元格和下面的下两个单元格应进行格式化吗?或者换句话说,如果一个单元格本身或上面的1行或上面的2行包含“不在办公室”,则该单元格应该被格式化?
这可以通过对整列B
使用以下条件格式规则来实现:
基于公式的条件格式设置规则:
=OR(B1="out of office",B1048576="out of office",B1048575="out of office")
背景:在CF中,引用就像轮播一样。所以B1
中的是
=OR(B1="out of office",B1048576="out of office",B1048575="out of office")
将在B2
中,然后
=OR(B2="out of office",B1="out of office",B1048576="out of office")
({B1048576
加1行= B1
)
然后在B3
中
=OR(B3="out of office",B2="out of office",B1="out of office")
答案 1 :(得分:1)
如果您使用条件格式公式,则可以使用以下代码从模式2、5、8、11等的当前或上一行中检索值:>
rhs
将其分解:使用INDEX(A:A, 3*INT((ROW()-2)/3)+2, 1)
和INDEX(A:A
将使我们从列A获得一行(当然,这会随着您的格式化条件而移动)-该行本身是由笨拙地指定的中间乱七八糟:, 1)
将合并内容放入纯文本中:从当前行开始,减去2,将向下向下舍入为3的倍数,然后再次添加2
3 * INT((ROW() - 2) / 3) + 2
所以-您现在可以使用如下公式来应用全列条件格式:
Row | Subtract 2 | Round down to 3 | Add 2
1 | -1 | -3 | -1
2 | 0 | 0 | 2
3 | 1 | 0 | 2
4 | 2 | 0 | 2
4 | 3 | 3 | 5
.. | .... | .... | ..
28 | 26 | 24 | 26
29 | 27 | 27 | 29
30 | 28 | 27 | 29
31 | 29 | 27 | 29
32 | 30 | 30 | 32
它将适用于每列中一次包含3行的块,从第2行(或-1)开始