如何在 Offset 函数中使用引用的引用

如何在 Offset 函数中使用引用的引用

我有引用另一张表中的列标题的列标题,即在单元格中Summary!A1我有公式=sales!B1

我想将数据从单元格获取sales!B2到单元格中,Summary!A2这样如果我将单元格中的值更改为Summary!A1sales!C1它将自动从单元格中获取数据sales!C2

我在单元格中尝试了以下公式Summary!A2

=offset(indirect(Summary!A1),1,0) 

但最终却出现了#REF错误。

答案1

我已经尝试过了,你可以按照偏移函数改变它

在 Sheet1 中,A1 是销售(您要引用的工作表的名称 B1 是 A1(上表中 C1 中的单元格引用,此公式

=INDIRECT("'" &A1 & "'!"&B1)

答案会随着 A1 和 B1 中值的改变而改变。

答案2

首先是问题。在 excel 中,单元格内部对其他单元格不可见。这意味着如果我在 A1 中输入 7,在 B1 中输入 =2+5,则 c1 在其公式中使用时无法看出任何差异。

因此,您要尝试使用 A1 做两件事。从销售表中获取数据,并更改 A2 单元格的参考点。单元格是一个单独的桶,除了一些奇怪的椒盐卷饼盒外,每个单元格只能做或容纳一件事。

我们需要以不同的方式执行每个操作。需要另一个单元格的帮助,该单元格将用于选择数据源。对于此示例,$e$1 包含值 1,2,3,其中 1=B、2=C、3=D 等。

那么公式就变成

  • =OFFSET(销售额!$A$1,ROW()-1,$E$1)

采用这种方法无需使用间接方法。

要使用间接,则需要使用名称管理器,因为引用另一张表时发生 Ref 错误,该表的源单元格名称不完整。在此示例中,$f$1 包含 B、或 C 等,用作列名。在名称管理器中,为该单元格指定一个名称,如 X,则公式变为

  • =OFFSET(INDIRECT("销售额!$" & x & "$1"),ROW()-1,0)

这可以避免 Ref 问题,其工作原理与原始问题意图类似。或者可以通过将 INDIRECT("Sales!$" & x & "$1") 命名为 SData 来改进这一点。公式变为

  • =OFFSET(SData,ROW()-1,0)

不需要在名称管理器中间接命名,只需转到“销售”单元格 A1,直接将其命名为 Sdata,这样不会影响任何内容。

相关内容