重点突出的解释:
这是电子表格https://docs.google.com/spreadsheets/d/1eMlf9QrI59mdOlUzQSzQherSXxcMbJq9iSyHIxKNaRM/edit?usp=sharing
在ES列的工作表“ 6-7 Master 2020-21”中,每一行都必须具有来自工作表“ SummaryCitizenship”的值。该值在“ SummaryCitizenship”工作表的E列中。工作表“ SummaryCitizenship”中的值应与以下值匹配的行:该行的B列(“ SummaryCitizenship”)与B列(“ 6-7 Master 2020-21”)匹配,并且C列= 1 AND D列=个人责任
我可以将此公式放在ES列的每个单元格中(“ 6-7 Master 2020-21”)
=QUERY(SummaryCitizenship!A1:E12,"select E where B = '"&B2&"' and C = 1 and D = 'Personal Responsibility' ",0)
它可以工作,但是B列(“ 6-7 Master 2020-21”)中的信息是动态的,并且每天都会更改多次,主要是在工作表中添加新行。这意味着我需要公式不在ES的每个单元格中,而是在ES1或ES2的单元格中,并像ARRAYFORMULA那样影响工作表的其余部分。
我也尝试过
=INDEX(FILTER(SummaryCitizenship!$A$2:$E,SummaryCitizenship!$B$2:$B=B1,SummaryCitizenship!$C$2:$C=1,SummaryCitizenship!$D$2:$D="Personal Responsibility"),0,5)
将该公式放在ES的每个单元格中也将起作用,但不适用于ARRAYFORMULA
更详细解释的旧问题
我需要检查“ SummaryCitizenship!”中的值。在3个条件下进行计算,并从该比较中返回一列的值。我可以在每个单元格中以2种方式完成此操作;一个使用过滤器和索引,另一个使用查询。不幸的是,'6-7 Master 2020-21!'中的行数!工作表在不断变化,所以我不能只将公式粘贴到每个单元格中。该表有1700多行,在学年结束之前可能有近3000行。另外,我不知道何时添加新行,所以我不能只是在需要时弹出并添加公式。我确实需要一些可以从单元格参考ES2或ES1使用的东西。
以下是粘贴到每个单元格中的公式:
=INDEX(FILTER(SummaryCitizenship!$A$2:$E,SummaryCitizenship!$B$2:$B=B1,SummaryCitizenship!$C$2:$C=1,SummaryCitizenship!$D$2:$D="Personal Responsibility"),0,5)
=QUERY(SummaryCitizenship!A1:E12,"select E where B = '"&B2&"' and C = 1 and D = 'Personal Responsibility' ",0)
如果我只能让其中任何一个可以与arrayFormula一起使用,那么我会被设置的。可悲的是,他们没有。
用伪代码,我需要的是:如果学生的唯一ID(B列“ 6-7 Master 2020-21”)与工作表“ SummaryCitizenship”列B上的UniqueID匹配,并且四分之一“ SummaryCitizenship”列C为如图1所示,PRIDE标准“ SummaryCitizenship”列D为“个人责任”,将总点调整值“ SummaryCitizenship”列C返回到“ 6-7 Master 2020-21”列ES中。对“ 6-7 Master 2020-21”的所有行执行该操作! ES列最好在ES1或ES2中带有一个功能条目。
我对GAS不太了解,但是我可以做些事。如果您有包含GAS的解决方案,我也将不胜感激。
答案 0 :(得分:2)
正确,title('$$y[n]=(1/1000)^{(n/100)}\cos(200/pi nT)$$','interpreter','latex');
不适用于ArrayFormula,但是我们可以使用Vlookup来解决此问题。
这应该为您带来想要的东西:
INDEX()
(不要忘记清除您的专栏!)
标记版本:
=ArrayFormula(IFNA(VLOOKUP(B2:B,FILTER(SummaryCitizenship!B2:E,SummaryCitizenship!C2:C=1,SummaryCitizenship!D2:D="Personal Responsibility"),4,0)))