【问题标题】:How to create an offset formula to use the reference in a cell (the cell the formula points to), not the cell address the formula is in?如何创建偏移公式以使用单元格中的引用(公式指向的单元格),而不是公式所在的单元格地址?
【发布时间】:2017-11-06 21:13:46
【问题描述】:

我认为这很容易,但我自己没有弄清楚,也没有在网上找到现有的答案。

我设置了一个工作表,用于根据表格中某些单元格的内容创建图表。我希望能够将一个单元格指向另一个工作表中的值,并使用一个单元格中的公式作为地址参考,让所有相关单元格填充值。

例如,如果我将公式 ='Source Data'!G19 放在单元格 E3 中,我希望它下面的单元格 E4 表现得像它有公式 ='Source Data'!G20(在 Source 下面的一行数据工作表)并填充该值,而右侧的单元格 F3 的行为就像它具有公式 ='Source Data'!H20 一样。因此,新的工作表将只镜像源数据工作表中的数据表,其中包含我需要的尽可能多的列或行。

我试图用偏移、间接、匹配和地址函数来解决这个问题,但失败了。

请务必注意,公式需要能够识别实际的单元格地址,而不仅仅是匹配公式中的值,因为相同的值会在源数据工作表中多次显示。

非常感谢任何帮助或指导。

【问题讨论】:

  • 当您复制单元格E3 并粘贴到其他单元格时,会自动发生这种转变。简而言之,您希望在更改E3 中的公式时自动触发此自动填充机制?我没有看到没有 VBA(或其他 Excel 自动化语言)的方法。
  • 感谢您的回复。既然我发了帖子,我想知道是否可以使用 =formulatext 函数或其他函数从公式中只提取列和行引用(即只提取“G”和“19”从公式 ='Source Data'!G19 然后我可以让它增加一列或多行。我只是尝试使用 =formulatext 和 =right() 函数,但由于我不能合作的原因它不合作想不通。

标签: excel


【解决方案1】:

这是我的方法: 我有一个包含 2 个电子表格 Source DataResults 的工作簿,在 Source Data 上,我有一个“静态”表,其中包含从 A1D12 的所有值(这可以是任意数量的单元格,如只要您在Results 表中使用相等的范围)。

Results 上,单元格A1 保留给来自Source Data 的“引导”单元格,格式如下:''Source Data'!A1(请注意乞求处的两个单引号)。我选择从Results 表上的单元格B2 开始,您可以随意切换公式。

B2 上使用以下公式可以达到预期的结果:

=IF(CELL("contents",OFFSET(INDIRECT($A$1),ROW(B2)-2,COLUMN(B2)-2))<>0,CELL("contents",OFFSET(INDIRECT($A$1),ROW(B2)-2,COLUMN(B2)-2)),"")

然后将Source Data上存在的最大单元格数向下和向右拖动,结果将相应调整。

我准备了一份包含所有信息的 Google 表格 document

【讨论】:

  • 这太棒了...非常清晰的解释,只需稍作修改即可在我自己的工作表中工作。一个问题......是否可以修改公式,以便我能够在之后对 RESULTS 工作表进行排序?我想维护指向 SOURCE DATA 的链接(如果我需要更新它),但在 RESULTS 工作表中创建排序图。我猜这可能涉及将 B2 复制到我需要它起作用的单元格中后将其变为绝对引用 ($B$2)。对吗?还是有其他方法?提前致谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多