我有这个公式:
=IFERROR(
(
(
IFERROR(INDIRECT($A6&"!$E$15");"")
+IFERROR(INDIRECT($A6&"!$E$29");"")
+IFERROR(INDIRECT($A6&"!$E$43");"")
+IFERROR(INDIRECT($A6&"!$E$57");"")
+IFERROR(INDIRECT($A6&"!$E$71");"")
+IFERROR(INDIRECT($A6&"!$E$84");"")
)
/6);"")
当这些IDIRECTS中的任何一个返回空值时,我得到一个#VALUE!错误(没有第一个IFERROR)。每条线都可以正常工作,当它们单独放入细胞时,我可以将它们平均化。如果我删除了这个公式的/ 6部分,然后用AVERAGE公式包裹行,我得到#VALUE!错误也。
我该怎么办?
编辑,解决方案(感谢Mrig):
=IFERROR(
(
(
IF(ISNUMBER(INDIRECT($A7&"!$E$15"));INDIRECT($A7&"!$E$15");0)
+IF(ISNUMBER(INDIRECT($A7&"!$E$29"));INDIRECT($A7&"!$E$29");0)
+IF(ISNUMBER(INDIRECT($A7&"!$E$43"));INDIRECT($A7&"!$E$43");0)
+IF(ISNUMBER(INDIRECT($A7&"!$E$57"));INDIRECT($A7&"!$E$57");0)
+IF(ISNUMBER(INDIRECT($A7&"!$E$71"));INDIRECT($A7&"!$E$71");0)
+IF(ISNUMBER(INDIRECT($A7&"!$E$84"));INDIRECT($A7&"!$E$84");0)
)/
(
COUNTIF(INDIRECT($A7&"!$E$15");">=0")
+COUNTIF(INDIRECT($A7&"!$E$29");">=0")
+COUNTIF(INDIRECT($A7&"!$E$43");">=0")
+COUNTIF(INDIRECT($A7&"!$E$57");">=0")
+COUNTIF(INDIRECT($A7&"!$E$71");">=0")
+COUNTIF(INDIRECT($A7&"!$E$82");">=0")
)
);"")
COUNTIF基本上替换原始代码中的数字“6”,并检查哪个INSNUMER(而不是IFERROR)不是空白,所以任何0%或更高(实际值)的东西都将被计算到达到真正的平均水平。
答案 0 :(得分:4)
使用评论中的上述建议,您可以使用if (process.env.NODE_ENV === 'production') {
for (const config of module.exports) {
config.devtool = '#source-map'
// http://vue-loader.vuejs.org/en/workflow/production.html
config.plugins = (config.plugins || []).concat([
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
sourceMap: false,
compress: {
warnings: false,
},
output: {
comments: false,
},
}),
new webpack.LoaderOptionsPlugin({
minimize: true
}),
new webpack.optimize.AggressiveMergingPlugin()
])
}
}
代替IF(ISNUMBER())
IFERROR()
答案 1 :(得分:3)
我开始认为你的错误'是14行所以我采用这个数组公式:
=AVERAGE(IF(MOD(ROW(E15:E84), 14)=1, IF(ISNUMBER(INDIRECT($A6&"!E15:E84")), INDIRECT($A6&"!E15:E84"))))
...但是你的错误'不是一致的14行;最后一个差距是13行,所以我将其修改为:
=AVERAGE(IF(ROW(15:84)={15,29,43,57,71,84}, IF(ISNUMBER(INDIRECT($A6&"!E15:E84")), INDIRECT($A6&"!E15:E84"))))
在丢弃文本值的同时,在空白单元格上产生真正的平均值而不进行零替换。