【问题标题】:Excel Linest function to handle patchy data?Excel Linest 函数来处理不完整的数据?
【发布时间】:2018-01-23 16:41:02
【问题描述】:

我有一组数据,我尝试从中提取线性函数。如果我绘制散点图,我会得到一个可以显示的不错的函数,但随后需要手动从显示的方程中提取斜率和截距。

Linest() 应该可以帮助我,但是,只要包含 #NA 或空单元格,我就会收到 #VALUE 错误。我该如何处理这个问题?我尝试包含 iferror 并使用数组函数但没有成功

谢谢

【问题讨论】:

  • @pnuts 是的,但是我需要阅读它并将其输入到代码中。我想要新的数据来更新函数参数并自动更新模型。
  • 使用SLOPEINTERCEPT 函数。

标签: excel regression


【解决方案1】:

我认为您应该能够通过使用数组公式并检查值是否为数字来解决空白/错误。

例如,如果我已知的 y 是: 12, 22, , 53, 78

它们在单元格 E7:E11 中

那么我可以使用下面的公式:

{=LINEST(IF(ISNUMBER(E7:E11),E7:E11,E7))}

当您按 Ctrl + Shift + Enter 确认数组公式时,会自动添加大括号

这导致梯度为 16.3,相当于添加到上面数据的散点图中的趋势线的梯度

如果有帮助请告诉我

【讨论】:

  • 嗨麦克霍布!感谢您的帮助,我正在使用 iferror 但 if(isnumber()) 确实有效。但是,我希望这个公式包含一系列空白单元格,因此用户可以在将来输入更多数据并更新斜率/截距。 Isnumber() 将返回 FALSE,但结果会随着包含 {=INDEX(LINEST(IF(ISNUMBER(B35:BA35),B35:BA35,B35),IF(ISNUMBER(B10:BA10), B10:BA10,B10)),1)} 的空白单元格的变化而发生变化,这与将范围仅扩展到 M 列而不是 BA 时产生的斜率不同。
  • 另外,如果第一个单元格为假,为什么返回值是? (在您的示例中为 E7)
【解决方案2】:

这个问题最简单的解决方案(但肯定不是最好的)是创建另一行检查错误并相应地包含TRUEFALSE。 (以下示例中的B11:BA11。)

if 函数然后评估是否要使用该数字。如果不是,则将其替换为所有值的average 以给出近似值。

{=SLOPE(IF(B11:BA11,B36:BA36,AVERAGE(IF(B11:BA11,B36:BA36,""))),IF(B11:BA11, B10:BA10,AVERAGE(IF(B11:BA11,B10:BA10,""))))}

【讨论】:

    猜你喜欢
    • 2017-10-21
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 2011-06-13
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    相关资源
    最近更新 更多