我写过以下内容" MEDIANIF"数组公式给出了B列中对应于A列中月份的值的中位数(百分比回报)。换句话说,我想要对应于1月,2月,3月等所有值的中位数......
除1月外,此公式适用于所有月份。我已经手动验证它在所有其他月份都运行良好,但无论出于何种原因,它只会在1月份返回0。这不是格式化问题或类似的事情(一切都格式一致)。我不能为我的生活弄清楚为什么它不会在1月份工作。
=MEDIAN(IF(MONTH(Data!$A$4:$A$65536)=1,Data!$B$4:$B$65536))
我发布了一张图片,但这是我的第一篇文章,我不能发布图片,直到我有至少10个声望!
数据按日期列在A栏(当月的最后一个交易日)和百分比回报(格式为百分比)排列在B栏。
非常感谢任何帮助!
谢谢!
答案 0 :(得分:2)
Excel将空白单元格视为零(至少在此类公式中),零将被视为1月(1900年1月)的日期,因此任何空行将对1月中位数计算贡献零;这就是为什么你得到不正确的结果 - 添加另一个检查以确保单元格不是空白,即
=MEDIAN(IF(Data!$A$4:$A$65536<>"",IF(MONTH(Data!$A$4:$A$65536)=1,Data!$B$4:$B$65536)))
或者,您可以将公式限制为包含数据的行 - 如果数据量可变,可能采用动态命名范围