首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Excel -如何在一列上计数非零数的条纹

Excel -如何在一列上计数非零数的条纹
EN

Stack Overflow用户
提问于 2022-03-04 10:08:16
回答 3查看 144关注 0票数 2

我有一个包含不同数字的字计数列,但是每个单元格都有一个公式。所以我只想数有非零数的单元格,当它达到零的时候停止。换句话说,是一条条纹。

代码语言:javascript
复制
Daily session count
100
200
400
100
200
=IF(C9<>"",SUM(C9-C8),"")
200
300
=IF(C9<>"",SUM(C9-C8),"")
=IF(C9<>"",SUM(C9-C8),"")
=IF(C9<>"",SUM(C9-C8),"")
=IF(C9<>"",SUM(C9-C8),"")

这个例子中最长的条纹是5。我可以用什么公式来表示呢?我使用这个谷歌页,但我需要它为EXCEL工作。

代码语言:javascript
复制
=INDEX(COLUMNS(SPLIT(FLATTEN(SPLIT(TRIM(QUERY('Daily Count'!B2:B,,9^9)), " 0 ", )), " ")))

编辑:因此,带有0的单元格实际上有一个公式(意思是它们不是空的),但是只有当相邻的单元格被更新为每日字计数时,它们才会被填充,因此每天的会话计数被更新。

如果我错过了一天的写作,我仍然添加每日字数,这意味着每日会话计数为"0“。同样,我要寻找的是计数列中的单元格,作为0以上的最长的整数序列。谢谢:)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-03-04 11:07:45

使用ms365时,请尝试:

B1中的公式

代码语言:javascript
复制
=MAX(SCAN(0,A1:A9,LAMBDA(a,b,(a+(b<>0))*(b<>0))))

或者,使用嵌套的LET()

代码语言:javascript
复制
=MAX(SCAN(0,A1:A9,LAMBDA(a,b,LET(x,b<>0,(a+x)*x))))
票数 4
EN

Stack Overflow用户

发布于 2022-03-04 10:20:25

=MAX(FREQUENCY(IF(A1:A9,ROW(A1:A9)),IF(A1:A9=0,ROW(A1:A9))))

票数 1
EN

Stack Overflow用户

发布于 2022-03-04 10:34:00

您可以在excel中尝试这样做:

代码语言:javascript
复制
=MAX(FREQUENCY(IF(A1:A9<>0,ROW(A1:A9)),IF(A1:A9=0,ROW(A1:A9))))

这是一个数组公式,所以请点击Ctrl+Shift+Enter

A1:A9假设你的射程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71349750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档