如何在数组公式中使用 Averageifs 或 Sumifs
How to use Averageifs or Sumifs in an Arrayformula
我将 post link 添加到本文底部的电子表格中。
我正在尝试计算某个日期范围内的一列数字的平均值。下面的公式有效,但我必须将它拖到列中,我希望它是一个数组以便自动更新。
=iferror(averageifs(B:B,A:A,">="&C2,A:A,"<="&D2),1)
所以我将它创建为一个数组,如下所示:
=iferror(ArrayFormula(averageifs(B:B,A:A,">="&C2:C,A:A,"<="&D2:D)),1
但它在第一个单元格后停止。所以我把平均函数分解成求和和计数以便除法。
计数数组使用此公式工作:
=iferror(ArrayFormula(countifs(A:A,">="&C2:C,A:A,"<="&D2:D)),1)
但是总和数组甚至没有超过第一个单元格:
=iferror(ArrayFormula(SUMIFS(B:B,A:A,">="&C2:C,A:A,"<="&D2:D)),1)
并且组合通过了第一个单元格,但计算全部归零:
=ArrayFormula(iferror(SUMIFS(B:B,A:A,">="&C2:C,A:A,"<="&D2:D)/countifs(A:A,">="&C2:C,A:A,"<="&D2:D),1))
我想要达到的是上个月的平均值。
如果有人能帮助我,我将不胜感激!
https://docs.google.com/spreadsheets/d/1XhoLl5hB-MpXFz9VS2aLqJOWbXk1d_7apnwKWFdDUlg/edit?usp=sharing
您正在无缘无故地尝试应用带有大量重复值的有点奇怪的结构逻辑。基本上,看起来你需要这个:
=ARRAYFORMULA(QUERY({TEXT(A2:A, "yyyy-mmm"), B2:B},
"select Col1,avg(Col2)
where Col2 is not null
group by Col1
order by avg(Col2) desc
label avg(Col2)''", 0))
但如果你真的真的需要的话:
=ARRAYFORMULA(IF(LEN(A2:A),
IFERROR(VLOOKUP(TEXT(DATE(YEAR(A2:A), MONTH(A2:A)-1, 1), "yyyy-mmm"),
QUERY({TEXT(A2:A, "yyyy-mmm"), B2:B},
"select Col1,avg(Col2)
where Col2 is not null
group by Col1", 0), 2, 0), 0), ))
我将 post link 添加到本文底部的电子表格中。
我正在尝试计算某个日期范围内的一列数字的平均值。下面的公式有效,但我必须将它拖到列中,我希望它是一个数组以便自动更新。
=iferror(averageifs(B:B,A:A,">="&C2,A:A,"<="&D2),1)
所以我将它创建为一个数组,如下所示:
=iferror(ArrayFormula(averageifs(B:B,A:A,">="&C2:C,A:A,"<="&D2:D)),1
但它在第一个单元格后停止。所以我把平均函数分解成求和和计数以便除法。
计数数组使用此公式工作:
=iferror(ArrayFormula(countifs(A:A,">="&C2:C,A:A,"<="&D2:D)),1)
但是总和数组甚至没有超过第一个单元格:
=iferror(ArrayFormula(SUMIFS(B:B,A:A,">="&C2:C,A:A,"<="&D2:D)),1)
并且组合通过了第一个单元格,但计算全部归零:
=ArrayFormula(iferror(SUMIFS(B:B,A:A,">="&C2:C,A:A,"<="&D2:D)/countifs(A:A,">="&C2:C,A:A,"<="&D2:D),1))
我想要达到的是上个月的平均值。
如果有人能帮助我,我将不胜感激!
https://docs.google.com/spreadsheets/d/1XhoLl5hB-MpXFz9VS2aLqJOWbXk1d_7apnwKWFdDUlg/edit?usp=sharing
您正在无缘无故地尝试应用带有大量重复值的有点奇怪的结构逻辑。基本上,看起来你需要这个:
=ARRAYFORMULA(QUERY({TEXT(A2:A, "yyyy-mmm"), B2:B},
"select Col1,avg(Col2)
where Col2 is not null
group by Col1
order by avg(Col2) desc
label avg(Col2)''", 0))
但如果你真的真的需要的话:
=ARRAYFORMULA(IF(LEN(A2:A),
IFERROR(VLOOKUP(TEXT(DATE(YEAR(A2:A), MONTH(A2:A)-1, 1), "yyyy-mmm"),
QUERY({TEXT(A2:A, "yyyy-mmm"), B2:B},
"select Col1,avg(Col2)
where Col2 is not null
group by Col1", 0), 2, 0), 0), ))