反馈已提交

网络繁忙

序号

  • 文档创建者:文档助手1
  • 历史版本:22
  • 最近更新:Aaron.Wu 于 2026-06-05
  • 1. 概述

    本文主要介绍设置序号常用的函数seq() row() ,并汇总了对数据进行编号的不同方案。

    2. seq()

    1)概述

    seq() 返回整个报表执行过程中该函数的执行次数。

    2)示例

    seq() 在第一次执行时,结果为 1,第二次执行时,结果为 2。如果一张模板中出现多个 seq(),则计算结果会累计。

    如果 seq() 中带了非单元格参数,则表示不同的公式。例如,seq(1) 和 seq(2) 即表示不同的公式,在同一张模板中出现时,计算结果不会被累计。

    3)其他说明

    seq(cell)指在指定 cell 单元格组内的 seq 函数被执行的次数。

    例如, seq(A2) 为计算在 A2 单元格组内,该函数被执行的次数。

    注:seq() 计算行序号时有上限值,最大的序号值不得大于 2047。

    4)应用场景

    • 生成序号:常用于为报表数据生成连续的序号。

    • 数据去重:计算指定对象出现的次数,例如seq($$$) == 1表示只出现 1 次的数据。

    • 生成数据库主键:与 Oracle 数据库的序列号功能类似,可用于生成数据库主键,方便报表在不同数据库间移植。

    • 分页控制:结合取余运算实现填报分页,例如seq() % 200 = 0表示每 200 行分一页。

    3. row()

    1)概述

    row() 返回当前单元格的行号

    2)示例

    如果当前单元格为 A5,在 A5 中写入公式row()则返回 5。

    如果当前单元格为 B8,在 B8 中写入公式row()则返回 8。

    3)应用场景

    • 隔行/列设置背景色:利用行号的奇偶性来设置不同的背景色,实现斑马线效果。

    • 扩展后排序重新编号:在对报表进行扩展后排序时,直接使用seq()可能会导致序号乱序,此时可以使用row()-1来获取正确的序号。

    • 分页控制:用于填报分页,例如(row() - 1) % 200 = 0表示每 200 行分一页。

    注:此公式中的 -1 是因为有一行为表头标题,所以需要减去不参与计算,实际应用时请根据自己的报表表头的行数进行减行。

    4. 索引

    帮助文档
    应用场景效果预览
    组内序号
    希望在每一个分组内对数据进行编号

    1)一个分组示例

    21.jpg

    2)两个分组示例

    25.jpg

    行序号
    希望对所有数据行统一编号,有多少行数据最终序号就是多少22.jpg
    字母序号
    希望实现用字母进行编号23.jpg
    多级序号
    希望根据多列数据生成多级序号24.jpg
    每页序号重新开始
    希望分页预览报表时,每一页的序号计数重新从 1 开始计算25.gif



    附件列表


    主题: 报表专题
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持