公式通过向下拖动鼠标起作用,但不适用于 ArrayFormula

Formula works by dragging down the mouse but doesn't work with ArrayFormula

我有一个问题,我就是不明白问题出在哪里。我正在尝试比较两个电子表格数据以根据它们生成一些结果。

我目前拥有的是用作查询的电子表格:

Question 1 | Question 2 | Question 3
(dropdown) | (dropdown) | (dropdown)
(dropdown) | (dropdown) | (dropdown)
(dropdown) | (dropdown) | (dropdown)
(dropdown) | (dropdown) | (dropdown)

PS:每列上的那四个下拉菜单具有相同的值 - 我们的想法是为每个问题创建一个 "multi-selection" 下拉菜单。

然后我有另一个电子表格(这是我的 "database"),如下所示:

Is valid? -=- | Data I Need | Answer 1 | Answer 2 | Answer 3
TRUE / FALSE  | Data needed | Multiple answers separated by a comma

我还有第三个电子表格,名为“结果”,它应该只显示匹配的 questions/answers。

除了我必须在我的所有列中向下拖动公式以在我的数据库电子表格中重复该公式之外,一切都完美无缺。如果我尝试在第一行添加 ArrayFunction,它不会重复公式。

在我的数据库电子表格中,我在我的 "Is valid?" 列中使用了这个公式(这是我通过向下拖动鼠标重复整个列的内容):

=IF(AND(SUM(
IF(OR(ISNUMBER(MATCH("All",NamedRangeQuestion1)),SUMPRODUCT(ARRAYFORMULA(ISNUMBER(MATCH(TRANSPOSE(TRIM(SPLIT(Database!C2,","))),NamedRangeQuestion1,0))))),TRUE,FALSE),
IF(OR(ISNUMBER(MATCH("All",NamedRangeQuestion2)),SUMPRODUCT(ARRAYFORMULA(ISNUMBER(MATCH(TRANSPOSE(TRIM(SPLIT(Database!D3,","))),NamedRangeQuestion3,0))))),TRUE,FALSE), IF(OR(ISNUMBER(MATCH("All",NamedRangeQuestion2)),SUMPRODUCT(ARRAYFORMULA(ISNUMBER(MATCH(TRANSPOSE(TRIM(SPLIT(Database!E3,","))),NamedRangeQuestion3,0))))),TRUE,FALSE)
) = COUNTIF(queryRowTotal,"Filtering"),COUNTIF(queryRowTotal,"Filtering") > 0),
TRUE,FALSE
)

它工作完美,但问题是我必须将我的公式拖到我的整个专栏中。如果我尝试对此使用 ArrayFormula,它就不起作用。

在我的 "Results" 电子表格中,我有:

=IFERROR(query(tableDatabase,"select B WHERE A = TRUE",-1),"")

我需要的是在我的结果电子表格中收集匹配结果。一切正常,但在我的情况下必须向下拖动鼠标而不是自动重复公式是一个交易中断。

Here 我有一个电子表格的工作示例。

我做错了什么?

更好的解决方案是直接在结果电子表格上创建查询,而不必在 "database" 电子表格上编写该代码,但我想不出使用过滤器 and/or 的解决方案查询功能。

=ARRAYFORMULA(IF(LEN(B2:B), IF(
 REGEXMATCH(C2:C, TEXTJOIN("|", 1, Query!A3:A6))*
 REGEXMATCH(D2:D, TEXTJOIN("|", 1, Query!B3:B6))*
 REGEXMATCH(E2:E, TEXTJOIN("|", 1, Query!C3:C6))=1, TRUE), ))