1.概述
1.1 应用场景
若对表格设置了隔行变色,又设置了分栏,可能会出现变色错位的情况,希望实现同行变色对齐。如下图所示:
1.2 实现思路
在「条件格式」中利用「公式」实现。
先根据分栏列数和数据总数判断出需要特殊处理的栏位,对需要特殊处理的奇数行栏位进行处理,最后符合条件的行进行隔行变色。
2. 示例
示例数据:销量.xlsx
2.1 创建分析表
下载并上传示例数据,将数据添加至项目中,如下图所示:
2.2 新建复杂表格
点击添加按钮,选择「复杂表格」,如下图所示:
2.3 设计复杂表格
1)A1~A3 单元格输入文本,A2~C2 单元格拖入相应的数据列,如下图所示:
2)A2 单元格数据设置为列表,如下图所示:
2.4 设置行分栏
设置行分栏,分栏成 2 列,分栏数据为:A2:C2,复制行序列为 1 ,如下图所示:
2.5 设置条件格式
选中 A2 单元格,点击右侧属性面板添加一个条件格式,选择类型为「背景」,颜色为「蓝色」,作用于「当前行」。设置条件为「公式」,输入公式为:
ROUNDUP(COUNT(A2[!0])/2,0)%2<>0&&(&A2+(1-ROUNDUP(&A2/ROUNDUP(COUNT(A2[!0])/2,0),0)%2))% 2=0||ROUNDUP(COUNT(A2[!0])/2,0)%2=0&&&A2%2=0
注:公式由 4 个条件组成,公式之间使用 && 和 || 连接,按从左往右执行计算,当报表满足公式一时,按公式二显示背景色,当报表满足公式三时,按公式四显示背景色。
公式说明如下表所示:
分类 | 公式 | 说明 |
---|---|---|
公式一 | A2[!0] | A2 扩展出来的所有单元格 |
COUNT(A2[!0]) | 统计当前数据的总行数 | |
COUNT(A2[!0])/2 | 将总行数除以分栏的列数 2,表示每栏的行数 | |
ROUNDUP(COUNT(A2[!0])/2,0) | 向上取整,确保每栏的行数为整数 | |
ROUNDUP(COUNT(A2[!0])/2,0)%2<>0 | 计算结果被 2 整除余数不等于 0,表示该栏的行数为奇数 | |
公式二 | ROUNDUP(&A2 / ROUNDUP(COUNT(A2[!0])/2,0),0) | 计算当前行号所在的栏数 |
1-ROUNDUP(&A2/ROUNDUP(COUNT(A2[!0])/2,0),0)%2 | 根据栏数的奇偶性调整偏移量 | |
&A2+(1-ROUNDUP(&A2/ROUNDUP(COUNT(A2[!0])/2,0),0)%2) | 将当前行号与偏移量相加 | |
(&A2+(1-ROUNDUP(&A2/ROUNDUP(COUNT(A2[!0])/2,0),0)%2))% 2=0 | 判断调整后的行号是否为偶数 | |
公式三 | ROUNDUP(COUNT(A2[!0])/2,0)%2=0 | 计算结果被 2 整除余数等于 0,表示该栏的行数为偶数 |
公式四 | &A2%2=0 | 判断当前行号是否为偶数 |
步骤如下图所示:
2.6 效果预览
预览表格,行分栏隔行变色实现了同行变色对齐,如下图所示: