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

如何查找区域中首个累计和≥0的单元格(Excel/Google Sheets)

查找横向数据中首个累计和≥0的单元格

适用Excel 365/Google Sheets的动态数组公式

如果你的数据是横向排列(比如某一行的连续单元格),可以用SCAN函数计算逐列累计和,再匹配第一个满足≥0的位置:

=INDEX(数据范围,MATCH(TRUE,SCAN(0,数据范围,LAMBDA(a,b,a+b))>=0,0))

举个例子,假设数据在B2:F2,公式就是:

=INDEX(B2:F2,MATCH(TRUE,SCAN(0,B2:F2,LAMBDA(a,b,a+b))>=0,0))
  • SCAN(0, 数据范围, LAMBDA(a,b,a+b)):从初始值0开始,依次累加每个单元格的值,生成累计和数组
  • MATCH(TRUE, ...>=0, 0):找到累计和数组中第一个≥0的位置
  • INDEX:根据位置返回对应单元格的值

旧版Excel兼容公式

如果用的是不支持动态数组的旧版Excel,用数组公式实现:

=INDEX(B2:F2,MATCH(TRUE,MMULT(TRANSPOSE(ROW(B2:F2)^0),--(COLUMN(B2:F2)>=TRANSPOSE(COLUMN(B2:F2))))*B2:F2>=0,0))

输入时需按Ctrl+Shift+Enter触发数组计算。

Google Sheets替代方案

除了上述动态数组公式,也可以用ARRAYFORMULA结合SUMIF实现:

=INDEX(B2:F2,MATCH(TRUE,ARRAYFORMULA(SUMIF(COLUMN(B2:F2),"<="&COLUMN(B2:F2),B2:F2))>=0,0))

使用时只需将公式中的B2:F2替换成你实际的横向数据范围即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 08:48:21