1. 概述
1.1 应用场景
直接使用seq( )的方法,分页预览会使序号承接上一页的序号继续递增。
例如,第一页显示了 50 行,第二页序号直接从 51 开始。如下图所示:

希望分页预览表格时,每一页的序号计数重新从 1 开始计算。如下图所示:

1.2 实现思路
1)原有序号虽然是递增的,但是每一行数据都是唯一的。
2)在原有序号的基础,判断当前序号在本页内的位置,每页即可重新得到从 1 开始的序号。
2. 示例
示例数据:订单明细.xlsx
2.1 创建分析表
下载并上传示例数据,将数据添加至项目中,如下图所示:

2.2 新增复杂表格
点击添加按钮,选择「复杂表格」,如下图所示:

2.3 设计复杂表格
1)C1~H1 单元格输入文本,C2~H2 单元格拖入对应的字段,如下图所示:

2)C2 单元格数据设置为「列表」,如下图所示:

2.4 插入层次坐标公式
1)A2 单元格插入公式:seq(),并将 A2 单元格的左父格自定义为 C2 单元格。如下图所示:

2)B1 单元格输入文本,B2 单元格插入公式:if(COUNT({A2})=1,1,inarray(A2,{A2}))。如下图所示:
注:当一页只有一行时,{A2} 获取到的是一个值,不会当成数组来处理,而 inarray 第二个参数必须是数组,所以需要 if 条件判断。

3)公式说明如下表所示:
| 公式 | 说明 | 
|---|---|
| {A2} | 当前页中 A2 单元格扩展出来的所有值 | 
| COUNT({A2}) | 当前页中 A2 单元格扩展出来的所有值的个数 | 
| inarray(A2,{A2}) | 返回当前 A2 单元格的值在当前页中 A2 单元格扩展出来的所有值的数组中的位置 | 
| if(COUNT({A2})=1,1,inarray(A2,{A2})) | 如果当前页中 A2 单元格只扩展出一个值,返回1;否则返回当前 A2 单元格的值在当前页中 A2 单元格扩展出来的所有值的数组中的位置 | 
4)B2 单元格的左父格自定义为 C2 单元格,如下图所示:

5)隐藏 A 列。如下图所示:

2.5 设置重复标题行
设置第一行重复标题行。如下图所示:

2.6 设置分页
设置分页,勾选「固定行数分页」,每页行数为 50 ,分页单元格为 C2 ,如下图所示:

2.7 效果预览
预览表格,效果如下图所示:


 
  
  	 
             
             上一篇:层次坐标应用之多级序号
上一篇:层次坐标应用之多级序号 
  
             
		         
					 
					 
						 
					 
					