如何在Google Sheets中自动对整列应用AVERAGEIFS函数?
在Google Sheets中自动批量应用AVERAGEIFS函数的方法
前提准备
已通过=UNIQUE(temperature!$B2:B)在「Unique Date」列(假设为A列)自动生成唯一日期列表,该列表会随原表新增数据自动更新。
方法一:ARRAYFORMULA + AVERAGEIFS
在「Avg temperature」列首单元格(如B2)输入以下公式,即可自动填充所有对应日期的平均温度:
=ARRAYFORMULA(IF(A2:A<>"", AVERAGEIFS(temperature!$A2:$A, temperature!$B2:$B, A2:A), ""))
- 核心逻辑:将AVERAGEIFS的条件参数设为整个
A2:A数组,ARRAYFORMULA批量对每个日期执行平均值计算,IF函数确保空日期行返回空值。
方法二:BYROW + LAMBDA(逻辑更直观)
如果对数组式写法不熟悉,可使用BYROW遍历每行日期,逐个计算平均值:
=BYROW(A2:A, LAMBDA(date, IF(date<>"", AVERAGEIFS(temperature!$A2:$A, temperature!$B2:$B, date), "")))
- 核心逻辑:BYROW遍历A列的每个日期,LAMBDA定义单个日期的计算规则,确保每个日期都能得到对应的平均温度。
效果验证
当原temperature表新增温度数据时,「Unique Date」列会自动更新日期列表,「Avg temperature」列也会同步计算新增日期的平均值,无需手动拖拽或修改公式。
内容的提问来源于stack exchange,提问作者Mat
相关产品推荐
相关产品推荐

