ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1229|回复: 6

[求助] 如何求三列数据中某数字的行间隔最大值,均值和中位值?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-8-17 17:16 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
多列单元格内均为自然数或空值,怎么求ABC列(DEF也一样)中,数字0的行间隔的最大值,均值和中位值?举例:
A  B  C
1  0  2
4  6  1
2  2  3
3  1  2
0  3  4
5  2  3
2  1  1
4  3  0
如以上数据中,0的行间隔值3,2。
请教大神,数字0行间隔的最大值,均值和中位值的公式该如何实现?
更具体事例请见附件的图片,原始数据请见附件表格。



多列行间隔数值图例.JPG

三列数据按行间隔数值.zip

10.81 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2019-8-17 17:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
都是数组公式:

B250 =LARGE(FREQUENCY(ROW(A:A),(B$2:D$247=0)*ROW(B$500:B$745))-1,3)

B251 =MEDIAN(FREQUENCY(ROW(B$2:D$247),IF(B$2:D$247=0,ROW(B$2:B$247))))

B252 =AVERAGE(FREQUENCY(ROW(B$2:D$247),IF(B$2:D$247=0,ROW(B$2:B$247))))




TA的精华主题

TA的得分主题

 楼主| 发表于 2019-8-17 17:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
solextrade 发表于 2019-8-17 17:44
都是数组公式:

B250 =LARGE(FREQUENCY(ROW(A:A),(B$2:D$247=0)*ROW(B$500:B$745))-1,3)

第一个为什么要用Large函数,我就是想求一个最大的,用Max更合适吧?

TA的精华主题

TA的得分主题

发表于 2019-8-17 18:09 | 显示全部楼层
本帖最后由 solextrade 于 2019-8-17 18:21 编辑
urmylove 发表于 2019-8-17 17:58
第一个为什么要用Large函数,我就是想求一个最大的,用Max更合适吧?

B251 公式修改下:
=MEDIAN(FREQUENCY(ROW(A:A),IF(MMULT(--(B$2:D$247=0),{1;1;1}),ROW(B$500:B$745)))-1)

用MAX不对!
比如我们现在共有246行数据,再比如我们只有 第240行 和 第 245行有 0 (这里是假设,只是为说明问题),那么我们知道最大间隔应该是4对吧,但公式结果会是  239

B252公式我再想想该怎么改。


TA的精华主题

TA的得分主题

 楼主| 发表于 2019-8-17 18:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
solextrade 发表于 2019-8-17 18:09
B251 公式修改下:
=MEDIAN(FREQUENCY(ROW(A:A),IF(MMULT(--(B$2:D$247=0),{1;1;1}),ROW(B$500:B$745))) ...

按照我的原意,最大间隔就是239,所以应该用Max,图示中之所以举例两个0中间的数值只是为了说明问题,实际上是可以理解成,从第一行开始,一直无0的行数值。麻烦用Max再写个公式吧

TA的精华主题

TA的得分主题

发表于 2019-8-17 18:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
B250 =MAX(FREQUENCY(ROW(B$2:D$247),IF(B$2:D$247=0,ROW(B$2:B$247)))-1)
B251 =MEDIAN(FREQUENCY(ROW(B$2:D$247),IF(B$2:D$247=0,ROW(B$2:B$247)))-1)
B252 =AVERAGE(FREQUENCY(ROW(B$2:D$247),IF(B$2:D$247=0,ROW(B$2:B$247)))-1)

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-8-17 18:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
solextrade 发表于 2019-8-17 18:34
B250 =MAX(FREQUENCY(ROW(B$2:D$247),IF(B$2:D$247=0,ROW(B$2:B$247)))-1)
B251 =MEDIAN(FREQUENCY(ROW(B$ ...

基本解决问题,多谢大神!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 01:19 , Processed in 0.032987 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表