Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3719|回复: 18

[已解决]用VBA能否完成函数公式效果(编排)

[复制链接]
发表于 2011-12-16 14:15 | 显示全部楼层 |阅读模式
编排.rar (5.43 KB, 下载次数: 37)
 楼主| 发表于 2011-12-16 21:16 | 显示全部楼层
困扰很长一段时间了,希望能得到大家的帮助。谢谢!
回复

使用道具 举报

发表于 2011-12-17 10:49 | 显示全部楼层
表1设定4道,表2 却出现了8道,为什么?
表2公式最多只能3组,是否要考虑更多组?
回复

使用道具 举报

发表于 2011-12-17 10:51 | 显示全部楼层
zjdh 发表于 2011-12-17 10:49
表1设定4道,表2 却出现了8道,为什么?
表2公式最多只能3组,是否要考虑更多组?

高手能不能帮我解决下这个问题http://www.excelpx.com/thread-213941-1-1.html
回复

使用道具 举报

 楼主| 发表于 2011-12-17 13:32 | 显示全部楼层
本帖最后由 c888 于 2011-12-17 13:58 编辑
zjdh 发表于 2011-12-17 10:49
表1设定4道,表2 却出现了8道,为什么?
表2公式最多只能3组,是否要考虑更多组?


谢谢!是这样的:800M以上的项目道次数是100M,200M,400M的两倍。
100M,200M,400M这三个项目组别函数公式是:=IF(B2=0,"",IF(COUNTIF(B:B,B2)<='1'!$D$16,1,IF(COUNTIF(B:B,B2)<='1'!$D$16*2,IF(COUNTIF(B$2:B2,B2)>ROUNDUP(COUNTIF(B:B,B2)/2,),2,1),IF(COUNTIF(B$2:B2,B2)<=ROUNDUP(COUNTIF(B:B,B2)/3,),1,IF(COUNTIF(B$2:B2,B2)<=ROUNDUP((COUNTIF(B:B,B2)-ROUNDUP(COUNTIF(B:B,B2)/3,))/2+ROUNDUP(COUNTIF(B:B,B2)/3,),),2,3)))))。如果这些项目参赛人数为24人,根据条件4道,这个组别应该为6组。现在这个函数只计算到3组。这个函数公式如何改。
而800M由于道次是两倍的关系,表中的函数公式可以使用:=IF(B2=0,"",IF(COUNTIF(B:B,B2)<='1'!$D$16*2,1,IF(COUNTIF(B:B,B2)<='1'!$D$16*4,IF(COUNTIF(B$2:B2,B2)>ROUNDUP(COUNTIF(B:B,B2)/2,),2,1),IF(COUNTIF(B$2:B2,B2)<=ROUNDUP(COUNTIF(B:B,B2)/3,),1,IF(COUNTIF(B$2:B2,B2)<=ROUNDUP((COUNTIF(B:B,B2)-ROUNDUP(COUNTIF(B:B,B2)/3,))/2+ROUNDUP(COUNTIF(B:B,B2)/3,),),2,3)))))。
谢谢指教!
编排.rar (7.27 KB, 下载次数: 3)
回复

使用道具 举报

发表于 2011-12-17 13:52 | 显示全部楼层
不是不理解你的公式,是你没理解我的提问,你在表1设置了4道,那表2应该排到4道为止吧,为何又为8道,同理于800M以上。
回复

使用道具 举报

发表于 2011-12-18 20:49 | 显示全部楼层
你试试:
编排.rar (12.41 KB, 下载次数: 9)
回复

使用道具 举报

 楼主| 发表于 2011-12-18 21:55 | 显示全部楼层
zjdh 发表于 2011-12-18 20:49
你试试:

zjdh师,您好!非常感谢您在百忙中帮我写了这段复杂代码。就是这样效果。刚才试了下,非常完好。再次感谢!!!
有个问题还需请教您:
       以表1设置4道为例:当一个项目(100M为例)人数为24人时(最大值),运行后得组别为6,各组人数刚好是都4人(正解)。问题在于,如果人数为22人时,得到的组别也是6,但各组人数却为:4,4,4,4,4,2。这不符合竞赛分组规则。正确的分组人数应该是:4,4,4,4,3,3。简单地说就是,各组人数需均等,如果不刚好时,由最后一组向前递减1人。
      人数以F列的号码为准。
      不知这个问题能否解决。谢谢指教!
     这个问题只有跑类项目才有,其他都非常好。
谢谢。
回复

使用道具 举报

发表于 2011-12-19 08:27 | 显示全部楼层
本帖最后由 zjdh 于 2011-12-19 08:45 编辑

你再试试:
编排2.rar (14.1 KB, 下载次数: 2)
回复

使用道具 举报

 楼主| 发表于 2011-12-19 10:31 | 显示全部楼层
本帖最后由 c888 于 2011-12-19 10:39 编辑
zjdh 发表于 2011-12-19 08:27
你再试试:


谢zjdh师的大力帮助!
刚才试了一下,有几个地方出现问题:
1、400M以下项目:
(1)、4道:当人数为9,13,17时,分组人数出现不均;
(2)、6道:当人数为13,14,15,19,20,21时,分组人数出现不均;
(3)、8道:当人数为17,21时,分组人数出现不均。
2、800M以上项目:
            4道:当人数为17,18,19,20,21时,分组人数出现不均。
不知何因,谢谢指教!  
提示:1、人数以号码为准;           
           2、单组人数=总人数/组别。当人数无法除整时,以最后一组向前递减,各组人数最多只能相差1人。

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 11:24 , Processed in 0.380034 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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