在谷歌工作表上使用 IMPORT RANGE 获取多个数据集(包括空白单元格)

问题描述 投票:0回答:1

我想从各种谷歌表格中导入数据。我可以使用以下公式来做到这一点(我意识到这可能有点笨拙并且可以改进)

=查询({IMPORTRANGE(总结!A26,“挑战!A2:P”);IMPORTRANGE(总结!A25,“挑战!A2:P”);IMPORTRANGE(总结!A27,“挑战!A2:P”); IMPORTRANGE(总结!A28, "挑战!A2:P"); IMPORTRANGE(总结!A29, "挑战!A2:P");IMPORTRANGE(总结!A30, "挑战!A2:P");IMPORTRANGE(总结!A31 , "挑战!A2:P");IMPORTRANGE(总结!A32, "挑战!A2:P");IMPORTRANGE(总结!A33, "挑战!A2:P"); IMPORTRANGE(总结!A34, "挑战!A2 :P"); IMPORTRANGE(Summary!A35, "Challenges!A2:P")}, "select * where Col1 is not null").

带有 url 的单元格范围 (Sumary!A25:A35) 供其他用户(不熟悉公式的人)在每次完成时将链接复制并粘贴到他们的工作表,以防止我每次都必须查找此数据.但是,如果这些单元格中的任何一个留空,则该公式将不起作用。有没有办法在空的时候忽略单元格,或者在填充的时候忽略单元格?

我尝试使用 IF 函数但没有成功

我尝试使用 IF 函数的简化示例,返回公式解析错误

=QUERY({IF(Summary!A26="","",IMPORTRANGE(Summary!A26, "挑战!A10");IF(Summary!A25="","",IMPORTRANGE(Summary!A25, "挑战!A10")}, "select * where Col1 is not null")))

google-sheets-formula ignore
1个回答
0
投票

您可以尝试使用 REDUCE 以避免重复写入 IMPORTRANGE 部分,然后您可以检查该范围是否为空。如果它不为空,它将堆叠新的 IMPORTRANGE:

=QUERY(REDUCE(INDEX(IFERROR(SEQUENCE(1,16)/0)),Summary!A25:A35,LAMBDA(a,v,
IF(v="",a,{a;IMPORTRANGE(v,"Challenges!A2:P")}))),
"select * where Col1 is not null")
© www.soinside.com 2019 - 2024. All rights reserved.