ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 函数与公式 > 如何统计单元格中1连续出现的次数最大是多少?

如何统计单元格中1连续出现的次数最大是多少?

作者:绿色风 分类: 时间:2022-08-17 浏览:146
楼主
herelazy
Q:如何统计A1单元格中1连续出现的次数最大是多少?

如图:

 

A:数组公式
  1. =MAX(FREQUENCY(IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="1",ROW(INDIRECT("1:"&LEN(A1)))),IF(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)="0",ROW(INDIRECT("1:"&LEN(A1))))))
示例文件:
统计次数.rar



该帖已经同步到
2楼
wjc2090742
供参:
  1. =LOOKUP(9^9,FIND(REPT(1,ROW(1:99)),A1),ROW(1:99))
  1. =LOOKUP(9^9,FIND(REPT(1,ROW(INDIRECT("1:"&LEN(A1)))),A1),ROW(INDIRECT("1:"&LEN(A1))))
3楼
半半瓶醋
照版主思路模拟一个
  1. =MAX(LEN(A1)-LEN(SUBSTITUTE(A1,REPT(1,ROW(1:99)),,1)))
4楼
herelazy
半半瓶醋的思路解析:
1、用rept构造一个数组,这个数组是由1,11,111,1111,……99个1构成,这些就是将要被替换为空的字符串;
2、如果A1中具有这些字符串,将被替换为空;
3、这样A1的长度就变小啦,再用len去计算长度,再和原来的长度求差,组成一系列差值,用max求最大的差值,就是最长的1连续的次数
5楼
Zaezhong
如果全部是0的时候不对,公式返回NA了
6楼
wjc2090742
嗯,没考虑周全,用醋醋的吧。或者这样
  1. =MAX(ISNUMBER(FIND(REPT(1,ROW(1:99)),A1))*ROW(1:99))
7楼
冰心8549
谢谢分享,学习.学习.

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap