Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: lbport

[已解决]A列是一组0.47~0.63的随机数据,B列是1和0的随机值,1带便正确,0代表错误,如何算...

[复制链接]
发表于 2017-3-29 15:12 | 显示全部楼层
lbport 发表于 2017-3-29 14:53
三键结束后要向下填充吗?三键后返回的结果是5959,这代表什么意思呢?

看楼上的吧
这个不需要下拉填充了,直接返回正确的结果,比如说连续3527值时最大,结果就是3527
回复

使用道具 举报

 楼主| 发表于 2017-3-29 15:35 | 显示全部楼层
tgydslr 发表于 2017-3-29 14:43
这是个数组公式,需要三键结束才能返回正确结果的
=RIGHT(MAX(--(ROUND(SUBTOTAL(1,OFFSET(B1,,,ROW(200 ...

你说的:OFFSET(B1,,,ROW(2000:10000))说的是从B1开始往下去2000到10000个数 ,  是说B1:B200,B2:B2001...B8001:B10000这样吗?
其他的能看懂,还有,你更正后的公式三键后返回: #NAME?  刚才那个还能显示,这个还不能显示了。。
回复

使用道具 举报

发表于 2017-3-29 16:15 | 显示全部楼层
lbport 发表于 2017-3-29 15:35
你说的:OFFSET(B1,,,ROW(2000:10000))说的是从B1开始往下去2000到10000个数 ,  是说B1:B200,B2:B200 ...

这个2003版会报错,你把2000:10000换成A2000:A10000就没问题了
OFFSET(B1,,,ROW(2000:10000))说的是从B1开始往下去2000到10000个数,就是说B1:B2000,B1:B2001,B1:B2002,……B1:B10000,
你说的算法和这个不一样?
回复

使用道具 举报

 楼主| 发表于 2017-3-29 16:34 | 显示全部楼层
tgydslr 发表于 2017-3-29 16:15
这个2003版会报错,你把2000:10000换成A2000:A10000就没问题了
OFFSET(B1,,,ROW(2000:10000))说的是从B1 ...

我用的是2007,也报错,我说的不是B1:B2000,B1:B2001...啊
我所说的区间N  当N=2000  是要B1:B2000,B2:B2001,B3:B2004...的平均值
                         当N=2100  是要从B1:B2100  B2:2101,.......的平均值
因为我只能确定N的取值范围是总数的三分之一左右,假设总样本是10000,N则是3000~3500左右的数,就把边界定为3000到3500好了,分别对N=3000,N=3001,N=3002......N=3500的时候求B的所有组合的平均值,假设如果当N=3215时,某个B的区间,比如说是B220:B3434的平均值为0.85,此时这个平均值既是当N=3215时的所有组合的平均值的最大值,也是当N不等于3215时的所有组合的最大值,从而我可以确认我要的A列的范围是A220:A3434,也可以知道对应的最高平均值就是0.85 ,有点复杂,呵呵,有点像数学里面的随机变量的函数这样的,求一个最优区间,使概率达到最大
回复

使用道具 举报

发表于 2017-3-29 16:42 | 显示全部楼层
lbport 发表于 2017-3-29 16:34
我用的是2007,也报错,我说的不是B1:B2000,B1:B2001...啊
我所说的区间N  当N=2000  是要B1:B2000, ...


呵呵,早说明白,该下班了,明天上班给你公式吧
回复

使用道具 举报

 楼主| 发表于 2017-3-29 16:48 | 显示全部楼层
tgydslr 发表于 2017-3-29 16:42
呵呵,早说明白,该下班了,明天上班给你公式吧

好的啊!浪费你这么多时间,很不好意思啊~~谢谢你!
回复

使用道具 举报

 楼主| 发表于 2017-3-30 11:36 | 显示全部楼层
tgydslr 发表于 2017-3-29 16:42
呵呵,早说明白,该下班了,明天上班给你公式吧

你好,今天有答案了吗?
回复

使用道具 举报

发表于 2017-3-30 15:04 | 显示全部楼层
本帖最后由 tgydslr 于 2017-3-30 15:07 编辑
lbport 发表于 2017-3-30 11:36
你好,今天有答案了吗?

  1. =MAX(IF(ROW(1:5000)-1<TRANSPOSE(ROW(3000:5000)),SUBTOTAL(1,OFFSET(B1,ROW(1:5000)-1,,TRANSPOSE(ROW(3000:5000))))))
复制代码
这是求得的最大平均值,不过这公式运行起来可是需要大内存的
呵呵,上午就没来单位
回复

使用道具 举报

发表于 2017-3-30 15:15 | 显示全部楼层
还是借助代码吧,这个运行起来太慢
回复

使用道具 举报

 楼主| 发表于 2017-3-30 16:05 | 显示全部楼层
tgydslr 发表于 2017-3-30 15:15
还是借助代码吧,这个运行起来太慢

哦,那代码是?
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-7 13:45 , Processed in 0.290349 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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