QUERY - 多列中的一个字符串

时间:2017-04-17 01:37:03

标签: sql google-sheets google-query-language

虽然有no IN in google sheets unlike in SQL,但我并没有在一列中找到几个字符串。我正在寻找几列中的一个字符串。

那么

的捷径是什么
  

= QUERY($ A:$ K,"选择A,其中B包含'"& N1&"'或C包含'&# 34;& N1&"'或D包含'"& N1&"'或E包含'"& N1& ;"'或F包含'"& N1&"'或G包含'"& N1&&#34 ;'或者H包含'"& N1&"'或者我包含'"& N1&"&#39 ;或J包含'"& N1&"'或K包含'"& N1&"''"" ;,3)

我希望得到像

这样的东西
  

= QUERY($ A:$ K,"选择A,其中B,C,D,E,F,G,H,I,J,K包含'"& N1& ;"'",3)

Cross-posted to Web Applications

1 个答案:

答案 0 :(得分:1)

确定两种方法可以尝试

一个数组公式,用于计算每行中匹配的数量

=query({A:A,arrayformula(mmult(n(isnumber(find(N1,B:K))),transpose(column(B:K))^0))},"select Col1 where Col2>0")

或一种hacky方式,就像你的问题中引用的连接的解决方法一样

=query(A:K,"select A where B contains '"&N1&"'" & arrayformula(concatenate(" or "&char(column(C:K)+64)& " contains '"&N1&"'")))

(仅适用于单字母列引用,但可能比第一个更快)。