Google 工作表 FILTER() 和 QUERY() 不能与 SUM() 一起使用
Google Sheets FILTER() and QUERY() not working with SUM()
我正在尝试从一个 sheet 中提取数据并在另一个上求和。这是构建到报告中的 GA 数据,所以我按登陆页面和设备类型划分了会话,并希望以不同的方式对它们进行分组。
我通常使用 FILTER() 来处理这类事情,但它总是返回 0 总和。认为这可能是 FILTER() 的一个奇怪的边缘情况,我改用 QUERY() 代替。这给了我一个错误,但是 Google 搜索没有提供太多关于错误实际含义的文档。猜测它可能表明数据类型有问题(即不是数字),我将源的格式从 "Automatic" 更改为 "Number",但无济于事。
也许是咖啡不够用,我不知道为什么这两个函数都无法按条件进行简单的查找和求和。
FILTER() 函数
SUM(FILTER(AllData!C:C,AllData!A:A="/chestnut/",AllData!B:B="desktop"))
没有错误,但是 returns 0 无论过滤器参数如何。
QUERY() 函数
QUERY(AllData!A:G, "SELECT SUM(C) WHERE A='/chestnut/' AND B='desktop'",1)
返回错误:
Unable to parse query string for Function QUERY parameter 2: AVG_SUM_ONLY_NUMERIC
示例数据:
landingPage | deviceCategory | sessions
-------------|----------------|----------
/chestnut/ | desktop | 4
/chestnut/ | desktop | 2
/chestnut/ | tablet | 5
/chestnut/ | tablet | 1
/maple/ | desktop | 1
/maple/ | desktop | 2
/maple/ | mobile | 3
/maple/ | mobile | 1
我认为求和不起作用,因为您的数字是文本格式的。
看看这些是否有效? (更改范围以适应)
使用 FILTER()
=SUM(FILTER(VALUE(AllData!C:C),AllData!A:A="/chestnut/",AllData!B:B="desktop"))
使用查询()
=ArrayFormula(QUERY({AllData!A:B, VALUE(AllData!C:C)}, "SELECT SUM(Col3) WHERE Col1='/chestnut/' AND Col2='desktop' label SUM(Col3)''",1))
使用 SUMPRODUCT()
=SUMPRODUCT(VALUE(AllData!C2:C),AllData!A2:A="/chestnut/",AllData!B2:B="desktop")
我正在尝试从一个 sheet 中提取数据并在另一个上求和。这是构建到报告中的 GA 数据,所以我按登陆页面和设备类型划分了会话,并希望以不同的方式对它们进行分组。
我通常使用 FILTER() 来处理这类事情,但它总是返回 0 总和。认为这可能是 FILTER() 的一个奇怪的边缘情况,我改用 QUERY() 代替。这给了我一个错误,但是 Google 搜索没有提供太多关于错误实际含义的文档。猜测它可能表明数据类型有问题(即不是数字),我将源的格式从 "Automatic" 更改为 "Number",但无济于事。
也许是咖啡不够用,我不知道为什么这两个函数都无法按条件进行简单的查找和求和。
FILTER() 函数
SUM(FILTER(AllData!C:C,AllData!A:A="/chestnut/",AllData!B:B="desktop"))
没有错误,但是 returns 0 无论过滤器参数如何。
QUERY() 函数
QUERY(AllData!A:G, "SELECT SUM(C) WHERE A='/chestnut/' AND B='desktop'",1)
返回错误:
Unable to parse query string for Function QUERY parameter 2: AVG_SUM_ONLY_NUMERIC
示例数据:
landingPage | deviceCategory | sessions
-------------|----------------|----------
/chestnut/ | desktop | 4
/chestnut/ | desktop | 2
/chestnut/ | tablet | 5
/chestnut/ | tablet | 1
/maple/ | desktop | 1
/maple/ | desktop | 2
/maple/ | mobile | 3
/maple/ | mobile | 1
我认为求和不起作用,因为您的数字是文本格式的。
看看这些是否有效? (更改范围以适应)
使用 FILTER()
=SUM(FILTER(VALUE(AllData!C:C),AllData!A:A="/chestnut/",AllData!B:B="desktop"))
使用查询()
=ArrayFormula(QUERY({AllData!A:B, VALUE(AllData!C:C)}, "SELECT SUM(Col3) WHERE Col1='/chestnut/' AND Col2='desktop' label SUM(Col3)''",1))
使用 SUMPRODUCT()
=SUMPRODUCT(VALUE(AllData!C2:C),AllData!A2:A="/chestnut/",AllData!B2:B="desktop")