试图在google-spreadsheet中过滤掉另一张表格中的子字符串(编辑:现在只将SOLUTION / FORMULA压缩到一张表格)

时间:2016-02-12 13:40:50

标签: google-sheets

问题描述:

  • 我有一张主表 - 由来自谷歌表格的输入信息提供。
  • 它包含电话号码等敏感信息,因此我将其导入到另一个工作簿中,只有日期,会员名称和学院名称等所需的详细信息

我采用了相当简单的导入方式: = IMPORTRANGE(" MY_SHEET_KEY""工作表Sheet!A1:H1024&#34)

  • 在同一工作簿的另一张表上,我已尝试过这个并失败了: !=过滤(Sheet 1中A1:H1024,工作表Sheet E1:E1024 =" *"&安培;"的国家"&安培;&#34 *! #34)

我其实想过滤掉#34; 国家信息技术学院"从上面给出的公式列出的大学。

FOR REFERENCE:

  

这有效:

     

=滤波器(Sheet 1中A1:H1024,工作表Sheet E1:!E1024 =" NO&#34)

     

然而,这 FAILS 可以工作:

     

=滤波器(Sheet 1中A1:H1024,工作表Sheet E1:!E1024 =&#34; *&#34;&安培;&#34; N&#34;&安培;&#34; *&#34)< / p>

请给我一个公式示例,该公式允许我过滤IT&#34;国立IT学院&#34;喜马拉雅IT学院&#34;或者&#34;圣劳伦斯学院&#34;。 我认为找到子串&#34;国家&#34;,&#34;喜马拉雅&#34;和&#34;劳伦斯&#34;对我来说已经足够了。

我已经在stackoverflow中引用了几个帖子来点什么都没有 我究竟做错了什么?

EDIT1:

好的,我设法使用Query()函数克服了过滤过程。但是google-sheets查询似乎区分大小写。我正在努力寻找一种解决方法。

例如:

  

这有效:

     

=查询(Sheet1!A1:H1024,&#34;选择A,B,C,D,E,F,G其中(C包含&#39; NCCS&#39;或者C包含&#39; National& #39;)&#34;)

     

FAILS 告诉我该字段是否以&#34; nccs&#34;的形式输入   或者&#34;国立大学&#34;。我希望它无视案例和流程   无论如何人们都会抛出它。

现在,如果大学名称包含&#34; NCCS&#34;或者&#34;国家&#34;作为子字符串,只有这样,它才有效。它还区分大小写

EDIT2:

Ed Nelson给出的解决方案非常适合我当前的问题! 非常感谢!

  

=查询(Sheet1!A1:H1024,&#34;选择A,B,C,D,E,F,G,其中lower(C)包含lower(&#39; NCCS&#39;)或C包含下(&#39;国家&#39;)&#34)

新问题

我现在正在修改问题以解决新问题

  • 到目前为止提供的解决方案已成功解决了使用两个表格(Sheet1和Sheet2)进行数据过滤的问题
  • Sheet2从另一个google-workbook
  • 中获取master-Sheet中的数据
  • 这样做是为了过滤掉电话号码等敏感信息
  • 我应该分享这些表格与人,我不想提供超出必要的信息
  • 我目前的设置允许我通过在 Sheet1

    中应用此公式来实现此目的
      

    = IMPORTRANGE(&#34; MY_SHEET_KEY&#34;&#34;工作表Sheet!A1:H1024&#34)

  • 以及 Sheet2

    中的此公式
      

    =查询(Sheet1!A1:H1024,&#34;选择A,B,C,D,E,F,G,其中lower(C)包含lower(&#39; NCCS&#39;)或C包含下(&#39;国家&#39;)&#34)

  • 但是,当我共享一个工作簿时,获得该链接的人也可以轻松地看到Sheet1,其中包含所有人的信息而不进行过滤。

  • 我想知道如何将这两个公式简化为单个电子表格的一个公式 (注意:我之前使用filter()的类似尝试使我陷入了递归定义警告,并且无法处理。)

2 个答案:

答案 0 :(得分:1)

要克服案例问题,请尝试:

=query(Sheet1!A1:H1024,"select A,B,C,D,E,F,G where lower(C) contains lower('NCCS') OR C contains lower('National')")

是的,可以组合ImportRange和Query。请注意查询中必须使用Col refeferences。 C列是Col3。

=query(Importrange("MY_SHEET_KEY","Sheet1!A1:G1024"),"select * where lower(Col3) contains lower('NCCS') OR lower(Col3) contains lower('National')")

答案 1 :(得分:1)

新问题答案。是的,您可以组合importrange和查询。请注意,列由Col3引用(等于C)。这似乎是必需的。

=query(Importrange("MY_SHEET_KEY","Sheet1!A1:G1024"),"select * where lower(Col3) contains lower('NCCS') OR lower(Col3) contains lower('National')")