如何在 Excel 中根据公式指定列范围?

如何在 Excel 中根据公式指定列范围?

我正在尝试根据一列数据计算公式,并且想根据相邻单元格中的数字选择该列。以下是我想要执行的操作的简化示例:

在此处输入图片描述

假设我试图根据 A 列中的组号来查找每列的总和。我应该在单元格 B2 中输入什么公式来指定我想要查看单元格 A2 中指示的列,而无需硬编码我想要获取 D2:D11 的总和?我确信有一个简单的解决方案,但我无法弄清楚。

答案1

要使用的函数

让我使用两个函数向您展示这一点。我们将使用:

=MATCH(lookup_value, lookup_array, [match type])

=OFFSET(reference, rows, columns, [height], [width])

如何使用它们

因此,我已经设置了一个像你这样的工作表来开始:

在此处输入图片描述

我首先要找到要使用的列。就我而言,我使用了“辅助”列。在该单元格中,我输入了:

=MATCH(A3,D1:H1,0)

这只是检索与 D 列相关的列索引。

从那里,您可以使用 OFFSET 函数根据输入移动所选行/列。在我们的例子中,我们只移动这么多列,因此我们将使用以下内容:

=SUM(OFFSET(D2:D6,0,B2-2))

请注意,对于 OFFSET,第二个参数为 0,因为我们根本不会按行移动所选内容。第三个参数是 B2-2,它引用我们的辅助列。D2:D6 是原始选择,选择将根据列或行参数中的内容移动到该选择。

组合公式

当然,所有这些都可以在一个函数中完成(在一个大公式中),如下所示:

=SUM(OFFSET(D2:D6,0,MATCH(A3,D1:H1,0)-2))

我总是发现将长公式分解成块有助于理解它们的工作原理。

相关内容