以下是引用gdliyy在2005-10-11 23:51:43的发言:不可否认的是:FREQUENCY是一个统计函数。 但由于它在对第2个参数的处理方式是:先对参数2的数据进行排序,列出区间,再进行各区间进行统计,
有说得不对的地方先请gdliyy版主见凉。 我也认为FREQUENCY是一个统计函数,但偶认为gdliyy版主对FREQUENCY的第2个参数的处理方式理解有误。 请先看一下面这个公式,结果得到的是什么?=FREQUENCY({265;300;100;260},{250;300;200;150}) ,请先把答案写在一个单元格中,再试验公式结果, 看看你的答案对了吗? 对FREQUENCY的第1、2参数的处理方式,我的理解是这样的:计算到第2参数中的某个数据时,在第2参数中找到比这个数小一级的数,然后对第1参数统计,把结果存入结果数组的相应位置,再把第1参数已统计过的数据打上标记,即下次不再参与新的统计。 例如上面的公式结果是 {0;3;0;1;0} ,它的运算过程是: ·第2参数的首个数据是250,在第2参数中找到比250小一级的数200,然后在第1参数X中统计 200< X <=250 的个数,得到0,这个0对应的就是公式结果的第1个0; ·接着看第2参数的下一个数据300,在第2参数中找到比300小一级的数250,然后在第1参数X中统计 250< X <=300 的个数,得到3,这个3对应的就是公式结果的第2个数据3; ·再看下一个数据200,在第2参数中找到比200小一级的数150,然后在第1参数X中统计 150< X <=200的个数,得到0,这个0对应的就是公式结果的第2个0了; ·最后是150,在第2参数中没能找到比150小一级的数,所以取在第1参数X中统计 X <=150的个数,得到1,这个1就是公式结果中的第四个位置的1了; ·现在第2参数的所有数据都用完了,看看第1参数中还多少个没有统计到的就放到第五个位置了。 总的结果就是你看到的 {0;3;0;1;0} 了。 后话:然而计算机是怎么在第2参数中找到比当前数据小一级的数,是否对第2参数先排序再找呢?这个我就不清楚了。
[此贴子已经被作者于2006-12-13 0:02:54编辑过] |