
哪位大神能解释下公式意思,谢谢
这是一个求中位数(也称“中值”)的公式。
对于有限个数的数集,可以通过把所有数进行排序后找出中位数。如果数据的个数是奇数,位于正中间的一个数即为中位数。如果数据的个数是偶数,通常取最中间的两个数的平均值作为中位数。中位数把数集分成两部分,一半的数比它大,一半的数据比它小。
公式=MEDIAN(0,2-IF(E$8>E4,INT(100*(E4-E$8)/E$8)*(-0.5),INT(100*(E4-E$8)/E$8)*1),2)实际上就是3个数求中位数。其中,已知的数是0和2,中间这个数根据E4、E8计算出来,即
2-IF(E$8>E4,INT(100*(E4-E$8)/E$8)*(-0.5),INT(100*(E4-E$8)/E$8)*1)
其中的IF通过E4、E8的大小关系,选择性计算,如果E8>E4,返回值INT(100*(E4-E$8)/E$8)*(-0.5),否则返回值INT(100*(E4-E$8)/E$8)*1。
另外值得一提的是,因为是3个数求中位数,
如果2-IF(E$8>E4,INT(100*(E4-E$8)/E$8)*(-0.5),INT(100*(E4-E$8)/E$8)*1)<=0,中位数恒为0;
如果2-IF(E$8>E4,INT(100*(E4-E$8)/E$8)*(-0.5),INT(100*(E4-E$8)/E$8)*1)>=2,中位数恒为2;
当0<2-IF(E$8>E4,INT(100*(E4-E$8)/E$8)*(-0.5),INT(100*(E4-E$8)/E$8)*1)<2时,中位数才是浮动的,即根据第二个数的变化而变化,实际上就是2-IF(E$8>E4,INT(100*(E4-E$8)/E$8)*(-0.5),INT(100*(E4-E$8)/E$8)*1)的值。
以上,希望能帮上忙!