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

QQ登录

只需一步,快速开始

HH123

注册会员

16

主题

56

帖子

146

积分

注册会员

积分
146
HH123
注册会员   /  发表于:2025-11-28 11:08  /   查看:55  /  回复:7
10金币
本帖最后由 Matthew.Xue 于 2025-11-28 11:46 编辑

在使用
  1. sheet.getDependents(3, 3);
复制代码
函数获取第4行4列单元格引用其公式时,不能获取到全部的引用公式。
如下是引用了第4行4列单元格的公式:
  1. =IF(VLOOKUP(A3,Sheet1!$D$4:$G$5,1,0)="111","",VLOOKUP(A3,Sheet1!$D$4:$G$11,1,0))
复制代码
现在只能获取到第二个vlookup函数的功能,不能获取到第一个

最佳答案

查看完整内容

它只能获取到被哪个单元格引用,不能获取到被单元格的哪个公式引用。 您可以在获取到单元格后,解析单元格的公式,将公式转换为expression树,然后遍历这棵树,看每个参数是否和D4单元格重合。 https://demo.grapecity.com.cn/sp ... formulatoexpression

7 个回复

最佳答案
最佳答案
Matthew.Xue
超级版主   /  发表于:2025-11-28 11:08:53
来自 4#
HH123 发表于 2025-11-28 13:48
我其实是想获取到3,3单元格被哪些公式引用了

它只能获取到被哪个单元格引用,不能获取到被单元格的哪个公式引用。
您可以在获取到单元格后,解析单元格的公式,将公式转换为expression树,然后遍历这棵树,看每个参数是否和D4单元格重合。
https://demo.grapecity.com.cn/sp ... formulatoexpression
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-11-28 11:49:53
2#
您好,获取一个单元格引用了谁,应该使用getPrecedents方法,获取一个单元格被谁引用,应该用getDependents
您的需求,使用getPrecedents是正确的:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
HH123
注册会员   /  发表于:2025-11-28 13:48:05
3#
我其实是想获取到3,3单元格被哪些公式引用了
回复 使用道具 举报
HH123
注册会员   /  发表于:2025-11-28 16:26:01
5#
现在已经获取到expression树了,不过这个树里面就是缺少 第一个vlookup函数(作为条件)公式内容
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-11-28 16:39:28
6#
本帖最后由 Matthew.Xue 于 2025-11-28 16:44 编辑
HH123 发表于 2025-11-28 16:26
现在已经获取到expression树了,不过这个树里面就是缺少 第一个vlookup函数(作为条件)公式内容


请详细看一下 下图中对于这个expression树的解析方法,蓝色字体的“表达式左边的参数”就是第一个vlookup,这是因为这个vlookup不是单独存在的,是被包在一个判断条件里面的(等于111)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
HH123
注册会员   /  发表于:2025-12-1 16:38:53
7#
谢谢大佬
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-12-1 18:15:56
8#

不客气,那这边就先结贴了,有其它问题欢迎发新帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部