如何按数字获取列

如何按数字获取列

我想做的是

=AVERAGE(col(2)2:col(2):5, col(5)2:col(5):5,, col(9)2:col(9):5)

如您所见,B2我没有使用 来引用单元格,而是将其替换B为虚构的col(2)数字 2 = B

这可能吗?

上下文(如果有帮助):

我有一些像这样的数据(这是调查的结果)

        A        B        C        D
1       ID        Q1       Q2       Q3
2       1         3        1        2
3       2         4        5        4

在这种情况下,Q = 问题,数字是给予该问题的分数。

我想根据特定列计算平均值。在本例中,我只想计算 B 列和 D 列的总数。

我知道如何使用 来做到这一点average,但我遇到的一个问题是如何通过数字来获取列!如您所见,B 是问题 1,C 是问题 2,D 是问题 3(一直到 AZ)。

我确实考虑过增加一行来表示问题

        A        B        C        D
1                1        2        3 
2      ID        Q1       Q2       Q3
3      1         3        1        2
4      2         4        5        4

然后也许会用match,但我太迷茫了,不值得在这里分享我尝试过的方法

答案1

要按数字平均某些列,可以使用INDEX带有数组参数的columns

例如在您的示例中:

=AVERAGE(INDEX($A2:$D2,1,{2,4}))

将计算第 2 列和第 4 列的平均值

如果列号是随机的,则需要将它们硬编码为数组常量,正如我所示;如果存在数学关系,则使用公式可能更方便地生成列号数组。

由于INDEX仅返回相关列,因此您可以使用任何以数组作为参数的函数。

早些时候Excel 版本可能需要不同的公式,因此如果此方法不适合您,请回复并说明它无法执行的操作(或错误消息)。

在此处输入图片描述

相关内容