我有一个表“A”,有 2 列“Foo”和“Bar”。我有一个带有结构化参考 A[Foo] 的公式。当我水平填充这个公式时,我希望引用保持 A[Foo],但现在,在第二列中,引用变为 A[Bar]。有没有办法让这个结构化的引用成为绝对的?
如果不支持,这将是令人震惊的。
示例公式:
=A[Foo]
如果表格有多个列,水平拖动它并且 Foo 改变
我有一个表“A”,有 2 列“Foo”和“Bar”。我有一个带有结构化参考 A[Foo] 的公式。当我水平填充这个公式时,我希望引用保持 A[Foo],但现在,在第二列中,引用变为 A[Bar]。有没有办法让这个结构化的引用成为绝对的?
如果不支持,这将是令人震惊的。
示例公式:
=A[Foo]
如果表格有多个列,水平拖动它并且 Foo 改变
您可以通过复制对列的引用来使引用成为绝对引用,就好像它是一个范围一样。如下所示:
A[[Foo]:[Foo]]
将 A[[Foo]:[Foo]] 放入您的公式中并拖动。引用将保留在 [Foo] 列中。请注意,您必须拖动公式。复制/粘贴不起作用。
如果您想对同一个表的同一行中的单元格进行绝对引用,这也适用。假设公式在名为“A”的表中,以下将单元格锚定在公式的同一行中。
A[@[Foo]:[Foo]]
我的网站上有一篇关于这个问题的文章和视频,我试图清楚地解释它。:)
http://www.excelcampus.com/tips/absolute-formula-references-excel-structured-table/
复制和拖动是有区别的。拖动也称为“填充”公式。在Microsoft 的支持网站上,您会找到以下说明:
移动、复制和填充结构化引用
当您复制或移动使用结构化引用的公式时,所有结构化引用保持不变。
当您填写公式时,完全限定的结构化引用可以调整列说明符,如下表中总结的系列。
所以它基本上意味着你看到的行为是设计使然。如果您希望引用是绝对的,您应该复制公式而不是拖动/“填充”它。
我也无法让Control+的drag
想法奏效。但是,通过选择原始单元格和要填充的单元格并使用Control+ R,向右填充,快捷方式似乎确实在复制而不更改跨列的结构化引用。
看来您不能将结构化引用 (.ie - A[Foo]) 设为绝对。如果你想在你的公式中使用绝对引用,那么你可以使用填充句柄,使用旧的绝对引用方法($A$2 或 $A2)
例子:
表名:DiscountPricing
A B C D
1 Item Base Price 5% 10%
2 Pencil $0.50 =[Base Price]-([Base Price]* =[5%]-([5%]*
DiscountPricing[[#Headers],[5%]]) *DiscountPricing[[#Headers],[10%]])
3 Pen $1 =$B3-($B3* =$B3-($B3*
*DiscountPricing[[#Headers],[5%]]) *DiscountPricing[[#Headers],[10%]])
有关更多信息,请参阅: http ://www.technicalcommunicationcenter.com/2011/05/31/how-to-use-structured-references-in-ms-excel/
尝试使用 INDIRECT 函数插入表名,例如;
INDIRECT("Table Name[Column Heading]")
在你的情况下,INDIRECT("A[Foo]")
现在您可以水平拖动它并且列引用保持静态!
似乎如果在复制公式时按住 Ctrl 键,它将保持静态/绝对。
听起来你还在拖动/填充,瞄准单元格的底部,而不是角落。罗斯