请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

牛马001

注册会员

1

主题

4

帖子

11

积分

注册会员

积分
11
  • 29

    金币

  • 1

    主题

  • 4

    帖子

最新发帖
牛马001
注册会员   /  发表于:2025-3-21 15:00  /   查看:174  /  回复:10
模版数据源列与函数:

image.png219432372.png
渲染数据后的数据与平均值函数不生效,count也为0:
image.png903652648.png
初次反馈修改后仍然不生效,代码片段:
lQDPKHEtFKmTrf_NAerNBBiwekXvhfq4I2cHv34u1986AA_1048_490.jpg792078246.png
fromJson(data)中的data在附件data.zip
image.png102117613.png
image.png170367430.png

data.zip

37.85 KB, 下载次数: 5

fromJSON(data)中的data

10 个回复

倒序浏览
Wilson.Zhang
超级版主   /  发表于:2025-3-21 15:37:03
沙发
您好!AVERAGE公式可计算多个单元格的均值,如果单元格没有数据,那么该单元格也不参与AVERAGE公式计算。如果单元格中被填充了非数字的字符串文本,也不参与AVERAGE公式计算。

您提供的json数据中E67:E70单元格数据均为“峰面积”,如下图所示,非数字,所以不参与运算。
1742542204732.png921538391.png

那么,AVERAGE(E67:E70)引用的单元格中没有参与运算的单元格,即求和结果是0,而且参与计算的单元格数量也是0。即,平均值计算公式SUM/N中的分母N为0,我们知道除数不能为0,所以运算结果是#DIV/0!。

对E67:E70单元格填充有效数字后,G67单元格中的AVERAGE公式可正常计算,如下图所示:
1742542322358.png234840697.png

在您提供的代码片段图示中,只能看到在反序列化json数据前后使用了挂起/恢复计算服务,这当然可以辅助提升导入效率,但是您的文件中没有正常的可参与运算的数值,相关单元格数据均为文本字符串,就结果而言,符合AVERAGE公式的处理逻辑。

以上结论围绕您初步提供的描述文字、图示和数据综合理解后分析得出,如果与您的实际问题还有偏差,需要您详细介绍下情况。
回复 使用道具 举报
牛马001
注册会员   /  发表于:2025-3-21 16:09:09
板凳
Wilson.Zhang 发表于 2025-3-21 15:37
您好!AVERAGE公式可计算多个单元格的均值,如果单元格没有数据,那么该单元格也不参与AVERAGE公式计算。如 ...


原文中第一张图片是模版设置的数据源,后续会查出数据进行填充,我们主要问题是数据渲染填充后,全是数字的情况下不能进行count。
这是设置的单元格格式,为数值:
image.png187739562.png
当手动编辑将数据源列进行改变,就会识别已经编辑的单元格,如下图将14783.80改成14783.81:
image.png673706054.png
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-21 16:43:38
地板
牛马001 发表于 2025-3-21 16:09
原文中第一张图片是模版设置的数据源,后续会查出数据进行填充,我们主要问题是数据渲染填充后,全是数 ...

导入文件后,在resumeCalcService后执行Worksheet:repaint()方法刷新可见页面上恢复计算后得到的新运算结果。

因为您在导入文件前挂起计算服务时传参为false,那么计算引擎将不忽略对值发生变化的单元格进行标脏,所以在恢复计算服务时能够对这些脏单元格逐一重新计算。
回复 使用道具 举报
牛马001
注册会员   /  发表于:2025-3-21 17:55:58
5#
Wilson.Zhang 发表于 2025-3-21 16:43
导入文件后,在resumeCalcService后执行Worksheet:repaint()方法刷新可见页面上恢复计算后得到的新运算结 ...


增加相关代码后还是不行,以下是代码片段:
image.png395359191.png

并且还发现一个特征,即便重新手动在另外的单元格针对目标列进行平均值函数计算也不行,或者直接复制或剪切相关单元格到另外的列也不能进行平均值函数计算
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-24 13:55:55
6#
本帖最后由 Wilson.Zhang 于 2025-3-24 13:59 编辑
牛马001 发表于 2025-3-21 17:55
增加相关代码后还是不行,以下是代码片段:

参考您提供的图示中的代码片段和json数据,在最新18.0.5版本测试,反序列化json后对sheet中E67:E70单元格填充数据,对应的G67单元格中的数据正是AVERAGE(E67:E70)计算结果,如下图所示:
1742795274564.png519109191.png

修改E67:E70任意中任意单元格数据,G67单元格计算结果同步可更新,如下图所示:
1742795341976.png511223754.png

如您所说的,如果手动对单元格设置了公式、复制公式粘贴至其他单元格等都不能得到计算结果,可以检查下是否设置了手动计算模式。默认情况下,计算模式为自动,而手动计算模式下需要点击工具栏中“开始计算”或“计算工作表”启动计算,如下图所示:
1742795690212.png865766296.png

可以参考官网教程了解计算模式的区别:
计算服务

请教下您使用的具体版本号?如果不是18.0.5版本,可以使用18.0.5版本测试。如果18.0.5版本仍能复现问题,需要您提供下使用的版本号,同时在附件demo中整理能够复现问题的代码。完后将demo回传给我,我根据demo分析。

模板数据计算.html

1.08 MB, 下载次数: 9

回复 使用道具 举报
牛马001
注册会员   /  发表于:2025-3-24 14:37:37
7#
Wilson.Zhang 发表于 2025-3-24 13:55
参考您提供的图示中的代码片段和json数据,在最新18.0.5版本测试,反序列化json后对sheet中E67:E70单元 ...

计算选项是自动的,然后我们的版本是17.1.9
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-24 17:41:44
8#
牛马001 发表于 2025-3-24 14:37
计算选项是自动的,然后我们的版本是17.1.9

在6楼的demo,自动计算模式下17.1.9版本工作正常,您可以亲测了解。

另外,您可以以6楼demo为基础,在其中追加代码复现问题,然后我就可以分析了。或者您提供一个能够复现问题的demo,确保可以复现问题即可。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-28 11:24:43
9#
您好!您的问题解决的怎么样了?如果还没解决,您可以用6楼的demo为基础添加能够复现问题的代码,我可以据此帮您进一步分析。
回复 使用道具 举报
Wilson.Zhang
超级版主   /  发表于:2025-3-31 13:55:36
10#
您好!您的问题解决的怎么样了?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部