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

QQ登录

只需一步,快速开始

Yuyuyuyu

注册会员

3

主题

9

帖子

28

积分

注册会员

积分
28
  • 415

    金币

  • 3

    主题

  • 9

    帖子

最新发帖
Yuyuyuyu
注册会员   /  发表于:2022-3-29 20:15  /   查看:2052  /  回复:8
1金币
有个需求需要跨sheet计算公式,比如 SUM(Sheet1!A1, Sheet2!A1)=Sheet3!A1 通过这个字符串得到true or false, 有没有函数可以做到

然后有没有函数可以拿到公式中的range 比如上面3个表中的单元格 用于校验失败后高亮单元格

最佳答案

查看完整内容

第一个问题用evaluateFormula就可以[/backcolor] 第二个问题我们提供了下面的方法将"Sheet2!A1"转成(0,0),具体怎么从公式字符串中将“Sheet2!A1”拆出来需要自行对字符串操作。

8 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-29 20:15:49
来自 5#
Yuyuyuyu 发表于 2022-3-30 10:10
感谢回复,我现在的场景是SUM(Sheet1!A1, Sheet2!A1)=Sheet3!A1 这个公式已经存成了一个字符串 不是在cel ...

第一个问题用evaluateFormula就可以
image.png441735228.png

第二个问题我们提供了下面的方法将"Sheet2!A1"转成(0,0),具体怎么从公式字符串中将“Sheet2!A1”拆出来需要自行对字符串操作。
  1. var a = "Sheet2!A1";
  2. let cellRef = GC.Spread.Sheets.CalcEngine.formulaToRanges(sheet,a);
  3. var row = cellRef[0].ranges[0].row;
  4. var col = cellRef[0].ranges[0].col;
复制代码


image.png522583617.png
image.png354119262.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 09:59:45
2#
第一个问题可以用if函数实现,例如下图
1648605288(1).png857367248.png

第二个人问题,可以考虑用公式追踪示例,具体可以参考我们学习指南
https://demo.grapecity.com.cn/sp ... et-precedent/purejs
回复 使用道具 举报
Yuyuyuyu
注册会员   /  发表于:2022-3-30 10:10:42
3#
Derrick.Jiao 发表于 2022-3-30 09:59
第一个问题可以用if函数实现,例如下图

感谢回复,我现在的场景是SUM(Sheet1!A1, Sheet2!A1)=Sheet3!A1 这个公式已经存成了一个字符串 不是在cell里
我需要的是例如 GC.Spread.Sheets.CalcEngine.evaluateFormula这样的函数

只不过evaluateFormula是在单个sheet里,我需要跨sheet的方法

第二个问题也是同样的场景 通过公式字符串 得到cell的index
回复 使用道具 举报
Yuyuyuyu
注册会员   /  发表于:2022-3-30 10:13:11
4#
Yuyuyuyu 发表于 2022-3-30 10:10
感谢回复,我现在的场景是SUM(Sheet1!A1, Sheet2!A1)=Sheet3!A1 这个公式已经存成了一个字符串 不是在cel ...

也就是说需要在代码里执行跨sheet公式字符串
回复 使用道具 举报
Yuyuyuyu
注册会员   /  发表于:2022-3-30 14:02:57
6#
Derrick.Jiao 发表于 2022-3-29 20:15
第一个问题用evaluateFormula就可以

完美解决我的问题 感谢
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 15:03:22
7#
Yuyuyuyu 发表于 2022-3-30 14:02
完美解决我的问题 感谢

不用客气,有新问题欢迎开新帖交流~
回复 使用道具 举报
Yuyuyuyu
注册会员   /  发表于:2022-3-30 15:30:16
8#
Derrick.Jiao 发表于 2022-3-29 20:15
第一个问题用evaluateFormula就可以

第二个问题 可以用 GC.Spread.Sheets.CalcEngine.formulaToRanges得到
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-3-30 16:10:31
9#
Yuyuyuyu 发表于 2022-3-30 15:30
第二个问题 可以用 GC.Spread.Sheets.CalcEngine.formulaToRanges得到

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部