过滤数组时如何堆叠FILTER函数

问题描述 投票:0回答:1

我的电子表格位于此处,每个人都应该拥有编辑权限:https://docs.google.com/spreadsheets/d/1TGwDf5vTsHbDGiNZBTRHDwVpHZd9lzx2r1abV0ygPBE/edit?usp=sharing

我试图弄清楚当每个函数过滤的范围是一个数组时,如何在选项卡“Oct 19 - Morning”中堆叠多个 FILTER() 函数。我正在代码块中尝试以下函数,但它返回一个错误,指出“在 ARRAY_LITERAL 中,数组文字缺少一行或多行的值。

={ FILTER( {'主表'!$C$2:$D,'主表'!$E$2:$E},SEARCH("
",'主表'!$E$2:$E)) ;过滤器( {'手动 添加'!$A$2:$A,'手动添加'!$C$2:$C}, SEARCH("

",'手动添加 加法'!$C$2:$C)) }

过滤器本身工作正常,但当堆叠在一起时,它们会产生错误。

google-sheets filter spreadsheet
1个回答
0
投票
FILTER

命令的结果。

={
FILTER({'Master Sheet'!$C$2:$D,'Master Sheet'!$E$2:$E},SEARCH("",'Master Sheet'!$E$2:$E))
;
FILTER({'Manual Addition'!$A$2:$A, 'Manual Addition'!$C$2:$C}, SEARCH("",'Manual Addition'!$C$2:$C))
}

虽然每个过滤器都是独立工作的,但堆叠时会生成错误消息

“在 ARRAY_LITERAL 中,数组文字缺少一个或多个值 行。”

这样做的原因是每个数组的列数必须相同。在这种情况下,

    FILTER({'Master Sheet'!$C$2:$D, 'Master Sheet'!$E$2:$E},SEARCH("", 'Master Sheet'!$E$2:$E))
  • 生成三列数据(“Clean Name”、“Experience”、“Oct-19 Morning”)
    但是
  • FILTER({'Manual Addition'!$A$2:$A,'Manual Addition'!$C$2:$C}, SEARCH("",'Manual Addition'!$C$2:$C))
  • 仅生成两列数据。
    
    
  • 解决方案是修改其中一项或多项
FILTER

。这是三栏的结果

={
"Clean Name","Experience","Oct-19 Morning";
FILTER({'Master Sheet'!$C$2:$D, 'Master Sheet'!$E$2:$E},SEARCH("",'Master Sheet'!$E$2:$E));
FILTER({'Manual Addition'!$A$2:$B,'Manual Addition'!$C$2:$C}, SEARCH("",'Manual Addition'!$C$2:$C))
}


示例 - 过滤器#1

filterone


示例 - 过滤器#2

filtertwo


示例 - 带标题的组合过滤器

combined

© www.soinside.com 2019 - 2024. All rights reserved.