【问题标题】:How to average every nth column in Excel?如何平均Excel中的每n列?
【发布时间】:2016-06-21 15:21:09
【问题描述】:

我在 Google 上四处寻找这个问题的答案,但大多数网站只显示如何平均或求和每 n 行(尽管我认为它们是相关的)。我尝试过使用可以为列找到的各种公式,但没有成功。 (诚​​然,我的 Excel 技能不是很成熟。)

我想获取数据集中每 6 列的平均值。有很多列需​​要平均,所以如果有一些公式可以帮助解决这个问题,那就太好了!

作为我正在使用的数据类型的示例,请参见下文。基本上,我有很多列,每列都有很多行(119),并且所有列都包含空值。我想取平均值,例如 Q1 (=10.68) 和 Q7 (=16),等等。

谢谢!

【问题讨论】:

  • =AVERAGE(IF(MOD(COLUMN(A1:L1),6)=0,A1:L1,0)) 是如何工作的? (使用 CTRL+SHIFT+ENTER 输入)。我想你会想在公式中的某个地方拉Mod()
  • 请发布示例数据和预期结果。
  • @ScottCraner 会的!

标签: excel excel-formula average


【解决方案1】:

类似于这个数组公式的东西:

=AVERAGE(IF((MOD(COLUMN($A$2:$R$12)-1,6)=0)*($A$2:$R$12<>""),$A$2:$R$12))

作为数组公式,离开编辑模式时需要使用 Ctrl-Shift-Enter 确认,而不是 Enter。如果操作正确,Excel 会在公式周围加上{}

您可能需要调整数学以获得正确的列:

【讨论】:

    【解决方案2】:

    我认为以下应该可行。

    这是您需要的: 1. SUMIF 得到每 6 列的总和 2. COUNTIF 获取列数 3. 一个“帮助行”来检查列是否是第 6 列。

    假设您要使用的第一列是第 6 列,则每 6 列 X 都有

    MOD(COLUMNS(X),6)=0
    

    所以在公式中添加一个“帮助行”

    =IF(MOD(COLUMNS("YOUR CELL");6)=0;1;0)
    

    你寻找的平均值是

    =SUMIF("HELP ROW";1;"YOUR CELLS")/COUNTIF("HELP ROW";1)
    

    【讨论】:

    • @BruceWayne 和我发现的问题是 OP 希望在每 6 列中返回多于一行。 SumIf() 仅适用于单行。
    猜你喜欢
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 2018-07-31
    相关资源
    最近更新 更多