You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用公式在单个单元格中计算连续正负数值的平均值

你可以通过以下Google Sheets公式实现需求:

单单元格自动溢出所有连续同符号段平均值

在任意空白单元格输入下方公式,即可自动输出所有连续同符号数值段的平均结果:
=LET(data,A2:A16,filtered,FILTER(data,data<>""),signs,SIGN(filtered),groups,SCAN(0,SEQUENCE(ROWS(filtered)),LAMBDA(acc,i,IF(i=1,1,IF(INDEX(signs,i)=INDEX(signs,i-1),acc,acc+1)))),BYROW(UNIQUE(groups),LAMBDA(g,AVERAGE(FILTER(filtered,groups=g)))))

逻辑说明

  • 用LET定义中间变量,简化公式结构,避免重复计算
  • 先过滤A2:A16范围内的空值,排除空值对符号判断的干扰
  • 通过SIGN提取每个数值的正负属性,SCAN函数会为连续同符号的数值分配相同的分组编号
  • 最终按分组计算平均值,结果自动向下溢出
对齐C列求和结果的行级公式

如果你需要和C列已实现的连续求和结果对齐,在每个连续段的最后一行显示对应平均值,在D2单元格输入下方公式后下拉填充到D16即可:
=IF(OR(A3="",SIGN(A3)<>SIGN(A2)),C2/COUNTIFS(A$2:A2,IF(A2>0,">0","<0"),ROW(A$2:A2),">"&IFERROR(MAX(ROW(A$1:A1)*(A$1:A1<>"")*(SIGN(A$1:A1)<>SIGN(A2))),0)),"")

适配调整说明

如果数据中包含0值,可根据需求调整SIGN部分的判断逻辑,将0归为正数、负数或单独作为一个分组计算即可。

内容的提问来源于stack exchange,提问作者Arbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 13:36:00