【发布时间】:2020-06-13 19:44:43
【问题描述】:
我使用ImportRange 和Query 以及Join 和Split 的以下公式正常工作:
=join(" / ", QUERY(IMPORTRANGE("Google-Sheet-ID","RawData!A:AC"),"select Col25 where Col1 = " & JOIN(" OR Col1 = ", split(V2:V,"+")), 0))
另外,我下面的ArrayFormula 和Split 功能运行顺利:
=ARRAYFORMULA(if(len(V2:V)=0,,split(V2:V,"+")))
但是当我尝试使用以下公式将它们组合在一起时:
=ARRAYFORMULA(if(len(V2:V)=0,,join(" / ", QUERY(IMPORTRANGE("Google-Sheet-ID","RawData!A:AC"),"select Col25 where Col1 = " & JOIN(" OR Col1 = ", split(V2:V,"+")), 0))))
它失败了,并给了我以下错误:
错误 函数 SPLIT 参数 1 的值不能为空。
Here 是我的测试表。
更新
我改成:
=ARRAYFORMULA(if(len(C2:C)=0,,JOIN(" OR Col1 = ", ARRAYFORMULA(if(len(C2:C)=0,,split(C2:C,"+"))))))
所以我的完整公式是:
=ARRAYFORMULA(
if(
len(C2:C)=0,,
join(" / ",
QUERY(
IMPORTRANGE("14iNSavtvjRU0XipPWIMKyHNwXTA85P_CafFTsIPHI6c","RawData!A:AC"),"select Col25 where Col1 = " &
ARRAYFORMULA(
if(len(C2:C)=0,,
JOIN(" OR Col1 = ",
ARRAYFORMULA(
if(
len(C2:C)=0,,split(C2:C,"+")
)
)
)
)
),
0
))))
现在得到错误:
错误 JOIN 范围必须是单行或单列。
【问题讨论】:
-
请分享样品
-
@contributorpw docs.google.com/spreadsheets/d/…
-
总体目标是什么?你能用语言解释一下查询的目标吗?这类似于“显示此导入表中的所有 ETA 列,其中 [条件列表]”
-
@MattKing 你几乎成功了,目标:'向我显示此导入表中的所有 ETA 列,其中发货 ID 在给定列表中'
-
@HasanAYousef 好的,我可以这样做,但是 A 列和 B 列中的“列表”都在吗?您将那些标记为“项目”和“尺寸”。另外样品中只有2批,所以测试起来有点困难。
标签: google-sheets