本节书摘来异步社区《Excel 职场手册:260招菜鸟变达人》一书中的第2章,第34节,作者: 聂春霞 , 佛山小老鼠 责编: 王峰松,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第 34 招 每隔N行批量填充颜色
第32招和第33招的隔行填色,只是隔一行,如果需要每隔N行批量指定单元格格式,如何做?比如,每隔5行为一个项目区域,如图1-2-25所示。为了方便辨别每个项目而不是每行,我们需要按照每隔5行的规则填充单元格。
编辑规则“为符合此公式的值设置格式”中输入以下公式=MOD(ROUNDUP(ROW()/5,0),2)=1 (或等于0),挑选合适的格式,单击“确定”按钮,随后输入该条件格式应用范围,本例为=$B$1:$K$30,随后应用,即可得到如图1-2-26所示中格式的单元格。
公式解释:用行号除以5,得到的值针对个位进行向上取整,随后针对该整数对2求余,结果为1的行进行格式变化。也就是说,如行号为1、2、3、4、5,除以5分别得到0.2、0.4、0.6、0.8、1,对它们进行个位的向上取整为1、1、1、1、1;结果对2求余皆为1,因此前5行满足公式全部填充。以此类推,由于6~10行结果对2求余为0,因此不填充。所以当需要每隔N行批量填充时,我们利用行号除以N,将结果圈定在(0,1]、(1,2]、…之间,再用ROUNDUP()函数统一成1、2、…。因此我们应用通用公式=MOD(ROUNDUP(ROW()/N,0),2)=1(或等于0)即可达到每隔N行批量填充的目的。为什么这里不能使用ROUNDDOWN()函数?
让我们用刚才的例子想一下:行号为1、2、3、4、5的行除以5分别得到0.2、0.4、0.6、0.8、1,对它们进行个位的向下取整为0、0、0、0、1,因此对2求余的结果不统一,无法满足我们的填充要求。大家可以在图1-2-27红框中查看使用ROUNDUP()及ROUNDDOWN()函数所得到公式结果的区别,图1-2-28即为使用ROUNDDOWN()函数得到的错误填充结果。关于ROUNDUP和ROUNDDOWN函数功能和用法参考公式与函数篇第9章第128招。