6

我有一个表“A”,有 2 列“Foo”和“Bar”。我有一个带有结构化参考 A[Foo] 的公式。当我水平填充这个公式时,我希望引用保持 A[Foo],但现在,在第二列中,引用变为 A[Bar]。有没有办法让这个结构化的引用成为绝对的?

如果不支持,这将是令人震惊的。

示例公式:

=A[Foo]

如果表格有多个列,水平拖动它并且 Foo 改变

4

7 回答 7

7

您可以通过复制对列的引用来使引用成为绝对引用,就好像它是一个范围一样。如下所示:

A[[Foo]:[Foo]]

将 A[[Foo]:[Foo]] 放入您的公式中并拖动。引用将保留在 [Foo] 列中。请注意,您必须拖动公式。复制/粘贴不起作用。

如果您想对同一个表的同一行中的单元格进行绝对引用,这也适用。假设公式在名为“A”的表中,以下将单元格锚定在公式的同一行中。

A[@[Foo]:[Foo]]

我的网站上有一篇关于这个问题的文章和视频,我试图清楚地解释它。:)

http://www.excelcampus.com/tips/absolute-formula-references-excel-structured-table/

于 2013-05-08T22:14:05.553 回答
5

复制和拖动是有区别的。拖动也称为“填充”公式。在Microsoft 的支持网站上,您会找到以下说明:

移动、复制和填充结构化引用

当您复制或移动使用结构化引用的公式时,所有结构化引用保持不变。

当您填写公式时,完全限定的结构化引用可以调整列说明符,如下表中总结的系列。

所以它基本上意味着你看到的行为是设计使然。如果您希望引用是绝对的,您应该复制公式而不是拖动/“填充”它。

于 2008-12-12T20:59:05.750 回答
2

我也无法让Control+的drag想法奏效。但是,通过选择原始单元格和要填充的单元格并使用Control+ R,向右填充,快捷方式似乎确实在复制而不更改跨列的结构化引用。

于 2012-01-24T11:19:52.723 回答
1

看来您不能将结构化引用 (.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/

于 2011-12-28T00:20:52.863 回答
1

尝试使用 INDIRECT 函数插入表名,例如;

INDIRECT("Table Name[Column Heading]")

在你的情况下,INDIRECT("A[Foo]")

现在您可以水平拖动它并且列引用保持静态!

于 2015-02-20T20:13:29.810 回答
0

似乎如果在复制公式时按住 Ctrl 键,它将保持静态/绝对。

http://office.microsoft.com/en-us/excel/HA101556861033.aspx

于 2008-12-12T20:43:02.303 回答
0

听起来你还在拖动/填充,瞄准单元格的底部,而不是角落。罗斯

于 2009-04-27T09:37:57.323 回答