
为了查看和填写方便,有时我们需要对表格的行进行间隔填充背景色。具体怎么做呢?

这种类型最为常见,即一行有背景色,下一行无色,再下一行又有背景色,如此下去。正常操作有2种方法。
方法1:转成超级表
选中表格区域,点击“套用表格格式”,选一个样式,弹窗勾选含标题,确定即可。也可以选中区域后直接按快捷键Ctrl+T,弹窗勾选含标题,确定,不过样式得完成后才能选择替换。

方法2:条件格式法
选中表格区域(不选标题),点击“条件格式”-新建规则-使用公式确定要设置格式的单元格,粘贴如下公式,并设置格式(填充背景色)-点击确定退出。
=AND($A2<>"",ISEVEN(ROW($A2)))
这个公式的意思是,判断2个条件是否同时成立:条件1为$A2<>"",即A2要不为空;条件2为ISEVEN(ROW($A2)),看A2的行号是不是偶数。同时成立则返回TRUE,就填充颜色。

常见的还有用MOD函数求余,效果一致。
=AND($A2<>"",MOD(ROW($A2),2)=0)
这2种方法各有千秋,超级表法操作非常快,缺点是空白行也着色了,所以有要求的话,通常使用条件格式法。
扩展一下:如果想每2行间隔填充背景色,条件格式的公式该怎么写?
先思考,答案放在本文最后。
这也是常见需求,比如这里隔天填色。因为每天的订单数不一致,所以不好再用行号来判断了,得换个方法。
方法1:构造辅助列编号
这个方法的目的是让每组有不同的编号,再判断编号是否为偶数。
辅助列A2=(B2<>B1)+N(A1),下拉复制到最后一行。B2<>B1部分,意思是如果B2不等于B1,返回FALSE,即0;如果B2等于B1,则返回TRUE,即1。N(A1)是将A1转换成数值,因是文本,所以就返回0;是数值的,就会返回其本身,如N(A2)返回1。

此公式与=(B2<>B1)+MAX(A$1:A1)效果相同。
此时,条件格式的公式:
=AND($A2<>"",ISEVEN($A2))
方法2:构造辅助列编号-双编号
方法1构造的编号只能看到多少组,每组内多少个订单是不能直接看出来的,为了能一眼看出来,我们可以修改下A2的公式:
A2=(B2<>B1)+INT(N(A1))+COUNTIF(B$2:B2,B2)/100

这样每天内的订单数扫一眼小数点后面的数就看出来了。输入完记得改一下单元格格式为“常规”,否则显示异常。
条件格式的公式不用变,还是
=AND($A2<>"",ISEVEN($A2))
方法3:无辅助列
也不是所有的表都可以用辅助列的,对于OFFICE2021或365来说,可以用UNIQUE函数来帮忙,直接选中表格区域(不选标题),点击“条件格式”-新建规则-使用公式确定要设置格式的单元格,粘贴如下公式,并设置格式(填充背景色)-点击确定退出。
=ISEVEN(MATCH($A2,UNIQUE($A$2:$A20),0))

以上为常见的间隔行填充背景色的操作方法。现在揭晓前面的问题答案:如果想每2行间隔填充背景色,条件格式的公式变为:
=AND($A2<>"",ISEVEN(INT(ROW(A2)/2)))
或=AND($A2<>"",ISEVEN(INT((ROW(A2)-2)/2)))
后面的更通用些。隔3行,则用
=AND($A2<>"",ISEVEN(INT((ROW(A2)-2)/3)))
