excel的VBA代码以我的方式找到四分位数和四分位数

时间:2016-02-01 12:00:43

标签: excel vba excel-vba

说我有数据1,2,3,4,5。我需要VBA代码或一些聪明的excel工作来找到中位数(3),然后根据参数找到一个和两个,或四个和五个的中位数。

如果数据是1,2,3,3,4,5,我希望找到1,2,3和3,4,5的中位数。 但是如果数据是1,2,3,4,5,我希望它忽略3,并根据参数在3的任何一侧找到数据的中位数。

我希望这是有道理的,我知道一些C#但vba和excel对我来说是新的。感谢。

1 个答案:

答案 0 :(得分:0)

我的第一个想法是你可以使用四分位数,但这并不能给出相同的答案。

如果你想忽略中间值(对于奇数个点)和中间两个值(偶数个点)你可以尝试找到这样的子范围的中位数: -

=MEDIAN(INDEX(A2:A10,1):INDEX(A2:A10,INT((COUNT(A2:A10)-1)/2)))

获得较低的中位数

=MEDIAN(INDEX(A2:A10,COUNT(A2:A10)-INT((COUNT(A2:A10)-1)/2)+1):INDEX(A2:A10,COUNT(A2:A10)))

获得上限中位数。

假设数据按升序排列。

忽略中间值但包含中间两个值: -

=MEDIAN(INDEX(A2:A10,1):INDEX(A2:A10,INT(COUNT(A2:A10)/2))) 

=MEDIAN(INDEX(A2:A10,COUNT(A2:A10)-INT(COUNT(A2:A10)/2)+1):INDEX(A2:A10,COUNT(A2:A10)))