![如何在 Offset 函数中使用引用的引用](https://linux22.com/image/1507922/%E5%A6%82%E4%BD%95%E5%9C%A8%20Offset%20%E5%87%BD%E6%95%B0%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%BC%95%E7%94%A8%E7%9A%84%E5%BC%95%E7%94%A8.png)
我有引用另一张表中的列标题的列标题,即在单元格中Summary!A1
我有公式=sales!B1
。
我想将数据从单元格获取sales!B2
到单元格中,Summary!A2
这样如果我将单元格中的值更改为Summary!A1
,sales!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,这样不会影响任何内容。