Google sheets 查询where子句中的数组单元格引用

Google sheets 查询where子句中的数组单元格引用,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,Google Sheets示例文件: 我试图计算每个人每个月的平均值。我要匹配的两个变量是日期的名称和月份。当前,如果我使用以下公式将公式应用于每个单元格,我可以获得正确的值: =IFERROR(查询(Sheet2!A:C,“选择平均值(C),其中A='”&A2&'”和月(B)=月(日期)”&文本(日期(2021年,月(日期值($A$1&“)),1),“yyyy-mm-dd”)&“)标签平均值(C)”,“-” 我想做的是能够做一个arrayformula,这样我只需要输入一次公式,而不必担心输

Google Sheets示例文件:

我试图计算每个人每个月的平均值。我要匹配的两个变量是日期的名称和月份。当前,如果我使用以下公式将公式应用于每个单元格,我可以获得正确的值:

=IFERROR(查询(Sheet2!A:C,“选择平均值(C),其中A='”&A2&'”和月(B)=月(日期)”&文本(日期(2021年,月(日期值($A$1&“)),1),“yyyy-mm-dd”)&“)标签平均值(C)”,“-”

我想做的是能够做一个arrayformula,这样我只需要输入一次公式,而不必担心输入的名称数量。我试着用这个公式:

=ARRAYFORMULA(iError(查询(Sheet2!A:C,“选择平均值(C),其中A=”)&A2:A&“和月(B)=月(日期)”&文本(日期(2021年,月(日期值($A$1&“1”)),1),“yyyy-mm-dd”)&“标签平均值(C)”,“-”)

,但它只计算该行的平均值

如果可能,解决方案也应该使用查询,因为在我将使用它的数据中,由于某种原因,我无法使用sumifs/averageifs。

尝试:

=QUERY('data source'!A2:C, 
 "select A,avg(C) 
  where month(B)+1 = "&MONTH(A1&1)&" 
  group by A 
  label avg(C)''")

=ARRAYFORMULA({SORT(UNIQUE(FILTER('data source'!A2:A,'data source'!A2:A'))),
IFNA(VLOOKUP(排序(唯一(筛选器('data source'!A2:A,'data source'!A2:A'))),
查询('数据源'!A2:C,“选择A,平均值(C),其中月份(B)+1=”&
月份(A1和1)和“按标签分组平均值(C)”,2,0),“-”})

根据需要解决问题!解决这个问题的主要方法是在查询后添加vlookup@player0再次非常感谢您提供快速而优雅的解决方案!
=ARRAYFORMULA({SORT(UNIQUE(FILTER('data source'!A2:A, 'data source'!A2:A<>""))), 
 IFNA(VLOOKUP(SORT(UNIQUE(FILTER('data source'!A2:A, 'data source'!A2:A<>""))), 
 QUERY('data source'!A2:C, "select A,avg(C) where month(B)+1 = "&
 MONTH(A1&1)&" group by A label avg(C)''"), 2, 0), "-")})