【问题标题】:Averaging the absolute values of data in excel, ignoring blank (" ") cells平均excel中数据的绝对值,忽略空白(“”)单元格
【发布时间】:2016-04-07 21:05:16
【问题描述】:

我正在用 excel 构建一个预测方法比较工具。我必须使用 excel 来完成这个特定的任务。我需要比较不同类型的误差(MAE 平均绝对误差、RMSE 均方根误差等)以显示哪种方法效果最好。

我的错误(残差)组织如下:

Column 1   Column 2
  -0.5       1.2
  1.5        -1
   ""        ""          #  <==== here is what is causing the issue
   0.2       1.5

问题是有时数据集没有完全填充,如果没有活动,我已经内置了返回“”的“if”语句(我可以从“if”语句中得到一个空白单元格)在某个日期。 这不会导致计算平均误差或 RMSE 或预测时出现问题。

我尝试了以下公式(使用 ctrl+shift+enter 进行数组公式):

=average(abs(DATA-RANGE))
=sum(abs(DATA-RANGE))/count(DATA-RANGE) # I calculated the count in another cell

如果不是包含“”的单元格,我相信这些会起作用(根据在另一个地方找到的解决方案)

有什么想法吗?电子表格已经很大,我想在不创建新列的情况下执行此操作(即,创建一个新的 abs(DATA) 列来计算平均值)。

我也想在没有任何 VBA/宏的情况下制作它 - 它需要让除了简单的 excel 公式之外什么都不知道的人可以访问。

谢谢!

编辑 1: Here I have tried both Scott and Tom's method with my data. Both work! I even tried removing some of the formulas that provide the "" (so that true blank spaces were there), and it did not return #VALUE in either method. The formula in the edit box is what is being used to calculate the errors. Much obliged!

【问题讨论】:

  • 我不知道该选择哪个答案,两者都有效!我想我会把它交给汤姆使用非 CSE(数组)公式。

标签: excel excel-formula average forecasting absolute-value


【解决方案1】:

适用于空单元格和包含 ="" 的单元格的非 CSE 公式是

=SUMPRODUCT(ABS(N(+A2:B5))*(A2:B5<>""))/COUNT(A2:B5)

或者因为空的或有引号的单元格对总和没有贡献,

 =SUMPRODUCT(ABS(N(+A2:B5)))/COUNT(A2:B5)

See this useful answerthis

【讨论】:

  • 干得好,除了使用--+"" 转换为0 之外,我尝试了所有方法。虽然+ 我相信N() 是不需要的。
  • 谢谢!它似乎需要 '+' 使它作为一个数组工作,并且 N() 将 "" 转换为 0,所以据我所知,这是两个不同的东西。
【解决方案2】:

试试下面的数组公式:

=AVERAGE(IF(A2:B5<>"",ABS(A2:B5)))

作为数组公式,必须用 Ctrl-Shift-Enter 确认。如果操作正确,Excel 会自动在公式周围加上{}

【讨论】:

  • 我发现如果 A1 等实际包含 =“”,则 CSE 有效,但第一个给出 #value!错误
  • @TomSharpe 我认为在这种情况下唯一的答案是 CSE 数组公式。至少以我有限的知识,我无法使 SUPRODUCT() 工作。它是 ABS(),它不喜欢空白单元格。
猜你喜欢
  • 2018-11-20
  • 2011-04-19
  • 2021-02-17
  • 1970-01-01
  • 1970-01-01
  • 2020-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多