【问题标题】:Dynamic range into standard deviation formula动态范围转化为标准差公式
【发布时间】:2018-01-16 08:41:44
【问题描述】:

我需要在 excel 中计算收益的标准差。我有一组公司的月度回报;假设 A 公司,我在 1995 年和 1996 年有 1 到 12 个月,但 1997 年只有 1 到 7 个月。我有一组 2000 家公司,它们都在同一列,我不知道如何标准化公式范围根据我那一年的月数而变化。

【问题讨论】:

  • 他们说一张照片值一千字。请展示您的数据是如何按照预期结果构建的。
  • 您可以使用带有结构化引用的表格;您可以使用动态命名范围;请展示您尝试过的方法以及遇到问题的地方。

标签: excel excel-formula range standard-deviation iif-function


【解决方案1】:

传递给STDEV 的范围可以包含空值(即,1997 年的第 8 到 12 个月),在计算标准差时会忽略这些值。我不知道行/列是如何准确排序的,但也许可以对 1995 年、1996 年和 1997 年使用相同的公式?

【讨论】:

    【解决方案2】:

    您可以使用INDEX 函数获取动态范围。例如,假设您有一个包含 2 列和 10 行的范围(这应该很容易使用公式,例如 COUNTA 来找出)

    =STDEV(INDIRECT(ADDRESS(2,1,4)&":"&ADDRESS(COUNTA(A:A),COUNTA(1:1),4)))
    

    解释:

    • ADDRESS(Row number, Column number, Reference type):这里我有 4 作为引用类型,意思是“相对”。您可以查看 Excel 帮助,看看他们还有什么。
    • ADDRESS()&":"&ADDRESS():这将给我从 A2:B10 的范围。还有其他方法,例如 OFFSET 来检索此值。
    • INDIRECT(Reference text):在上述范围 A2:B10 中,它是 Excel 无法理解的字符串,因此使用 INDIRECT 会将该字符串转换为实际范围。

    您可以在进入名称管理器或定义范围名称之前先测试此公式。希望这会有所帮助。

    【讨论】:

    • You can use INDEX function。我看不出使用INDEX 会比使用这么多易失性函数更好。 =STDEV(INDEX(A:A,2):INDEX(A:A,COUNTA(A:A)-1))
    • 是的,你是对的。 INDEX 是一种更好的方法。如果你有很多,那些不稳定的函数会减慢速度。
    猜你喜欢
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 2020-05-24
    • 1970-01-01
    • 2017-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多