Google sheets 如何优化在Google工作表中跨多个选项卡拉取多个文本比较结果?(查询与筛选与其他功能)
这里有很多新功能,我正试图找到进一步优化一组工作表函数的最佳方法 起始函数本质上是26个堆叠过滤器函数,用于引用包含名称(字符串)的下面的单个单元格,查找与这些单元格中的名称关联的ID,从“ref”表中提取ID,并创建包含这些ID的url。去除机密数据的功能:Google sheets 如何优化在Google工作表中跨多个选项卡拉取多个文本比较结果?(查询与筛选与其他功能),google-sheets,google-sheets-formula,google-sheets-query,Google Sheets,Google Sheets Formula,Google Sheets Query,这里有很多新功能,我正试图找到进一步优化一组工作表函数的最佳方法 起始函数本质上是26个堆叠过滤器函数,用于引用包含名称(字符串)的下面的单个单元格,查找与这些单元格中的名称关联的ID,从“ref”表中提取ID,并创建包含这些ID的url。去除机密数据的功能: =超链接(连接(“https://url.com/stuff?ids=“,如果(isna(filter)(ref!$B:$B,ref!$A:$A=B3))=true,”,过滤器(ref!$B:$B,ref!$A:$B3)),“,”如果(i
=超链接(连接(“https://url.com/stuff?ids=“,如果(isna(filter)(ref!$B:$B,ref!$A:$A=B3))=true,”,过滤器(ref!$B:$B,ref!$A:$B3)),“,”如果(isna(filter)(ref!$B,ref!$A:$A=B4))=true,“,过滤器(ref!$B:$B,ref!$A:$A=B4)),,”,如果(isna(filter)(过滤器(filter)(ref!$B:$B,ref!$B,ref!$A=B5))=true,”,过滤器(ref!$B,ref!,$A),$B5)),如果过滤器(isna),$B5),”(参考!参考!参考!参考!参考!参考!参考:A:$A$A$A$A$A$A$B$B,参考!参考!参考!B$A$A$A$A$A$A$A$B$B,参考!B$B$B$B,参考!参考!A$A$A$A$A$A$A$A$A$A$A$A$B$B$B$A$B$B$B$B$B$B$B$B,参考!参考!B$B$B$B$B$B$B$B$B,参考!A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$B$A$A$A$A$A$A$A$A$A$A$A$A$A$A例如,ref!$A:$A=B9)),“,”如果(isna(过滤器(参考!参考!参考!参考!参考!参考!参考:A:$A:$A:$A:$A:$B$B,参考!参考!参考!B:$A:$A:$A:$A:$B:$B:$B,参考!参考!B:$B:$B:$B:$B,参考!A:$A:$A:$A:$A:$A:$B:$B,参考!B:$B:$B:$B:$B:$B:$B,参考!B:$B:$B:$B:$B:$B:$B,参考!A:$A:$A:$A:$B:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$A:$B,参考:A:$A:$A:$A:$A:$A:$B例如,参考!$A:$A=B13)),“,”如果(isna(过滤器(参考!参考!参考!参考!参考!参考!参考:A:$A$A$A$A$A$A$B$B,参考!参考!参考!B$A$A$A$A$A$A$A$B$B$B$B,参考!B$B$B$B$B,参考!A$A$A$A$A$A$A$A$A$A$A$B$B$B$B$B$B$B$B$B$B$B,参考!参考!B$B$B$B$B$B$B$B$B$B,参考!A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$B$A$B!$A:$A=B17)),“,”如果(isna(过滤器(参考!参考!参考!参考!参考!参考!参考:A:$A$A$A$A$A$A$B$B,参考!参考!B$A$A$A$A$A$A$A$B$B$B,参考!参考!B$B$B$B$B,参考!A$A$A$A$A$A$A$A$A$A$A$A$A$B$B$B$B$B$B$B$B$B$B,参考!参考!B$B$B$B$B$B$B$B$B$B,参考!A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$A$B例如,参考!$A:$A=B21)),“,”如果(isna(过滤器(ref!$B:$B,ref!$A:$A=B22))=true,”,过滤器(ref!$B:$B,ref!$A:$A=B22)),“&morestuff=true”),“组A”)
我能做的最好的优化就是在一个单元格(B1)中编译ID,并在TEXTJOIN中使用此查询函数:
(代码><代码><代码>=文本加入(“,”,真实,查询(参考参考!A美元A美元A美元A美元A美元2美元:::美元B,,,,,)C代码>>=C代码>>=C代码>>=C C.C>>=C C.C>=C.C>=C C.C>=C.C>=C=C=C=C=C=C=C=C=C=C=C=C=C=C=C((((”””””””””,C=C=C=C=C=C((((”””””””””””””””””””””””)或A((((”””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””,A='”&B18&“或A='”&B19&“'或A='”&B20&“'或A='”&B21&“'或A='”&B22&“'或A='”&B23&“'或A='”&B24&“'或A='”&B25&“'或A='”&B26&“'或A='”&B27&“'或A='”&B28&“'或A='&B29&“)”
然后在另一个单元格(B2)中生成url,引用B1中的ID:
=超链接(连接(“https://url.com/stuff?ids=“,”,“,”B1“&morestuff=true”),“A组”)
然后我在B-Z组之间复制了这些数据
我尝试了在ARRAYFORMULA中堆叠的多个过滤器变体,但无法使其正常工作。我不确定是否有一种语法可以更好地处理我不太清楚的匹配文本。简单地按首字母匹配不是一个选项,因为有些名称不符合“ref”中包含的分组“用于其他数据集的工作表
所以我这里的问题是:有没有一种更简单的方法来编译它,我不必在“ref”表上单独引用每个单元格来匹配
对于我正在使用的工作表示例,此链接应适用于:
只需使用另一个
textjoin
构建查询字符串,如下所示:
="select B"&if(counta(B3:B)=0,""," where A='")&textjoin("' or A='",true,B3:B)
这不仅比手动键入每个单元格要短得多,而且还将根据需要无限向下扩展。共享一份工作表副本,其中包含一些所需输出的示例。除非您愿意,否则您差不多可以使用“名称范围”功能了。编辑了该操作,但这里还有指向示例工作表的链接:非常感谢!我结束了最后我使用了:
=IFNA(TEXTJOIN(“,”,TRUE,QUERY(ref!$a$2:$B,“select B where a=”),&TEXTJOIN(“'or a=”,TRUE,B3:B)&“”),”)
非常感谢您让我走上了正确的道路!