如果表发生更改,如何锁定公式范围?

时间:2019-09-05 15:16:28

标签: excel excel-formula

例如,如果我正在处理一个与Access查询链接的表,该查询将不断更新,并且从40个单元格的长度更改为60个单元格,再改为10个单元格:

我希望公式单元格的范围保持在A:1到A:100的范围内。

以下是我正在使用的公式:

for ... in

当前,更新此表时,范围会随着表的长度不断变化,如何锁定公式范围

2 个答案:

答案 0 :(得分:1)

像这样锁定您的单元格:

=(CONCATENATE(TEXT(MIN(Tab1!$D$1:$D$100),"M/DD/YY")," - ",TEXT(MAX(Tab1!$D$1:$D$100),"M/DD/YY")))

通过将单元格引用括在“ $”中,在您拖动公式时不会调整大小或移动。

答案 1 :(得分:0)

如果您的公式引用的是表(实际表)而不使用表列名(例如=max(Tabel1[Test])),则无论您使用绝对还是相对单元格,您的Tab1!D1:D100引用都会增加/减少参考。

因此,正确的方法是引用实际的表列,或者如果您真的只想知道第100行(即使表增长到100行以上),则可以使用INDEX引用特定范围的单元格,例如:...(Tab1!$D$1:INDEX(Tab1!$D:$D,100))...


示例

  • 一些小桌子可以使用:

enter image description here

  • 另一个标签中的公式:

    =MAX(Tab1!$D$1:$D$11)
    
  • 现在将Tab1中的表向下拖动几行,您会注意到公式已更改,例如4行将导致:

    =MAX(Tab1!$D$1:$D$15)
    
  • 为防止这种情况,您可以引用表格列,例如:

    =MAX(Tabel1[Test])
    
  • 或者如果您不希望在表超过100行时获取值,请使用INDEX将范围“锁定”,例如:

    =MAX(Tab1!$D$1:INDEX(Tab1!$D:$D,100))