老化验工
第36楼2011/10/14
对数据的个数是没有特别的限制条件,只是我当时设计时,考虑到分析数据一般在10个以内,所以就“信手”定了个“14”,其实,只需要改一下数据的上限就可以了,下面是“输入实验数据”按钮引发计算“动作”的原代码,注意看加红的数组“data(14)”:
Private Sub 输入实验数据_Click()
Dim data(14)
Dim n
Dim x
n = InputBox("请输入实验数据个数n=", "指定数据个数")
If n = "" Then
Exit Sub
End If
Range("C2") = n
For x = 1 To n
data(x) = InputBox("请依次输入每一个实验数据x" & x, "输入数据")
If data(x) = "" Then
Exit Sub
End If
Cells(1 + x, 2) = data(x)
Next
Range("D2") = "=AVERAGE(B2:B15)"
Range("F2") = "=AVEDEV(B2:B15)"
Range("G2") = "=AVEDEV(B2:B15)/AVERAGE(B2:B15)*100"
Range("H2") = "=max(B2:B15)-min(B2:B15)"
Range("I2") = "=max(B2:B15)"
Range("J2") = "=min(B2:B15)"
Range("K2") = "=median(B2:B15)"
Range("L2") = "=mode(B2:B15)"
Range("M2") = "=stdev(B2:B15)"
Range("N2") = "=stdev(B2:B15)/average(B2:B15)"
For x = 1 To n
Cells(x + 1, 5) = Abs(Cells(2, 4) - Cells(x + 1, 2))
Next
End Sub
如果将data(14)改为data(10000),则允许的数据个数就可达10000。这并不影响几个到十几个数据的处理,因为,系统会要求你输入你要处理的数据个数n,一般不会影响速度。当然,还必须将统计函数涉及的数据范围设宽一些,即将上面代码中的红色B15设置更大些(例如,改成B101,即统计范围为100个数.即使你只输入12个数据,此处虽然设置为B101,但计算结果与设B13、B15是相同的)。
如果你设置成B10000,虽然结果是正确的,但机器运算速度会减慢,也不太恰当。
我发一个data(10000)的修改稿给你吧,请查收。
我只改了误差计算的sheet2(允许最大输入10000个数据),显著性、可逆值取舍等没有改,因为它们涉及的数据不会很大。
flin0223
第37楼2011/10/16
谢谢大虾,收到了,很好用!