我有一个Google电子表格文档,我用它来维护各种系统上所有业务逻辑的参考。它由2张纸组成:
code
列(B列)以及有关在其他列中完成逻辑的许多详细信息code
code
与系统之间的关系是多对多的,因此许多系统可能会使用相同的code
,并且每个系统可能会有很多code
。
我希望能够根据是否为特定系统找到每行中的code
列来过滤Sheet1。
示例
code
过滤Sheet1,其中{2}中包含code
!E50:K51。最终结果应该是Sheet1只显示那些代码(当然还有所有列)我已经看过并尝试了一些常见的嫌疑人(ARRAY_FORMULA,INDEX,LOOKUP),但我还没有完全理解它们。我认为答案将是“过滤 - >按条件 - >自定义公式”,但我不确定该放在那里。
非常感谢任何帮助!
答案 0 :(得分:2)
过滤器和条件格式设置规则中的自定义公式只能使用标准表示法(='sheetname'!cell)引用同一张表。要引用公式中的另一个工作表,请使用INDIRECT函数。
假设过滤条件在A2:A3中,名为Sheet1
的工作表中的过滤器自定义公式为:
=ISNUMBER(MATCH(A2,INDIRECT("Sheet2!$A$2:$A$3"),0))
LOOKUP只能在单个列或单行中查找值,另一方面AND和OR函数不能在数组公式中使用,因此,我们将比较标量值和2D范围,而不是使用它们。这将返回一个TRUE / FALSE值的二维数组,我们将强制转换为数字(1表示TRUE,0表示FALSE)并将它们相加。
最终的自定义公式如下:
=ArrayFormula(SUM(N(A2=INDIRECT("Sheet2!E50:K51"))))