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

谷歌表格ARRAYFORMULA实现序列计数问题求助

谷歌表格用ARRAYFORMULA实现按值序列计数

你当前用的=ARRAYFORMULA(IF(I$1:I<>"", COUNTIF(I$1:I1, I1:I), ""))无效,是因为数组运算中I$1:I1不会像手动拖拽那样逐行扩展统计范围,而是固定为第一行的区间,无法实现累计计数。

要复现手动拖拽COUNTIF的效果,可使用以下两种ARRAYFORMULA兼容的公式:

方法一:COUNTIFS+ROW限定范围

=ARRAYFORMULA(IF(A:A="","",COUNTIFS(A:A,A:A,ROW(A:A),"<="&ROW(A:A))))

原理:通过ROW(A:A)<=ROW(A:A)为每行设置动态统计范围(仅统计当前行及以上的单元格),结合COUNTIFS匹配当前单元格的值,实现逐行累计计数。

方法二:BYROW+INDIRECT动态引用

=ARRAYFORMULA(IF(A:A="","",BYROW(A:A,LAMBDA(x,COUNTIF(INDIRECT("A1:A"&ROW()),x)))))

原理:用BYROW遍历A列每个单元格,通过INDIRECT("A1:A"&ROW())生成当前行及以上的动态区间,再用COUNTIF统计当前值的出现次数。

这两个公式都能自动适配A列新增的内容,无需手动拖拽,完全复现C列的预期结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 04:01:11