Google sheets 谷歌电子表格内部查询出错
我在谷歌电子表格中有下表。我想从列Google sheets 谷歌电子表格内部查询出错,google-sheets,google-sheets-formula,google-query-language,Google Sheets,Google Sheets Formula,Google Query Language,我在谷歌电子表格中有下表。我想从列B中选择项目,但前提是只有列a和D的值匹配时才选择这些行 我构造了以下查询以检查语法是否正确: =CONCATENATE("Select B where A matches '.*"&TEXTJOIN(".*|.*"; true; query(D2:D; "Select D"));".*'") 执行此操作将得到以下结果: Select B where A matches
B
中选择项目,但前提是只有列a
和D
的值匹配时才选择这些行
我构造了以下查询以检查语法是否正确:
=CONCATENATE("Select B where A matches '.*"&TEXTJOIN(".*|.*"; true; query(D2:D; "Select D"));".*'")
执行此操作将得到以下结果:
Select B where A matches '.*Item1.*|.*Item2.*|.*Item3.*'
当我现在在查询中使用此语法时,结果是正确的:123
=query(A2:B; "Select B where A matches '.*Item1.*|.*Item2.*|.*Item3.*'")
但是当把所有这些放在一起时,我得到了下面的错误消息。为什么呢
=query(A2:B; "Select B where A matches '.*"&TEXTJOIN(".*|.*"; true; query(D2:D; "Select D"));".*'")
除非以某种方式向下查询D列,否则不需要对D列使用查询,因为textjoin将删除空格。你公式中的罪魁祸首是最后一个分号
;“*”
它应该在哪里&“*”
尝试:
除非以某种方式向下查询D列,否则不需要对D列使用查询,因为textjoin将删除空格。你公式中的罪魁祸首是最后一个分号
;“*”
它应该在哪里&“*”
尝试:
解决方案: 你放了一个
代码>而不是结尾处的&
:
=query(A2:B;“在A与“.*”匹配的地方选择B”和TEXTJOIN(“.*.*”)true;query(D2:D;“选择D”)和“.*”)
说明:
此“*”
作为第三个参数传递。但是第三个参数(可选)的类型必须是number
有关更多详细信息,请参阅:
解决方案:
你放了一个代码>而不是结尾处的&
:
=query(A2:B;“在A与“.*”匹配的地方选择B”和TEXTJOIN(“.*.*”)true;query(D2:D;“选择D”)和“.*”)
说明:
此“*”
作为第三个参数传递。但是第三个参数(可选)的类型必须是number
有关更多详细信息,请参阅:
Thanx,现在它可以工作了!但为什么声明中需要最后一个零?“似乎没有它也能工作。”詹姆德只是为了额外的安全。有时,如果第三个参数(0)未指定为hanx,则查询无法自动检测标题行,现在它可以工作了!但为什么声明中需要最后一个零?“似乎没有它也能工作。”詹姆德只是为了额外的安全。如果未指定第三个参数(0),有时查询无法自动检测标题行
=QUERY(A2:B;
"select B
where A matches '.*"&TEXTJOIN(".*|.*"; 1; D2:D)&".*'"; 0)