平均excel中数据的绝对值,忽略空白(“”)单元格
Posted
技术标签:
【中文标题】平均excel中数据的绝对值,忽略空白(“”)单元格【英文标题】:Averaging the absolute values of data in excel, ignoring blank (" ") cells 【发布时间】: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(数组)公式。 【参考方案1】:适用于空单元格和包含 ="" 的单元格的非 CSE 公式是
=SUMPRODUCT(ABS(N(+A2:B5))*(A2:B5<>""))/COUNT(A2:B5)
或者因为空的或有引号的单元格对总和没有贡献,
=SUMPRODUCT(ABS(N(+A2:B5)))/COUNT(A2:B5)
See this useful answer 和this
【讨论】:
干得好,除了使用--
或+
将""
转换为0
之外,我尝试了所有方法。虽然+
我相信N()
是不需要的。
谢谢!它似乎需要 '+' 使它作为一个数组工作,并且 N() 将 "" 转换为 0,所以据我所知,这是两个不同的东西。【参考方案2】:
试试下面的数组公式:
=AVERAGE(IF(A2:B5<>"",ABS(A2:B5)))
作为数组公式,必须用 Ctrl-Shift-Enter 确认。如果操作正确,Excel 会自动在公式周围加上。
【讨论】:
我发现如果 A1 等实际包含 =“”,则 CSE 有效,但第一个给出 #value!错误 @TomSharpe 我认为在这种情况下唯一的答案是 CSE 数组公式。至少以我有限的知识,我无法使 SUPRODUCT() 工作。它是 ABS(),它不喜欢空白单元格。以上是关于平均excel中数据的绝对值,忽略空白(“”)单元格的主要内容,如果未能解决你的问题,请参考以下文章