【问题标题】:Evaluation of function AVERAGE caused a divide by zero error函数 AVERAGE 的评估导致除以零错误
【发布时间】:2020-01-10 09:52:06
【问题描述】:

Google sheets中,我只是通过Data Validation输入以下值。

google sheet 中输入值范围后,将如下所示:

从上图看:

我想取一个范围内输入的下拉值的平均值 B6 and B14.

我应用了一个公式=Average(B6,B14)。但是,它显示错误消息。

错误!

Evaluation of function AVERAGE caused a divide by zero error.

任何人都知道如何解决它。提前致谢!

【问题讨论】:

    标签: arrays regex google-sheets average google-sheets-formula


    【解决方案1】:

    您可以使用以下公式:

    =AVERAGE(ARRAYFORMULA(REGEXEXTRACT(B6:B14, "\d+")*1))
    

    说明

    =REGEXTRACT() 函数将为给定字符串提取regular expression 的第一个匹配项。在这种情况下,将提取第一个数字链。

    然后,函数的结果乘以1。这样做是为了将=REGEXTRACT()的结果类型从字符串转换为数字,以便我们之后可以计算平均值。

    =REGEXTRACT(),默认情况下,对单个字符串进行操作 - 但不能同时对多个单元格进行操作。出于这个原因,我们必须用=ARRAYFORMULA() 包装调用,这将允许使用范围作为参数调用它。

    最后,=AVERAGE() 函数被调用。

    处理空单元格

    对于前面的响应,给定一个范围,其中至少有一个单元格为空/不符合=REGEXTRACT() 调用中指定的正则表达式,将返回错误。我们有两种主要的选择来处理这种情况:

    1. 忽略单元格。对于平均计算,单元格将被完全忽略:

      =AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, "")))
      
    2. 将单元格视为0 进行平均计算。

      =AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1, 0)))
      

    两种解决方案都使用=IFERROR() 函数。如果对 =REGEXTRACT() 的调用返回错误,则该值将分别替换为空字符串(不计入平均计算)或 0。

    【讨论】:

      【解决方案2】:

      使用这个特效:

      =ARRAYFORMULA(AVERAGE(IFERROR(REGEXEXTRACT(B6:B14; "\d+")*1)))
      

      【讨论】:

      • 函数 REGEXEXTRACT 参数 2 值“\d+”与函数 REGEXEXTRACT 参数 1 值“”的文本不匹配。现在我在应用你的公式后得到了这个。
      • 您需要使用=ARRAYFORMULA 才能在一系列单元格中使用=REGEXTRACT。试试这个修改:=AVERAGE(ARRAYFORMULA(REGEXEXTRACT(B6:B14, "\d+")*1))
      • @carlesgg97 你是对的。你成功了。它就像一个魅力!谢谢。
      • @DeepakKeynes 在这种情况下,您可以使用=IFERROR() 公式来处理这种情况。如果您希望该值根本不计入计算,您可以使用=AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1,"")))。如果您希望它被计为 0,请尝试 =AVERAGE(ARRAYFORMULA(IFERROR(REGEXEXTRACT(B6:B14, "\d+")*1,0)))。干杯
      • 嘿@carlesgg97 您可以编辑上述答案,也可以发布一个新答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多