【问题标题】:slow Sort / Filter Function for Google Sheets with Importrange带有 Importrange 的 Google 表格的慢速排序/过滤功能
【发布时间】:2020-03-19 14:55:34
【问题描述】:

对于我们的公司数据库,我创建了一个有效的排序/过滤功能,通过 Importrange 从另一个工作表中获取数据。 可以通过某些搜索参数来缩小搜索范围。

目前数据库仍在同一张表上,因此拥有 20.000 行和 18 列信息仍然可以正常运行。

但是,我最近找到了另一张工作表,因此我不得不使用 importrange 或查询。 使用 importrange 的解决方案会在工作表上产生非常高的工作量,并且每隔几分钟就会出现一次延迟峰值。

我也尝试过使用查询解决方案,但我无法掌握如何使用可能的“和/或”函数(即仅使用备注 1 搜索用户 C 的所有订单。如果没有给出参数,显示一切。)

query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1ea47tHXZ5QfSGQ2F9VN0RLXbP9HHg-7pdpZ4_9QTKY4/edit";"Sheet!A11:D");"
SELECT * WHERE 
Col1 = '"&B1&"'  
Col2 = '"&B2&"'
ORDER BY Col3 DESC
";0)

为了更好地理解,我发布了两张以非常小的比例显示公式的表格。

表 1(您可以在此处输入搜索参数): https://docs.google.com/spreadsheets/d/18BUz7Qm0TPMB2xte4iJ31P5aYTQcZNlbiW_agxAfb4U/edit#gid=0

表 2(这里是数据库条目):
https://docs.google.com/spreadsheets/d/1ea47tHXZ5QfSGQ2F9VN0RLXbP9HHg-7pdpZ4_9QTKY4/edit#gid=0

非常感谢您的帮助。 :)

【问题讨论】:

    标签: if-statement google-sheets google-sheets-query importrange textjoin


    【解决方案1】:

    尝试:

    =QUERY(IMPORTRANGE("1bb6reEx6QG8aAqiPHKrQAdNJKbBYNnGceFjgRAPpeo4"; "Sheet!F6:I"); 
     "where "&TEXTJOIN(" and "; 1; "1=1";
     IF(B1="";;"Col1 contains '"&A1&" "&B1&"'");
     IF(B2="";;"Col2 = '"&A2&" "&B2&"'");
     IF(B3="";;"Col3 = date '"&TEXT(B3; "yyyy-mm-dd")&"'");
     IF(B4="";;"Col4 = '"&A4&" "&B4&"'")); 1)
    


    demo spreadsheet

    【讨论】:

    • 非常感谢 player0。您的解决方案看起来和工作得非常好。我真的很感激。祝你有美好的一天!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    相关资源
    最近更新 更多