Google 具有 Importrange 的工作表的排序/过滤功能较慢

slow Sort / Filter Function for Google Sheets with Importrange

对于我们的公司数据库,我创建了一个有效的 sort/filter 函数,它通过 Importrange 从另一个 sheet 获取数据。 可以通过某些搜索参数缩小搜索范围。

目前数据库还在原地sheet,所以有 20.000 行和 18 列的信息仍然可以正常工作。

但是我最近向另一个 sheet 外包,因此我不得不使用 importrange 或查询。 使用 importrange 的解决方案会在 sheet 上产生非常高的工作负载,我每隔几分钟就会出现延迟峰值。

我也尝试过使用查询解决方案,但我无法理解如何使用可能的 "and/or" 函数(即仅搜索带有备注 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)

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

Sheet 1(这里可以输入搜索参数): https://docs.google.com/spreadsheets/d/18BUz7Qm0TPMB2xte4iJ31P5aYTQcZNlbiW_agxAfb4U/edit#gid=0

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

非常感谢您的帮助。 :)

尝试:

=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