函数 AVERAGE 的计算导致除以零错误
Evaluation of function AVERAGE caused a divide by zero error
在Google sheets
中,我只是通过Data Validation
输入了以下值。
在 google sheet
中输入值范围后,它看起来如下所示:
从上图看:
我想取介于两者之间的范围内的输入下拉值的平均值
B6 and B14
.
我应用了一个公式=Average(B6,B14)
。但是,它显示错误消息。
错误!
Evaluation of function AVERAGE caused a divide by zero error.
谁知道怎么解决。提前致谢!
使用这个效果:
=ARRAYFORMULA(AVERAGE(IFERROR(REGEXEXTRACT(B6:B14; "\d+")*1)))
您可以使用以下公式:
=AVERAGE(ARRAYFORMULA(REGEXEXTRACT(B6:B14, "\d+")*1))
说明
给定字符串的 =REGEXTRACT()
function will extract the first match of a regular expression。在这种情况下,将提取第一个数字链。
之后,将函数的结果乘以1。这样做是为了将=REGEXTRACT()
的结果类型从字符串转换为数字,以便我们之后计算平均值。
=REGEXTRACT()
,默认情况下,对单个字符串进行操作 - 但不能同时对多个单元格进行操作。出于这个原因,我们必须用 =ARRAYFORMULA()
包装调用,这将允许使用范围作为参数调用它。
最后,=AVERAGE()
函数被调用。
处理空单元格
对于之前的响应,给定一个范围,其中至少有一个单元格 empty/doesn 不符合 =REGEXTRACT()
调用中指定的正则表达式,将返回错误。我们有两个主要选项来处理这种情况:
忽略单元格。平均计算将完全忽略该单元格:
=AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, "")))
将单元格视为 0
平均计算。
=AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, 0)))
两种解决方案都使用了=IFERROR()
函数。如果调用 =REGEXTRACT()
returns 出错,该值将分别替换为空字符串(不计入平均计算)或 0。
在Google sheets
中,我只是通过Data Validation
输入了以下值。
在 google sheet
中输入值范围后,它看起来如下所示:
从上图看:
我想取介于两者之间的范围内的输入下拉值的平均值
B6 and B14
.
我应用了一个公式=Average(B6,B14)
。但是,它显示错误消息。
错误!
Evaluation of function AVERAGE caused a divide by zero error.
谁知道怎么解决。提前致谢!
使用这个效果:
=ARRAYFORMULA(AVERAGE(IFERROR(REGEXEXTRACT(B6:B14; "\d+")*1)))
您可以使用以下公式:
=AVERAGE(ARRAYFORMULA(REGEXEXTRACT(B6:B14, "\d+")*1))
说明
给定字符串的 =REGEXTRACT()
function will extract the first match of a regular expression。在这种情况下,将提取第一个数字链。
之后,将函数的结果乘以1。这样做是为了将=REGEXTRACT()
的结果类型从字符串转换为数字,以便我们之后计算平均值。
=REGEXTRACT()
,默认情况下,对单个字符串进行操作 - 但不能同时对多个单元格进行操作。出于这个原因,我们必须用 =ARRAYFORMULA()
包装调用,这将允许使用范围作为参数调用它。
最后,=AVERAGE()
函数被调用。
处理空单元格
对于之前的响应,给定一个范围,其中至少有一个单元格 empty/doesn 不符合 =REGEXTRACT()
调用中指定的正则表达式,将返回错误。我们有两个主要选项来处理这种情况:
忽略单元格。平均计算将完全忽略该单元格:
=AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, "")))
将单元格视为
0
平均计算。=AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, 0)))
两种解决方案都使用了=IFERROR()
函数。如果调用 =REGEXTRACT()
returns 出错,该值将分别替换为空字符串(不计入平均计算)或 0。