在 Excel 中需要不同的“INDIRECT”函数

在 Excel 中需要不同的“INDIRECT”函数

我有一个电子表格,其中有大约 16 个使用范围的方程式。

我希望能够复制数据和方程式以进行多次数据运行。不同的数据运行范围会有所不同。

我不想编辑 16 个方程中的范围,而是想将范围放在所有方程使用的单个单元格中。然后我只需编辑一次范围即可。

命名范围实际上并没有帮助,因为当我复制方程组时,命名范围也会被复制,并且我必须将所有 16 个范围编辑到不同的范围,并为每个数据实例创建新的命名范围。

INDIRECT 函数没有帮助,因为它以字符串作为输入,而不是范围。

理想情况下,我可以在单元格 X123 中放置一个范围,然后使用正常范围指定技术对其进行编辑。在我的方程式中,如果 ! 是神奇的间接运算符,我只需输入 =Average(!X123),方程式就会提供 X123 中包含的范围内单元格的平均值。

有什么好方法可以实现这个目的吗?

答案1

INDIRECT 函数没有帮助,因为它接受字符串作为输入,而不是范围。理想情况下,我可以在单元格 X123 中输入一个范围,...

我认为您对输入的内容感到困惑X123。在这里,您将以文本形式输入范围的地址。单元格的内容是字符串,而不是范围。

INDIRECT()您将通过范围引用 将此字符串传递给函数。=INDIRECT(X123)将返回 X123 的内容。

编辑:

您的评论让我意识到您可能想要一些不同的东西。我认为您正在寻找一种将间接单元格引用用作相对引用的方法,即您希望能够在 A1 中使用间接引用来引用一个内容,但在 B1 中使用时引用其他内容(上一列)。您可以使用INDIRECTOFFSETROW和的组合来实现这一点COLUMN

例如,A2:A11包含一组数据,就像一样B2:B11。在D1您将地址“A2:A11”存储为文本。

样本数据屏幕截图

因此,如果您想使用中的间接引用来查找每个数据集的平均值D1,则可以使用以下可填充公式(在D6此示例中为):

=AVERAGE(OFFSET(INDIRECT($D$1),ROW()-ROW($D$6),COLUMN()-COLUMN($D$6)))

将此公式向右填充一个单元格(E6)将得到 的平均值B2:B11。此公式的关键在于将其锚定到一个固定的参考点,$D$6在本例中。在 中D6,间接引用将完全不偏移。间接引用将偏移与您偏移 的单元格数(上/下和左/右)相同D6

相关内容