Excel中为不同客户对应的行交替着色(无需宏实现)
Excel中为不同客户对应的行交替着色(无需宏实现)
嘿,别担心!完全不用宏就能搞定这个需求,我给你两个方法,一个新手友好易上手,一个不用加辅助列更清爽,你挑适合自己的来:
方法一:辅助列法(零门槛,所有Excel版本通用)
这个方法用个简单的辅助列标记客户组,绝对不会出错:
- 第一步:在你的数据区域右边加一列(比如AF列,因为你的数据到AE列),用来当辅助列。假设你的表头在第1行,客户数据从第2行开始。
- 第二步:在AF2单元格输入
1,这是第一个客户组的标记号。 - 第三步:在AF3单元格输入公式:
=IF(A3=A2, AF2, AF2+1),按回车就行。这个公式的逻辑很简单:如果当前行的客户和上一行是同一个人,就沿用上面的标记号;如果换了客户,标记号就加1,这样每个客户的所有行都会有同一个编号。 - 第四步:把AF3单元格右下角的填充柄往下拽,直到所有数据行都填充上公式。
- 第五步:选中你要着色的整个数据区域(比如A2:AE32000),点击「开始」选项卡→「条件格式」→「新建规则」。
- 第六步:在弹出的窗口里选「使用公式确定要设置格式的单元格」,然后输入公式:
=MOD(AF2,2)=1。意思是当辅助列的编号是奇数时,就给这一行上色。 - 第七步:点击「格式」按钮,选你喜欢的填充色(比如浅灰、淡蓝都可以),确定之后就大功告成了!
现在你会看到,每个客户的所有行都会统一用一种颜色,下一个客户组自动切换成白色,再下一个又换回你选的颜色,完美区分不同客户的所有服务记录。
方法二:无辅助列法(适合Excel 365/2021版本)
如果你不想加额外的列,而且你的Excel是365或者2021版本(支持UNIQUE函数),可以直接用条件格式公式:
- 第一步:选中整个数据区域(A2:AE32000),打开「条件格式」→「新建规则」→「使用公式确定要设置格式的单元格」。
- 第二步:输入公式:
=MOD(ROWS(UNIQUE($A$2:$A2)),2)=1。这个公式会自动计算从第2行到当前行有多少个不同的客户,然后判断这个数量是奇数还是偶数,奇数就给行上色。 - 第三步:设置好填充颜色,确定就搞定了!
小提示
- 如果你的客户信息不在A列,把公式里的
A换成对应的列号就行(比如客户在C列,就把所有A改成C)。 - 要是想让表头也跟着对应客户组着色,就把选中区域改成
A1:AE32000,然后调整辅助列的公式(比如AF1输入1,AF2的公式改成=IF(A2=A1, AF1, AF1+1))。
备注:内容来源于stack exchange,提问作者alm
相关产品推荐
相关产品推荐

