反馈已提交

网络繁忙

类excel功能绝对引用单元格下拉拖动计算

  • 文档创建者:yiyemeiying
  • 历史版本:7
  • 最近更新:Kevin-s 于 2019-06-02
  • 1. 描述

    大家都知道 Excel 功能非常强大,但是 FineReport 中有些 Excel 功能是无法实现的;比如一计算公式:E3*F1,我想要实现 E3 列单元格递增而 F1 单元格不变动 的计算时,Excel 中用单元格绝对引用(=E3*$F$1)很容易实现的,但是 FineReport 直接下拉拖动是无法实现的。如果直接拖拽,单元格会随着递增,如图所示:

    222

    正确的效果:

    222


    2. 思路

    这个问题本质上是公式自动扩展问题。其实FR只是支持 Excel 的常用公式,Excel 公式非常多,并不是完全支持的。 既然这里=E3*F1 进行拖拽后,会自动增长行列序号。 那么让F1是个计算的结果而不是个单元格就可以了。


    3. 解决方案

    利用 eval 公式只返回计算结果而不是单元格就行;我们可以在 G3 单元格输入公式:= E3 *eval("F" + "1")

    222

    在公式执行前,+ 这个运算符不执行,所以公式里不存在 F1 单元格,所以纵向拖拽这个公式即可。

    注:由于这里计算公式里F1是通过 eval 的计算结果,假设这里是填报,比如F1单元格的值是个文本框,值修改之后, G3/G4/G5/G6 的计算结果不会动态联动改变的


    4. 预览效果

    保存后,点击分页预览,即可看到如上描述中的效果。


    附件列表


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

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

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

    不再提示

    10s后关闭

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