以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何计算标准分 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12479) |
||||
-- 作者:bohe -- 发布时间:2011/9/5 11:12:00 -- [求助]如何计算标准分 excel计算标准分公式为100*NORMSINV((RANK(B2,B$2:B$24,1)-1)/(COUNTA(B$2:B$24)))+500
请问如何在foxtable中实现 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/9/5 11:45:00 -- 我不懂excel的函数,什么是标准分? [此贴子已经被作者于2011-9-5 11:45:10编辑过]
|
||||
-- 作者:bohe -- 发布时间:2011/9/5 14:43:00 -- 用Excel2003转换标准分的方法
用标准分来衡量学生的成绩,是现行考试中一种常见的方法。现在把原始分转化为标准分,多数是用专用的软件完成计算过程的。用Excel2002把原始分转化为标准分,具体操作说明如下。 1. 标准分的计算原理 标准分的计算原理是:对于每一个分数Xi,先算出这个分数以下的考生数占考生总数的百分比Pi,再查这个Pi对应于正态分布表中最接近的数值Zi,最后通过公式:标准分=Zi*100+500算得的。 标准分总分的计算方法是:把每位考生各科的标准分相加求和,再算出这个和以下学生成绩的学生数,除以总人数得到Pi值,再按照以上求各科标准分的方法,完成标准总分的转换过程。 2. 有关的函数 (1)Rank函数 RANK函数返回一个数字在数字列表中的排位。 RANK函数的使用格式是:RANK(number,ref,order) 其中:Number Order为一数字,指明排位的方式。 ①如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 的降序排列。 ②如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 的升序排列。 在这里,我们利用Rank函数找出每位考生的成绩进行升序排列的名次n,则在该考生成绩之下的学生便有(n-1)位,例如一位考生的成绩升序排列是第10名,显然,在这位考前面有9位考生,即在这位考生成绩之下的学生共有9名。这样,我们便能利用Rank函数算出每个分数以下考生的人数。 (2)Counta函数 Counta函数返回参数列表中非空值的单元格个数。利用函数 COUNTA 可以计算单元格区域或数组中包含数据的单元格个数。 在此,我们利用Counta函数,算出在指定的范围内,参加考试的学生人数。结合以上我们用Rank函数算出每个成绩以下的学生数,我们便能算出Pi的值。 (3)NORMSINV 函数 该函数返回标准正态累积分布函数的反函数。该分布的平均值为 0,标准偏差为 1。 ①语法NORMSINV (probability),其中:Probability是正态分布的概率值。 ②如果 probability 为非数值型,函数 NORMSINV 返回错误值 #VALUE!。 ③如果 probability < 0 或 probability > 1,函数 NORMINV 返回错误值 #NUM!。 我们利用NORMSINV函数,为我们找出正态分布表中与Pi相对应的数值Zi,其中的关系是:Zi=NORMSINV(Pi)。 3.应用举例
Pi=(RANK(D2,D$2:D$501,1)-1)/(COUNTA(D$2:D$501)。 再结合公式Zi=NORMSINV(Pi)和标准分计算公式,综合起来,就是以上我们输入的标准分转换的公式。 设置H2单元格的“单元格格式”为“数值”、“小数点位数”是0,让显示出来的标准分都是整数。用鼠标选择H2单元格,拖动填充句柄到K2单元格,这样便完成了第一位考生各科标准分的转换工作。用鼠标选择H2~K2单元格,拖动填充句柄到最后一位考生所在的行,我们便完成了所有考生单科成绩转换的工作。 在图1中,L列(“标准分之和”)是每位考生各科成绩转换成标准分后求和,这是为计算标准分做准备的,完成L列设置后,在M1单元格中输入公式: =100*NORMSINV(((RANK(L2,L$2:L$501,1)-1)/(COUNTA(L$2:L$501))))+500后回车,再选择这一单元格,拖动填充句柄到最后一行的学生即可。
[此贴子已经被作者于2011-9-5 17:17:04编辑过]
|
||||
-- 作者:紙上不談兵 -- 发布时间:2011/9/5 15:25:00 -- 文字一大堆,图片看不见. |
||||
-- 作者:bohe -- 发布时间:2011/9/5 15:44:00 -- 实质就是excel中的NORMSINV函数怎么用代码实现 |
||||
-- 作者:紙上不談兵 -- 发布时间:2011/9/5 15:48:00 -- 做个简洁的例子上来,配简洁说明 |
||||
-- 作者:bohe -- 发布时间:2011/9/5 17:20:00 -- 呵呵,这个做不出例子,做出来了问题也就解决了。
excel中的NORMSINV 函数 该函数返回标准正态累积分布函数的反函数。该分布的平均值为 0,标准偏差为 1。 ①语法NORMSINV (probability),其中:Probability是正态分布的概率值。 ②如果 probability 为非数值型,函数 NORMSINV 返回错误值 #VALUE!。 ③如果 probability < 0 或 probability > 1,函数 NORMINV 返回错误值 #NUM!。
|
||||
-- 作者:紙上不談兵 -- 发布时间:2011/9/5 18:30:00 -- 在网上搜寻了一个,不知是否你所需?俺也不知怎用. Function NormDist(ByVal x As Double, ByVal mean As Double, ByVal sd As Double) As Double \'均值mean,标准差sd的正态曲线函数
Dim res As Double = 0.0 res = 1 / sd / Math.Sqrt(8 * Math.Atan(1)) res = Math.Exp((x - mean)^ 2 / -2 / sd^ 2) * res Return res End Function |
||||
-- 作者:易服 -- 发布时间:2011/9/5 22:37:00 --
例如:某中学高(1)班期末考试,已知语文期末考试的全班平均分为73分,标准差为7分,甲得了78分;数学期末考试的全班平均分为80分,标准差为6.5分,甲得了83分。甲哪一门考试成绩比较好? 因为两科期末考试的标准差不同,因此不能用原始分数直接比较。需要将原始分数转换成标准分数,然后进行比较。 Z(语文)=(78-73)/7=0.71
标准分数 标准分数(stardard score)也叫z分数(z-score),是一个分数与平均数的差再除以标准差的过程。用公式表示为: z=(x-μ)/σ。其中x为某一具体分数, μ为平均数,σ为标准差。 [此贴子已经被作者于2011-9-5 23:19:17编辑过]
|
||||
-- 作者:bohe -- 发布时间:2011/9/6 8:26:00 -- 谢谢楼上,这是一种在原始分为正态分布状态下的计算方法,如果为偏正态,则要先进行正态化处理后才能这样计算。我想要后一种。
谢谢纸上……:你这也是统计函数,但不是我要的那种。 [此贴子已经被作者于2011-9-6 8:29:27编辑过]
|