【问题标题】:Average calories of "moderate" food“中等”食物的平均卡路里
【发布时间】:2015-01-09 09:06:51
【问题描述】:

我保存了一份电子表格,其中包含有关食物的热量信息。每行代表标记为 {negative, small, medium} 的产品和卡路里数。

我包含了电子表格的共享副本。

Table

Shared table

我想计算与关键字“中等”在同一行中的数字的平均值。例如,我想获得类似 (890+914+731+1159+789)/5=897 的东西。我已经尝试过 =AVERAGE(B3,B7:B10) 并且它可以工作,但是当我添加另一个产品时需要对其进行修改。

预期输出为红色。我想使用公式获得这样的输出。

提前致谢

【问题讨论】:

    标签: google-sheets formula spreadsheet


    【解决方案1】:

    也许您也可以考虑使用 AVERAGEIF(),因为该函数似乎是为以下情况而构建的:

    =averageif(A2:A; "moderate"; B2:B)
    

    【讨论】:

      【解决方案2】:

      当您插入新行时,公式将自动修改。另外,你的公式是错误的,缺少分号:

      =AVERAGE(B3; B7:B10)
                 ^
      

      【讨论】:

      • 这取决于语言环境,在某些地方它是分号,而在其他地方它只是逗号。此外,公式并不总是更新为选定的新行。
      【解决方案3】:

      您可以使用IF Statement。然后你会自动计算IF 的平均值,相应的值为moderate。这更好,因为它会起作用,如果你有 5 或 5000 Moderates

      只需使用:=AVERAGE(FILTER(B2:B10;(A2:A10="moderate")))

      【讨论】:

        【解决方案4】:

        您也可以将SUMIFCOUNTIF 一起使用,这是一个更基本的公式,虽然没有FILTER 强大,但功能一样。同样要使用无限制的 ROW,您可以删除 RANGE 第二部分的数字,这适用于任何公式,在这种情况下,您的公式将是这样的:

        =SUMIF(A2:A;"moderate";B2:B)/COUNTIF(A2:A;"moderate")

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-07-18
          • 1970-01-01
          • 2021-04-25
          • 1970-01-01
          相关资源
          最近更新 更多