gSheet - 无法使用数组中的过滤器获得结果

Posted

技术标签:

【中文标题】gSheet - 无法使用数组中的过滤器获得结果【英文标题】:gSheet - Unable to get results using filter in an array 【发布时间】:2022-01-05 06:56:46 【问题描述】:

我正在尝试使用数组公式引用具有多个匹配项的数据。 它无法找到任何数据。但是,如果我将“DTR!C:C=B:B”更改为“DTR!C:C=B6、B7 等”并使用数组之外的公式,它就可以工作。

我正在尝试列出拥有多台计算机的用户的计算机名称。

谢谢

=ARRAYFORMULA(iferror(transpose(
FILTER(
DTR!L:L,DTR!C:C=B:B, 
DTR!B:B="Checked"
DTR!U:U="False",
DTR!V:V="False",
))))

示例 https://docs.google.com/spreadsheets/d/1dFDl0JFzaBheRkT5LSATDTSnx6bmZezIBtmmSS_tXTA/edit?usp=sharing

【问题讨论】:

ARRAYFORMULA 不支持过滤器。与所需输出的示例共享您的 shhet 副本 @player0 感谢您对此进行调查。您将在 DTR 选项卡上找到标记为红色的区域。 docs.google.com/spreadsheets/d/… 【参考方案1】:

删除 R6:R 范围内的所有内容并在 R6 中使用:

=INDEX(IFNA(VLOOKUP(B6:B, FILTER(
 DSMT!C:C, DSMT!M:M, 
 DSMT!B:B="Checked",
 DSMT!U:U="False",
 DSMT!V:V="False"), 2, 0)))

接下来,删除 S6:AA 范围内的所有内容并在 S6 中使用它:

=INDEX(IFERROR(VLOOKUP(B6:B, 
 TRIM(SPLIT(FLATTEN(QUERY(QUERY(FILTER(
 DSMT!C:C&"×", DSMT!M:M, ROW(DSMT!M:M), 
 DSMT!B:B="unchecked",
 DSMT!U:U="False",
 DSMT!V:V="False"), 
 "select max(Col2) group by Col3 pivot Col1"),,9^9)), "× ", 1)), 
 SEQUENCE(1, 9)+1, 0)))

【讨论】:

谢谢先生!它就像一个魅力!

以上是关于gSheet - 无法使用数组中的过滤器获得结果的主要内容,如果未能解决你的问题,请参考以下文章

Django Q过滤器,无法在单个查询中获得结果

从 SQL 结果中过滤大数组

在 gsheet 中的特定列和行上添加时间戳并冻结列

可以使用 Zapier 中的代码实现交叉引用数据流吗?特别是从 2 个不同的数据流中生成 GSheets 中的行?

如何通过使用数组从 Google 表格中提取数据并格式化来优化 Apps 脚本代码?

从opencv中的像素数组创建矩阵