找回密码
 立即注册

QQ登录

只需一步,快速开始

nutstore
金牌服务用户   /  发表于:2020-10-14 15:37  /   查看:4167  /  回复:7
本帖最后由 nutstore 于 2020-10-14 15:38 编辑

demo.xlsx (19.93 KB, 下载次数: 249)

7 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-14 16:34:10
沙发
本帖最后由 lynn512 于 2020-10-15 11:40 编辑

您好,问题已复现,我们已将此问题记录下来,待有进展会及时回复您。[SJS-6108]
本贴先做保留处理。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-15 16:16:17
板凳
本帖最后由 lynn512 于 2020-10-15 16:17 编辑

您好,
在SpreadJS 单元格B1中输入公式 =SUM(sheet1!A1:sheet1!A10)。 您会发现B1仅在A1或A10值更改时更新,更改A2-A9不会重新计算B1。
这是因为SJS是将它作为一个运算符而不是范围,所以设置公式  =SUM(sheet1!A1:A10)   将是正确的。
因此,您将 表单“自动化“B2的公式替换为以下公式即可在SJS正常使用:

=IF(Win客户端类型="",INDEX(员工信息!A:A,MATCH(INDEX(Java客户端!F6:F15, MATCH(FALSE,Java客户端!G6:G15="完成",0)),员工信息!B:B,0)),INDEX(员工信息!A:A,MATCH(INDEX(Windows客户端!F6:F18, MATCH(FALSE,Windows客户端!G6:G18="完成",0)),员工信息!B:B,0)))

附件为已修改的Excel文件,您可以直接测试下。






now.xlsx

19.92 KB, 下载次数: 245

回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2020-10-16 10:46:47
地板
好的,感谢回答。我将公式按照您的方法进行修改可以正常更新了。

我还有几点不太明白:
1.office365中,用我的公式可以正常计算。请问这里是spreadJS和Excel不兼容吗?
2.我在你们的web designer中尝试,如果对指定单元格进行ctrl+shift+enter的操作后,发现公式可以重新被计算。想请教一下是什么原因。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-16 11:50:34
6#
本帖最后由 lynn512 于 2020-10-19 11:09 编辑

您的两点疑问:

1.并不是SpreadJS不兼容,而是SpreadJS在这里有bug,但是这个bug是因为用户使用的Excel的公式不是常规的。SJS对这个非常规的formula支持有问题。
2.您一系列操作的结果是单元格被设置了数组公式。数组公式的执行和普通公式是不一样的。
回复 使用道具 举报
nutstore
金牌服务用户   /  发表于:2020-10-19 17:32:46
7#
请问这个bug有可能会被修复吗?我们的业务流程中,使用该公式的情况还挺多
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-10-19 17:49:04
8#
V14中暂不修复,后续可能会考虑,但具体时间不确定。所以还是建议您先使用SJS支持的公式。
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-4-1 17:12:01
9#
您好,此问题已在V14.0.6中修复,建议您升级至新版本测试下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部