ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[Excel 函数与公式] [开_57] 连续间隔值和求最大问题★★★

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-11-10 15:36 | 显示全部楼层
=IF(次数=0,0,IF(次数=1,MAX(data1),MAX(IF(ISERROR(data1+newdata1),"",data1+newdata1)))

data=OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)
data1=FREQUENCY(IF(data=问题!K$1,"",ROW(data)),IF(data=问题!K$1,ROW(data),""))
newdata=OFFSET(OFFSET(问题!C$2,INDEX(data1,1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(data1,1),1)
newdata1=FREQUENCY(IF(newdata=问题!K$1,"",ROW(newdata)),IF(newdata=问题!K$1,ROW(newdata),""))
次数=COUNTIF(data,问题!K$1)-1
用代数代换法代入,这个函数公式有这么长:
=IF(COUNTIF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1),问题!K$1)-1=0,0,IF(COUNTIF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1),问题!K$1)-1=1,MAX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“))),MAX(IF(ISERROR(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“))+FREQUENCY(IF(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1)=问题!K$1,”“,ROW(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1))),IF(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1)=问题!K$1,ROW(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1)),”“))),"",FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“))+FREQUENCY(IF(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1)=问题!K$1,”“,ROW(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1))),IF(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1)=问题!K$1,ROW(OFFSET(OFFSET(问题!C$2,INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1)+1,0),0,0,COUNTA(问题!C:C)-2-INDEX(FREQUENCY(IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,”“,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1))),IF(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)=问题!K$1,ROW(OFFSET(问题!C$2,0,0,COUNTA(问题!C:C)-1,1)),”“)),1),1)),”“)))))

TA的精华主题

TA的得分主题

发表于 2011-11-10 15:49 | 显示全部楼层
lg_cai 发表于 2005-10-13 15:37
Gdliyy注:
这个公式属于常规解法,公式是还可以优化的,再试试:)

=MAX(IF(ISERR(bb+cc),0,bb+cc)
aa =IF(sjz=答案!L$1,ROW(sjz)-1,0)
bb =SMALL(aa,ROW(sjz))-SMALL(aa,ROW(sjz)-1)-(SMALL(aa,ROW(sjz))<>0)
cc =SMALL(aa,ROW(sjz)-1)-SMALL(aa,ROW(sjz)-2)-(SMALL(aa,ROW(sjz)-1)<>0)
sjz =答案!$B$2:$B$21
用代数代换法代入,这个公式最短。=MAX(IF(ISERR(SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21))-SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-1)-(SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21))<>0)+SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-1)-SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-2)-(SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-1)<>0)),0,SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21))-SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-1)-(SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21))<>0)+SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-1)-SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-2)-(SMALL(IF(答案!$B$2:$B$21=答案!K$1,ROW(答案!$B$2:$B$21)-1,0),ROW(答案!$B$2:$B$21)-1)<>0)))

TA的精华主题

TA的得分主题

发表于 2011-12-14 22:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-12-15 20:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
求解.rar (5.87 KB, 下载次数: 6) 用 辅助表格 解决,献丑了……

TA的精华主题

TA的得分主题

发表于 2012-6-1 21:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
看到17楼。。。

TA的精华主题

TA的得分主题

发表于 2019-7-19 14:36 | 显示全部楼层
本帖最后由 liuhe5955922 于 2019-7-19 14:50 编辑

11111111111111111111111111111111
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-19 17:30 , Processed in 0.039440 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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