求月度累计平均值公式:计算当月截至当日的累计均值
实现当月截至当日累计小时数平均值的公式
Excel 版本
适用于Excel 365/2021(支持动态数组)
假设日期列是A列,小时数列是B列,目标计算列(Month average)从D2开始,使用以下公式:
=AVERAGEIFS($B$2:B2, $A$2:A2, ">="&EOMONTH(A2,-1)+1, $A$2:A2, "<="&A2)
公式逻辑:
EOMONTH(A2,-1)+1计算出当前日期所在月份的第一天AVERAGEIFS筛选出从当月第一天到当前行的所有小时数,计算平均值
适用于旧版Excel(需数组输入)
如果你的Excel版本不支持动态数组,输入公式后按Ctrl+Shift+Enter完成数组公式输入:
=AVERAGE(IF((MONTH($A$2:A2)=MONTH(A2))*(YEAR($A$2:A2)=YEAR(A2)),$B$2:B2))
公式逻辑:
- 通过
MONTH和YEAR函数判断当前行及以上的日期是否属于同一月份 - 用
IF提取符合条件的小时数,再用AVERAGE计算平均值
Google Sheets 版本
同样假设日期列是A列,小时数列是B列,目标列从D2开始,可使用以下任一公式:
=AVERAGEIFS($B$2:B2, $A$2:A2, ">="&EOMONTH(A2,-1)+1, $A$2:A2, "<="&A2)
或者使用FILTER函数更直观:
=AVERAGE(FILTER($B$2:B2, MONTH($A$2:A2)=MONTH(A2), YEAR($A$2:A2)=YEAR(A2)))
注意事项
- 确保Date列的单元格格式为日期格式,而非文本格式,否则日期判断会失效
- 公式中的单元格范围需根据你的实际数据位置调整(比如数据从第一行开始,需将
$A$2:A2改为$A$1:A1)
内容的提问来源于stack exchange,提问作者Foroand
相关产品推荐
相关产品推荐

