【问题标题】:Google Sheets Filter Function if no value multiple columns谷歌表格过滤功能,如果没有值多列
【发布时间】:2017-11-15 17:37:47
【问题描述】:

我想从这张表上的Data!F:G 中提取所有相关数据: https://docs.google.com/spreadsheets/d/18hJW4ojAbe1dUF1lDdSOI11cTEaMeJ6N-VZ6BB7LrAY/edit#gid=1162973857

我假设它是一个过滤器功能,但要确保在Dashboard!C1:C5 中的字段为空时提取所有数据。

=filter(Data!F:G, Data!A:A = C1, Data!B:B = C2, Data!C:C = C3, Data!D:D = C4, Data!E:E = C5)

在所有字段都完整时有效,但如果其中一个为空则无效。

谢谢!

【问题讨论】:

    标签: filter google-sheets


    【解决方案1】:

    很遗憾,Google 表格过滤器中没有通配符,但您可以像这样测试列是否等于自身

    =filter(Data!F:G,Data!A:A = if(C1="",Data!A:A,C1), Data!B:B = if(C2="",Data!B:B,C2), Data!C:C = if(C3="",Data!C:C,C3), Data!D:D = if(C4="",Data!D:D,C4), Data!E:E = if(C5="",Data!E:E,C5))
    

    这可能更简洁一些(相当于过滤器中的 OR 表达式)

    =filter(Data!F:G,(C1="")+(Data!A:A=C1), (C2="")+(Data!B:B=C2), (C3="")+(Data!C:C=C3), (C4="")+(Data!D:D = C4), (C5="")+(Data!E:E=C5))
    

    【讨论】:

      【解决方案2】:

      看看这是否有效

      =iferror(query(Data!A:G, "select F, G where F is not null" &IF(len(C1), " and A = '"&C1&"'",)&IF(len(C2), " and B = '"&C2&"'",)&IF(len(C3), " and C = '"&C3&"'",)&IF(len(C4), " and D = '"&C4&"'",)&IF(len(C5), " and E = '"&C5&"'",),0), "no matches found")
      

      【讨论】:

        猜你喜欢
        • 2017-09-29
        • 2021-04-29
        • 1970-01-01
        • 2015-07-04
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多