谢谢你的回答,但是我还是没有弄出来,具体是这样的:

将excel中约20000个0-4之间的数据,进行以下步骤:1、将每个数据进行分类,0-1之间标记a,1-2之间标记b,2-3之间标记c,3-4之间标记d,4-5之间标记... 将excel中约20000个0-4之间的数据,进行以下步骤:
1、 将每个数据进行分类,0-1之间标记a,1-2之间标记b,2-3之间标记c,3-4之间标记d,4-5之间标记e。
2、 将所有数据按照原来的顺序从前往后每组365或者366个数分组,第1、2、3组为365个,第4组366个数,如此重复,共分为49组。
3、 统计所有数据中a、b、c、d、e的个数,并统计每一个组中a、b、c、d、e的个数。
4、 每一个组中a对应的所有数据计算平均值,同理计算b、c、d、e,计算49组。
将第一步、第三步、第四步的结果输出。
展开
 我来答
神木月樱
2010-11-19 · TA获得超过856个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:128万
展开全部
汗,这个你得自己来解决了!总不可能我帮你写代码吧?付费到是可以考虑,呵呵~~~
我可以给你提供思路,但代码你得自己写。首先你还是没有说清楚,这些数据,究竟是临时获取的,还是本来就已经存在于一个excel文件中的?如果是本来就存在于一个excel文件中的,其实连VB也不用,直接在 excel中使用VBA,就能一次性解决!如果数据是临时通过excel对象获取的,则需要使用VB代码。
解决的思路如下:
1、你先写两个函数,第一个函数用于对取得的值进行0-4之间的比较判断,根据判断,返回a-e;第二个函数用于对取得的值是a-e中的哪一个,进行判断,并累加其个数;

2、对所有数值进行从前往后(到底是从大到小?还是从小到大?无法理解)的排序,这个可以通过excel中的VBA实现,你手工操作一次,录一个宏看一下就知道了。

3、在excel中,用一个循环,对数据列的值逐个进行读取,并将读取的值传给函数一进行判断,并取得判断之后的返回值a-e;同时,用一个变量记录循环读取的次数,当等于365时,将从1-365的值设为某个颜色,然后清空变量为0,再次循环,再重设颜色,循环到第三次并设置了颜色时,即不再循环,则剩下的,就是366了
4、将取得的返回值a-e写入到数值旁边的另一列中;
5、对旁边这列,再次进行循环,从第一个值开始读取,然后将值传给函数二,对a-e的个数进行累加,同时用一个变量记录循环次数,当等于365时,即将当前累加的值,保存或者写入到excel的某个单元格中,后面操作与此相仿即可。
6、进行平均值的计算
7、最后,将所有要显示的东东,显示出来。

思路大至如此,你说得还是不太明白,而且从你所说的来看,根本不需要用VB,直接用VBA就可以全部实现你上述的所有要求。

.
来自:求助得到的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式