【问题标题】:excel link table range to valueexcel将表格范围链接到值
【发布时间】:2018-10-24 12:28:40
【问题描述】:

我正在寻找一种将 Excel 表格的范围链接到特定数字的方法。

假设我有一个范围为 A1:B10 的表。我想让数字“10”动态化并将其链接到从另一张表计算的数字。假设单元格 F1 包含该数字并且值为“20”。 是否可以制作动态范围,以便表格范围更改为:A1:B(F1)。然后我的表会自动适应,这必须在我的文件中工作。

我更喜欢 VBA 中的公式而不是宏,因为我通常不使用 VBA。

【问题讨论】:

  • 使用 INDEX 或 INDIRECT 公式。
  • 也就是说,我不确定您如何在没有 VBA 的情况下动态定义表。

标签: excel vba excel-formula


【解决方案1】:

另一种方法是使用动态命名范围,这是我们在表格之前所做的。下面由行军蚂蚁包围的范围定义如下:

=OFFSET(Sheet3!$A$1,0,0,Sheet3!$F$1,5)

左上角的单元格是 A1。它的行数与 F1 中的数字一样多,宽 5 列(也可以设为动态)。

【讨论】:

  • 非常感谢您的回答!我认为它现在有效!
  • 当我选择表格并转到 --> 设计 --> 更改表格大小时,我可以输入偏移公式并改变大小。但在输入后,表格大小设置为新值,与公式的连接丢失。我可以保持这个公式适用于表格大小吗?
  • 据我所知(可能不是很远,所以不要把它当作福音)是没有VBA你不能做到这一点。但是,命名范围确实涵盖了表的许多属性。因此,我认为您的选择是动态使用范围和公式或表格和 VBA。
  • 好的,谢谢您的帮助。我认为在这种情况下我需要表格/VBA,因为所有其他公式都链接到表格范围,例如:Table1[value] 所以如果我不使用表格,连接就会丢失
  • 好的,在这种情况下,我建议您发布一个新问题。
【解决方案2】:

是的,间接是您使任何公式动态/依赖于其他单元格值的方式。

假设你想对范围 A2:C2 求和。但是C 的值2 位于单元格G2

=SUM(INDIRECT("A2"&":C"&G2)) 

这等于在下面的示例中写=SUM(A2:C2)

如果您将 G2 设置为 3,它将为此 =SUM(INDIRECT("A2"&":C"&G2)) 计算 A2:C3


如果你的意思是 Excel table,我猜答案是否定的公式,可能是 VBA

【讨论】:

  • 字符串连接是否可以缩短为"A2:C"&G2
  • @Jeeped,你的速度真快,我喜欢!!是的,它可以缩短为:=SUM(INDIRECT("A2:C"&G2)),好地方!!
  • 嗨@Wizhi,我明白你在告诉我什么,但这不是我要找的东西。在您的示例中:选择 A1:C2 并插入表格。在我最初的问题中,我提到了 F1,假设这个数字在你的图片中,在单元格 G2 中。我需要将 G2 中的数字链接到表格的范围,因此当数字变为 3 时,我的表格范围将更改为 A1:C3。原因是我的表格中有引用另一张表格的公式。如果这张表被展开,我想用它来展开我的表格。
  • 谢谢,那我明白了。我认为答案是否定的,不仅仅是公式。我认为您可能实现的最接近的是@SJR 解决方案,值得一试!这可能包括您要查看的范围,并且与表格的大小相同。因此范围可以随着表格的变化而改变,但它不会链接到表格本身。
猜你喜欢
  • 1970-01-01
  • 2018-01-15
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多