【问题标题】:Google Sheets: Average of every other column谷歌表格:每隔一列的平均值
【发布时间】:2021-02-22 18:21:13
【问题描述】:

我看过类似的问题,我认为我已经接近一个可行的解决方案,但它给了我错误的答案。我在 Google 表格中有一个电子表格,其中包含所有列中的数据,但每个其他单元格都包含一个美元值,我只需要这些单元格的平均值。他们从单元格 G3 开始(在此版本中)并继续通过第 3 行的大部分内容,然后我打算将公式复制到其他行,这些行中的相同单元格也需要平均,所以如果它会像我一样调整复制那将是最好的。以下是我到目前为止所做的工作:

=AVERAGEIF(ArrayFormula(mod(column(G3:3),2)),”>0”)

它返回 1 作为结果,它应该是 1500 左右。如果我将 2 更改为另一个数字,结果会随之增加,所以我认为 mod 或 column 中的某些东西做错了,但我没有有足够的练习知道我在哪里搞砸了。

【问题讨论】:

    标签: arrays google-sheets filter average mod


    【解决方案1】:

    每第二列的平均值如下:

    =AVERAGE(FILTER(G3:3, MOD(COLUMN(G3:3)-1, 2)=0))
    

    【讨论】:

    • 或 =AVERAGE(FILTER(G3:3, isodd(COLUMN(G3:3))))) 我想虽然如果 OP 想要每隔第三或第四列而不是一般。
    • 谢谢,这成功了!值得注意的是,这些空格是必要的还是只是为了便于阅读?
    • 公式中的空格不是必须的。如果您愿意,可以跳过它们
    【解决方案2】:

    关于 FILTER 功能的 TIL。谢谢各位。

    ArrayFormula 有一种方法。我想你几乎明白了。我更愿意为 AVERAGEIF 添加一个参数来指定平均范围。不知道是不是默认条件中的范围。

    我会对一列和第一列之间的差异进行取模。我猜你的问题不需要,因为所有列号都是奇数或偶数。但是使用差异是一种通用方法,可以将该概念应用于每第 n 列。

    任何列号的模 2 为 0 或 1。因此,不要使用不等式,只需使用 0 或 1。从您的公式看来,您的美元值必须在奇数列中,因此模数的结果应该是1. 但我认为,如果您从 G3 开始,那么在应用 Mod 2 之前获取列差异会将所需的结果更改为 0。但当然要切换到另一列,请将 0 更改为 1。

    =AVERAGEIF(ArrayFormula(mod((COLUMN(G3:3)-COLUMN(G3)),2)),0,G3:3)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-07
      • 1970-01-01
      • 2022-07-16
      • 1970-01-01
      • 2019-10-12
      • 2021-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多