Google 工作表 Arrayformula 查询

Google Sheets Arrayformula a Query

我原来有这个公式:

=QUERY('Sheet1'!$C:$I, "Select F where D contains '"&$B86&"'")

这适用于从 $B86 到 $B145 的每个单元格。 sheet 的用户不小心删除了公式,添加保护不是一个选项。所以我正在考虑仅使用 arrayformula 将公式添加到 header。但是arrayformula不能用于查询。

问题 1: 当只有 header 有公式时,还有其他方法可以得到相同的结果吗?

={"Messages Sent";ARRAYFORMULA(QUERY('Sheet1'!$C:$I, "Select F where D contains '"&B86:B145&"'"))}

这就是我想要实现的目标。但是,这不会填充从 B87 到 B145 的数据。我只得到 header 和 header 下面 1 行的结果。

说明

这显示 header ={"Messages Sent";

这应该是数组公式ARRAYFORMULA(QUERY('Sheet1'!$C:$I, "Select F where D contains '"&B86:B145&"'"))}

这是另一个sheet'Sheet1'!$C:$I

的数据

这是从当前sheet找到F in sheet1的相同数据'"&B86:B145&"'

问题 2: 如何从自动设置为数字格式的查询中获取答案,以便我可以直接添加它们而不是将它们手动格式化为NUMBER?

也许试试:

={"Messages Sent"; ARRAYFORMULA(IFNA(VLOOKUP(B86:B145, 
 {REGEXEXTRACT(""&Sheet1!D6:D, TEXTJOIN("|", 1, B86:B145)), Sheet1!F6:F*1}, 2, 0)))}