gpt4 book ai didi

google-apps-script - 谷歌表格 : INDIRECT() with a Range

转载 作者:行者123 更新时间:2023-12-05 00:59:08 24 4
gpt4 key购买 nike

这个问题可以改写为“在 FILTER() 中使用以编程方式生成的范围”,具体取决于回答的方法。

问这个问题是为了了解如何将变量范围传递给过滤函数(如果可能的话)。

我目前正在使用以下功能进行过滤:

代码块 1

=filter('Data Import'!1:10000,'Data Import'!D:D<12)

导入数据后,列D:D可以改变位置(例如,它可能在列F:F中),但总是有标题“student.grade” ”。

问题是:如何在过滤器函数中引用这个具有固定标题的可变位置列,如代码块 1 中给出的那样? 换句话说,我可以替换 'Data使用有效代码导入'!D:D`,无论标题为“student.grade?”的列的位置如何,该函数都可以工作

我尝试过的:

我可以使用下面的代码正确地找到作为字符串的列的地址(无论它在数据导入之后是什么):

代码块 2

=substitute(address(1,match("student.grade",'Data Import'!1:1,0),4),1,"")&":"&substitute(address(1,match("student.grade",'Data Import'!1:1,0),4),1,"")

当标题“student.grade”在单元格D1中时,上面代码块2中的函数返回“D:D”“F: F" 当“student.grade”在单元格 F1 中时。我以为我可以简单地将这个值插入到 FILTER() 函数中,然后继续前进,但是为了将我的字符串转换为可用地址,我尝试使用 INDIRECT( ) 对上面代码块 2 中生成的字符串执行函数。

代码块 3

=filter('Data Import'!1:3351,'Data Import'!indirect(substitute(address(1,match("student.grade",'Data Import'!1:1,0),4),1,"")&":"&substitute(address(1,match("student.grade",'Data Import'!1:1,0),4),1,""),TRUE)<12)

公式无法正确解析。

简化同一函数的间接部分以测试它在给定范围时是否会产生相同的错误:

代码块 4

=filter('Data Import'!1:3351,indirect('Data Import'!&"D:D")<12)

这让我相信 INDIRECT() 不处理范围,或者如果可以,我不知道语法。 This Stack Overflow post似乎表明这是可能的,但我无法弄清楚细节。

这个问题不是试图让其他人帮助我解决我的编程困境。我可以使用各种脚本、巨大的辅助 if 语句列等等来做到这一点。

问这个问题是为了了解如何将变量范围传递给过滤函数(如果可能的话)。

最佳答案

再一次,也许这就是你想要的:

=FILTER('Data Import'!1:100000, 
INDIRECT("'Data Import'!"&
ADDRESS(1, MATCH("student.grade", 'Data Import'!1:1, 0), 4)&":"&
ADDRESS(1000000, MATCH("student.grade", 'Data Import'!1:1, 0), 4)) < 12)

关于google-apps-script - 谷歌表格 : INDIRECT() with a Range,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54541923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com