Excel精英培训网

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

[已解决]请教组合统计问题

[复制链接]
 楼主| 发表于 2012-2-4 18:06 | 显示全部楼层
本帖最后由 vfla 于 2012-2-4 18:23 编辑

啊...好像整明白了

谢谢老师
太感谢了,我再试试
回复

使用道具 举报

发表于 2012-2-4 19:20 | 显示全部楼层
好几万行的话,似乎应该改个思路,这样写的话,运算很海量
回复

使用道具 举报

发表于 2012-2-4 19:44 | 显示全部楼层
开辆小富康 发表于 2012-2-4 19:20
好几万行的话,似乎应该改个思路,这样写的话,运算很海量

如果数据量很大很大,
且楼主要求,只是寻找最大遗漏的最小值的话,

那么算法可以大幅度改善:

只需要寻找判断那些最大遗漏值=1的组合结果。
即,从第一行开始遍历判断,如果该行以下一行都不含有该组合,则最大遗漏值一定大于2,立即就可以退出循环了……


这样的算法改善,对于几万行的数据判断,会很有效。



回复

使用道具 举报

发表于 2012-2-4 19:45 | 显示全部楼层
开辆小富康 发表于 2012-2-4 19:20
好几万行的话,似乎应该改个思路,这样写的话,运算很海量

关于算法,我比大部分人都要强一点。


回复

使用道具 举报

发表于 2012-2-4 20:44 | 显示全部楼层
嗯。你对的。对楼主这句话我可能理解错了:第三步:从792个最大遗漏值中选出最小的值并标记它所对应的组合
回复

使用道具 举报

 楼主| 发表于 2012-2-5 19:18 | 显示全部楼层
感谢香川群子
感谢开辆小富康

看到你们的讨论,我想把关于这个问题的一些事说一下
从除夕夜我开始在几个Excel群询问请教这个问题,不过一直没能解决问题
到初三我开始在几个Excel论坛上发帖...也一直没能解决...也可能是大家一看到数据量太大计算量太大都吓着了
我在本论坛发帖的时侯,也不抱太大期望的...

一个下午上来看看发现有回复了...那时真高兴啊...
在这里特别的感谢第一个回复我帖子的蓝桥玄霜版主
在我在各论坛搜索帖子的时侯,看到不少帖子的楼主在无人解决问题绝望的时侯最后面有人回复告诉楼主"蓝桥玄霜版主已经帮你解决了..."
在这里向热心的蓝桥玄霜版主致敬!
感谢蓝桥玄霜版主!
感谢Excelpx论坛!

最最感谢的是香川群子女侠多次热心的帮助和独到的组合计算代码!
感谢香川群子女侠
感谢蓝桥玄霜版主!
感谢所有回复本帖关注本帖的朋友!
回复

使用道具 举报

 楼主| 发表于 2012-2-5 19:19 | 显示全部楼层
这个问题算是告一段落了,在这再向香川群子老师请教两个小问题

当对比数据量比较小时,很多组合一次都没有出现,所以最小的最大遗漏值还是初值0,怎样让没出现的组合不加入统计(比如没出现的组合假设其最大遗漏值为无穷大).

然后是我听说有字符串运算会让计算变慢,我尝试把zxzdylxh$字符串变量改成zxzdylxh#,可是数据量大一点就会溢出
我不大懂这个字符串到底有没有影响速度...请香川群子老师帮忙看看
回复

使用道具 举报

 楼主| 发表于 2012-2-5 19:25 | 显示全部楼层
100码组合统计.rar (356.43 KB, 下载次数: 7)
回复

使用道具 举报

 楼主| 发表于 2012-2-7 14:54 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-2-21 16:46 | 显示全部楼层
香川群子 发表于 2012-2-4 19:44
如果数据量很大很大,
且楼主要求,只是寻找最大遗漏的最小值的话,

只需要寻找判断那些最大遗漏值=1的组合结果。
即,从第一行开始遍历判断,如果该行以下一行都不含有该组合,则最大遗漏值一定大于2,立即就可以退出循环了……


其实在我的实际运用中,因为数据量巨大
各个组合的最大遗漏值都是比较大的
所以还是没法避免海量运算

老师要是有空帮忙看看有没有办法能减少运算量的方法,谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 01:55 , Processed in 0.286343 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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