【问题标题】:Google Sheets query rows containing commasGoogle 表格查询包含逗号的行
【发布时间】:2020-03-31 05:27:58
【问题描述】:

我有一列 Colors 包含颜色行。我有一个正在使用的查询,我想包括根据用户将输入的单元格获取颜色。例如,用户将输入Blue, Black,我希望我的查询返回第 2、4、5 行以及查询中的条件。

我不知道该怎么做,因为我需要解析逗号才能获得每种颜色。我尝试在查询中创建一个函数,但这不起作用,也没有创建一个包含我的整个查询的函数。

=QUERY('Sheet 1'!A1:D13, "select * where (AA contains 'Car' AND {*Return rows containing Blue and Black*})")

编辑:抱歉,如果我不清楚,我希望能够捕获用户在 D2 上的输入并将其包含在我的查询中,以返回 AA 列中具有“汽车”并包含其中一个或两个的行颜色“蓝色”和“黑色”

【问题讨论】:

    标签: regex google-sheets google-sheets-formula google-sheets-query google-query-language


    【解决方案1】:

    尝试:

    =QUERY({A2:B}, 
     "where lower(Col1) matches '.*"&REGEXREPLACE(LOWER(D1), ", ?", ".*|.*")&".*' 
        and 1=1")
    

    【讨论】:

    • 这行得通,这正是我正在寻找的,但是如果对正则表达式的每个部分都有解释,那就太好了。
    • 当然,使用正则表达式,我们将逗号或逗号后跟空格(问号在这种情况下作为“或”)替换为垂直直线,这也意味着“或”略有不同,因为 A 列可以包含比搜索到的更多的值我们在切换到部分模式而不是精确模式之前和之后添加.*
    【解决方案2】:

    你可以使用正则表达式

    如果参数是字符串的子字符串,则函数返回 true。

    =IF(REGEXMATCH(A_, Black"), 1, 0)

    【讨论】:

    • 抱歉,如果我的回答不清楚,我已经更新了我的问题。如何在我的查询中包含 REGEXMATCH 来做我正在寻找的东西?
    猜你喜欢
    • 2019-07-07
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 2021-06-05
    • 1970-01-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多