【发布时间】:2021-02-20 07:15:26
【问题描述】:
目标:
我想优化 Query 函数的数据处理速度,它实际上运行正常,但是有时它非常慢(1-2 分钟)。所以我正在改进我的整个工作表。 我提到了这个:https://webapps.stackexchange.com/questions/106809/how-can-i-speed-up-google-sheets
话虽如此,我认为我可以通过将数据范围从常规引用更改为数组范围引用来改进以下查询设置。
当前查询的工作原理:
下面的屏幕截图是一个查询函数,它从工作表中提取数据(混合数据,它也从另一个工作表中提取数据)并计算每个人的状态数(技术问题、咨询中、进行中和需要信息) (代理)。
这是我的查询功能。
=QUERY(
'Blend Data'!$A$3:$C,
"select C, COUNT(C) where B matches
'In Progress|In Consult|Need Info|Technical Issue'
AND C matches'"
&IFERROR(VLOOKUP(Values!F2,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F3,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F4,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F5,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F6,Values!F2:F,1,FALSE))&"'
GROUP BY C pivot B",
1)
查询设置详情:
- 混合数据:是同一个电子表格中的一个工作表,它从同一个电子表格的两个工作表中提取数据,其中包括有关代理和工单的信息。
- VLOOKUP:“Values!F2”正在从同一电子表格中的单独工作表中提取代理名称。我想使用参考而不是硬编码,因为名称有时会更改。
有关“混合数据表”的更多信息:
混合数据表正在使用查询功能来提取 2 个单独的表(“表 A 数据”表从不同的电子表格中提取数据,“表 B 数据”表从不同的电子表格中提取数据),我能够做到这与 Importrange 功能。这是截图。
这是我的查询功能。
=QUERY(
{
IMPORTRANGE("1DeXTU7dJVJFYIHSP8U9dsKw3YNZVtEZIjbURAd54Xjs","'Sheet A Data'!$A$3:$H");
IMPORTRANGE("1QUZ-ljkXNOvtnPg-a2FqM2PhYUdt_zX5gMLtB6GcFdc","'Sheet B Data'!$A$3:$H")
},
A1,
1
)
问题:
如上所述,我想将数据更改为数组格式;但是,我得到一个错误(无法解析函数查询参数 2 的查询字符串:NO_COLUMN:C)。
这是我尝试做的。
=QUERY(
{
IMPORTRANGE("1DeXTU7dJVJFYIHSP8U9dsKw3YNZVtEZIjbURAd54Xjs","'Sheet A Data'!$A$3:$H");
IMPORTRANGE("1QUZ-ljkXNOvtnPg-a2FqM2PhYUdt_zX5gMLtB6GcFdc","'Sheet B Data'!$A$3:$H")
},
"select C, COUNT(C) where B matches 'In Progress|In Consult|Need Info|Blocked By' AND C matches '"
&IFERROR(VLOOKUP(Values!F2,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F3,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F4,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F5,Values!F2:F,1,FALSE))&"|"
&IFERROR(VLOOKUP(Values!F6,Values!F2:F,1,FALSE))&"'
GROUP BY C pivot B",
1
)
【问题讨论】:
标签: arrays google-sheets pivot google-sheets-formula google-query-language