大卫想知道是否存在一种方法,使他在插入会影响公式的列时不自动更新公式。

例如,如果他的公式为= SUM(B:B),然后在B列的左侧插入一列,则该公式将由Excel自动更新为= SUM(C:C)。他不希望公式更新。在插入新列后,他仍然希望它引用B列。

一种获得所需结果的方法是使用OFFSET函数引用B列。例如,考虑以下公式:

=SUM(OFFSET(A:A,0,1))

如果此公式在单元格中,并且在B列之前插入一列,则该公式不会更新;它仍然指向B列。为什么?

因为该公式引用A列,并且您没有做任何移动A列的操作。如果您确实在A列之前插入了一个列,则该公式将更新为引用B列。

这意味着处理公式的最佳方法是使用INDIRECT函数,方式是:

=SUM(INDIRECT("B:B"))

INDIRECT函数使用文本作为参数,由于它是文本,因此不被认为是Excel更新的引用。无论插入还是删除列,该公式始终引用B列。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3392)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:

链接:/ excelribbon-Stopping_a_Formula_from_Updating_References [从更新引用中停止公式]。